2016-08-23 10 views
1

Я хотел бы иметь PowerShell команд, которые будут давать список папок, которые имеют IdentityReference : BUILTIN\UsersСписок папок, которые имеют IdentityReference: BUILTIN Users

Я попробовал эту команду:

Get-Acl -Path "\\nasaunr\DEPARTMENTS\*" | Select -ExpandProperty Access 

Но это предоставляет только BUILTIN\Users, а не имена папок. мне нужно все папки внутри этой папки \\nasaunr\DEPARTMENTS\*

ответ

1

Я хотел бы использовать Get-ChildItem с переключателем -Directory и -Recurse получить все каталоги рекурсивно. Затем вы можете использовать командлет Where-Object для фильтрации IdentityReference:

Get-ChildItem '\\nasaunr\DEPARTMENTS\' -Directory -Recurse | 
    Where { ($_ | get-acl | select -expand Access | select -expand IdentityReference) -contains 'BUILTIN\Users' } 
+0

спасибо Мартин, я использую его. :) Спасибо за чтение моего сообщения и ответ. – Ajsh

+0

Ваш прием. Пожалуйста, примите к сведению ответ. –

+1

Поскольку вашему коду уже требуется PowerShell v3 (когда был введен переключатель '-Directory'), вы могли бы упростить предложение' Where-Object': '(Get-Acl $ _. FullName) .Access.IdentityReference -contains ' BUILTIN \ Users'' –

 Смежные вопросы

  • Нет связанных вопросов^_^