向文件夹授予权限

时间:2019-01-24 22:26:32

标签: powershell

如何使用PowerShell使用(哪个命令)向文件夹中的用户(service_account)授予权限(full_control)?

谢谢!

我尝试在icacls中使用PowerShell,但无法正常工作。

2 个答案:

答案 0 :(得分:0)

我建议使用NTFSSecurity Powershell模块来设置权限,因为它比acls更容易使用(和理解)!

为用户添加权限只是一个命令。

我已经展示了两个有关网络路径/域帐户和本地文件夹/本地用户的示例。可以按照您可以通过GUI设置的任何方式来混合它们。

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

答案 1 :(得分:0)

有几种方法可以做到这一点。如果您不想按照James的建议安装模块,则:

# 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

正如James提到的那样,在Powershell中使用不带模块的ACL虽然功能强大,但也很痛苦。我只有在共享脚本时才这样做(这样就不会依赖模块)。