在工作中,我们有一个有很多子文件夹的文件夹,名为"MeyerS“。(姓氏和姓氏的第一个字母)
当我查看Get-ChildItem $path | Get-Acl时,用户名等于子文件夹名。但是在"MeyerS“前面也有一个”SCHUELER“。这就是输出看起来像a.e.:SCHUELER\MeyerS Allow Write, ReadAndExecute, Synchronize
有些子文件夹没有这种用户名。现在,我想输出所有这些子文件夹没有这个用户名-“组合”。在我的第一个代码,我得到了所有的,但我真的只是想要这些具体的。
我检查了一些类似的问题,发现了一些东西。我修改了它,但是它显示了所有的子文件夹,而没有SCHUELER\MeyerS。我想我只是需要一点点的推动到正确的方向。
到目前为止,守则:
$path = "R:\HOME"
$folders = Get-ChildItem $path | where {$_.psiscontainer}
foreach ($folder in $folders){
$domain = "domname"
$aclname = "ACLname"
$aclfullname ="$domain\$aclname"
Get-Acl | select -ExpandProperty Access | where {$_.identityreference -notcontains $aclfullname}
Write-Host $folder.FullName}简短说明:我尝试了很多-noteq或-notlike的变体。
我要换什么?
如果已经有了答案,我真的不知道。
有时候用另一种语言表达自己是很困难的。我希望你明白我的意思。
谢谢。
发布于 2017-08-22 13:39:32
$path = "R:\HOME"
$folders = Get-ChildItem $path | where {$_.psiscontainer}
foreach ($folder in $folders)
{
$domain = "domname"
$aclname = "ACLname"
$aclfullname ="$domain\$aclname"
$FoldersWithAclFullName = $null
$FoldersWithAclFullName = Get-Acl -Path $Folder `
| Select-Object -ExpandProperty Access `
| Where-Object -Property IdentityReference -ne -Value $aclfullname
if ( -not $FoldersWithAclFullName )
{
Write-Host $folder.FullName
}
}https://stackoverflow.com/questions/45819077
复制相似问题