【问题标题】:Grant permissions to a folder授予文件夹权限
【发布时间】:2019-06-18 18:10:26
【问题描述】:

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

谢谢!

我试图在我的PowerShell 中使用icacls,但它不起作用。

【问题讨论】:

标签: powershell


【解决方案1】:

我建议使用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

【讨论】:

    【解决方案2】:

    有几种方法可以做到这一点。如果您不想像上面 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,虽然功能强大,但也是一种痛苦。我只在共享脚本时才这样做(这样就不会依赖于模块)。

    【讨论】:

      猜你喜欢
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多