【发布时间】:2019-05-22 13:01:29
【问题描述】:
我有一些代码将特定用户对包含所有子文件夹的文件夹的权限写入通用列表。稍后在代码中,我将打印此列表。但是,如果目录太大(4+ 文件夹,名称会被截断。我需要写下整个目录名称,而不仅仅是缩短版本。有什么我可以使用的参数吗?
Import-Module ActiveDirectory
$User = "Testumgebung\cbruehwiler"
$UserOhneDomain = $User -creplace '^[^\\]*\\', ''
$Path = "\\ESX-SHARE\File Transfer"
$List = New-Object System.Collections.Generic.List[System.Object]
$Groups = Get-ADPrincipalGroupMembership $UserOhneDomain
$From = $User
$GroupArrayList = New-Object System.Collections.ArrayList
foreach ($Group in $Groups)
{
$GroupArrayList.Add($Group.Name) | Out-Null
}
$OutputFields = @(
@{name="Item" ; expression={$_.Path.split(':',3)[-1]}}
@{name="Rights" ; expression={$Right.FileSystemRights}}
@{name="AccessType" ; expression={$Right.AccessControlType}}
@{name="From" ; expression={$From}}
)
$FileSystemObjects = Get-ChildItem $Path -Recurse | ?{ $_.PSIsContainer } | ForEach-Object {Get-Acl $_.FullName}
foreach ($Item in $FileSystemObjects) {
foreach ($Right in $Item.Access) {
if ($Right.IdentityReference -eq $User -And ($Right.IsInherited -eq $false))
{
$From = $User
$List.Add(($Item | Select-Object $OutputFields))
}
foreach ($GroupArrayItem in $GroupArrayList){
if ($Right.IdentityReference -eq ("TESTUMGEBUNG\" + $GroupArrayItem) -And ($Right.IsInherited -eq $false))
{
$From = $GroupArrayItem
$List.Add(($Item | Select-Object $OutputFields))
}
}
}
}
$List | Out-File C:\Users\cbruehwiler\Desktop\PermissionCheck.csv
$DateTime = Get-Date
$DateTime >> C:\Users\cbruehwiler\Desktop\PermissionCheck.csv
这就是结果的样子。
Item Rights AccessType From
---- ------ ---------- ----
\\ESX-SHARE\File Transfer\TestFolder\Sub_Te... FullControl Allow Testumgebung\cbruehwiler
不过我想要这样
\\ESX-SHARE\File Transfer\TestFolder\Sub_TestFolder\Sub_Sub_TestFolder
提前谢谢你
【问题讨论】:
-
您的某些代码似乎丢失了...
-
应该没那么重要。我猜这是语法问题,或者可能是 powershell 的问题。
-
这非常重要 - 如果这是您在控制台中呈现对象时看到的内容,这是意料之中的 - 字符串不会“截断”,但 PowerShell 中的格式化子系统会截断它们以使屏幕上的房间。如果您将数据导出到文本文件或 csv,您可能会发现您的字符串完好无损
-
再说一次,如何你这样做可能很重要,所以请用你运行的确切步骤和命令更新你的帖子,以获得你描述的结果
-
好的,谢谢。不知道。
标签: active-directory powershell-2.0 acl generic-list