如何使用PowerShell
使用(哪个命令)向文件夹中的用户(service_account)授予权限(full_control)?
谢谢!
我尝试在icacls
中使用PowerShell
,但无法正常工作。
答案 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虽然功能强大,但也很痛苦。我只有在共享脚本时才这样做(这样就不会依赖模块)。