Предоставить разрешения для папки - PullRequest
0 голосов
/ 25 января 2019

Как (какую команду) я могу использовать для предоставления полномочий (full_control) пользователю (service_account) для папки, используя PowerShell?

Спасибо!

Я пыталсяиспользуйте icacls в моем PowerShell, но он не работает.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Есть несколько способов сделать это.Если вы не хотите устанавливать модуль, как предлагает Джеймс выше, тогда:

# Get current access permissions from folder and store in object
$Access = Get-Acl -Path $FolderPath
# Create new object with required new permissions
$NewRule = New-Object System.Security.AccessControl.FileSystemAccessRule("MyDomain\MyUserOrGroup","FullControl","ContainerInherit,ObjectInherit","None","Allow")
# Add new rule to our copy of the current rules
$Access.AddAccessRule($NewRule)
# Apply our new rule object to destination folder
Set-Acl -Path $FolderPath -AclObject $Access -ErrorAction Stop

Как упоминает Джеймс, использование списков ACL в Powershell без модуля, хотя и мощное, также является проблемой.Я делаю это только когда делюсь скриптами (чтобы не было зависимости от модуля).

0 голосов
/ 25 января 2019

Я бы порекомендовал использовать модуль NTFSSecurity Powershell для установки разрешений, поскольку его гораздо проще использовать (и понимать), чем acls!

Чтобы добавить разрешения для пользователя, достаточно одной команды.

Я показал два примера для сетевых путей / учетной записи домена и локальной папки / локального пользователя.Они могут быть смешаны любым способом, который вы можете установить через графический интерфейс.

Add-NTFSAccess -Path "\\sdk\data\SHAREDIR\$NAME" -Account "Domain\K_NV_TEST_R" -AccessRights FullControl

Add-NTFSAccess -Path "C:\folder\subfolder" -Account "LocalComputerName\LocalUserName" -AccessRights FullControl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...