通过Powershell更改文件的文件权限

时间:2019-03-22 14:53:06

标签: windows powershell file-permissions

我正在尝试通过Powershell更改文件的权限,并且在弄清楚如何使其正常工作时遇到了麻烦。

$path1 = "\\somepath1\somefile1"
$path2 = "\\somepath2\somefile2"
$acl = Get-Acl $path1
$access_rule = New-Object System.Security.AccessControl.FileSystemAccessRule("User","Write","ContainerInherit,ObjectInherit","None","Deny")
$acl.SetAccessRule($access_rule)
$acl | Set-Acl $path2

"User"是许多用户中指定的用户组,在实际代码中被称为不同的用户。这将引发两个错误:

  

以“ 1”作为参数调用“ SetAccessRule”的异常:无法转换某些或所有标识引用。”

     

Set-Acl:无法翻译某些或所有身份参考。

然后,我尝试简化代码,本质上是尝试将一个文件的权限复制到另一个文件:

$path1 = "\\somepath1\somefile1"
$path2 = "\\somepath2\somefile2"
Get-Acl -Path $path1 | Set-Acl -Path $path2

即使这会引发错误:

  

Set-Acl:无法翻译某些或所有身份参考。

如果我正确理解了这些错误,则说明我的"User"定义不正确。我尝试通过运行"User" cmdlet来获取Get-ADUser信息,但是不能安装ActiveDirectory模块,因为我收到此错误:

  

Get-ADUser:术语“ Get-AdUser”未被识别为cmdlet的名称,.........

我现在的主要问题是,如何获取用户SID信息以正确更改文件的权限?我在某处错过了一步吗?有没有更好的方法来更改文件权限?我什至可以尝试更改组的权限吗?我碰壁了,想找到解决办法,大声笑。

我查看了以下资源以寻求帮助:

link link link link link link link link

0 个答案:

没有答案