首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell get-acl来自不等于foldername的子项

Powershell get-acl来自不等于foldername的子项
EN

Stack Overflow用户
提问于 2017-08-22 13:31:36
回答 1查看 645关注 0票数 1

在工作中,我们有一个有很多子文件夹的文件夹,名为"MeyerS“。(姓氏和姓氏的第一个字母)

当我查看Get-ChildItem $path | Get-Acl时,用户名等于子文件夹名。但是在"MeyerS“前面也有一个”SCHUELER“。这就是输出看起来像a.e.:SCHUELER\MeyerS Allow Write, ReadAndExecute, Synchronize

有些子文件夹没有这种用户名。现在,我想输出所有这些子文件夹没有这个用户名-“组合”。在我的第一个代码,我得到了所有的,但我真的只是想要这些具体的。

我检查了一些类似的问题,发现了一些东西。我修改了它,但是它显示了所有的子文件夹,而没有SCHUELER\MeyerS。我想我只是需要一点点的推动到正确的方向。

到目前为止,守则:

代码语言:javascript
复制
 $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的变体。

我要换什么?

如果已经有了答案,我真的不知道。

有时候用另一种语言表达自己是很困难的。我希望你明白我的意思。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 13:39:32

代码语言:javascript
复制
$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
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45819077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档