2014-09-18 3 views
2

Я пишу сценарий PowerShell, и я хочу, чтобы часть этого списка содержала полный доступ к данной папке. Я просто не могу найти примеров того, как это сделать.Список, который имеет полный доступ к папке в PowerShell

В качестве теста у меня есть переменная с именем $ acl, которая указывает на C: \ TestFolder. Моя команда:

$acl.access | ForEach-Object { $_.FileSystemRights | Where-Object { $_ -eq 'FullControl' } } 

Это показывает:

FullControl 
FullControl 
FullControl 

как есть моя учетная запись домена, BUILTIN \ Администраторы и NT AUTHORITY \ SYSTEM. Тем не менее, я хочу, чтобы отобразить:

<my domain account> 
BUILTIN\Administrators 
NT AUTHORITY\SYSTEM 

В конце концов я буду это делать в сетевые папки на NAS моей компании, и не может быть 10s людей с полным контролем. Моя конечная цель - оценить список, чтобы узнать, является ли какой-либо из этих учетных записей членом определенной группы AD.

Пожалуйста, может кто-нибудь указать мне в правильном направлении?

Заранее благодарен,

Rob.

ответ

3

Попробуйте немного изменить свой командный запрос к следующему:

$acl.access | Where-Object { $_.FileSystemRights -eq 'FullControl' } | Select-Object { $_.IdentityReference } 

Отредактированный на предложение ниже.

+1

Вам не нужен вложенный объект Where-Object ... он будет работать без этого. Просто сделайте 'Where-Object {$ _. FileSystemRights -eq 'FullControl'}' –

+0

Хорошая находка, извините, я не обратил на это внимания. Это то, что я получаю для редактирования непосредственно из копирования из вопроса. – UtopiaLtd

+0

Это иногда меня тоже, np –

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