Как узнать, какой пользователь или группа имеет доступ к файлам / папкам в Windows?

Я хочу знать, какой пользователь или группы имеет доступ к файлам / папкам (разрешение) в Windows с помощью PowerShell?

Я попробовал это с помощью этого кода:

$Files = "D:\Akki\data\*.txt"
Get-Acl  $Files | Format-Table -property PSPath, Owner

Но это показывает только владелец файла.

2 ответа

Get-ACL возвращает объект с 3 основными свойствами Path, Owner и Access, последний из которых содержит необходимую информацию, и вы можете получить его, выполнив следующее:

 (get-acl $folder).Access.IdentityReference | select value

Это даст вам что-то вроде этого:

PS C:\users\rsosa012\Documents\Scripts\Powershell> (get-acl $a[3]).Access.IdentityReference | select value

Value
-----
NT AUTHORITY\SYSTEM
BUILTIN\Administrators
DOM\user2
DOM\user1

Данные, которые вы можете хранить в переменной и делать с ней что хотите

Я бы экспортировал результаты в CSV, чтобы упростить обработку / чтение.. попробуйте это

Get-ChildItem C:\filepath\folder -Recurse | ForEach-Object {Get-Acl $_.FullName} |Export-Csv 'C:\results.csv'
Другие вопросы по тегам