使用powershell设置文件夹权限

使用powershell设置文件夹权限,powershell,powershell-2.0,acl,ownership,Powershell,Powershell 2.0,Acl,Ownership,我正在尝试使用Get Acl和Set Acl更改文件夹所有者。问题在于,当我尝试使用.setOwner()更改对象所有者属性时,这是更改对象所有者属性的正确方法吗?我目前正在使用PS2.0 $DomainNameShort = "domain" $profileName = "user_name" $newProfileLocation = "\\server\folder" $objUser = New-Object System.Security.Principal.NTAccount("$

我正在尝试使用
Get Acl
Set Acl
更改文件夹所有者。问题在于,当我尝试使用
.setOwner()
更改对象所有者属性时,这是更改对象所有者属性的正确方法吗?我目前正在使用PS2.0

$DomainNameShort = "domain"
$profileName = "user_name"
$newProfileLocation = "\\server\folder"
$objUser = New-Object System.Security.Principal.NTAccount("$DomainNameShort\$profileName")
$objFile = Get-Acl $newProfileLocation
$objFile.SetOwner($objUser)
Set-Acl -aclobject $objFile -path $newProfileLocation
这是我得到的错误:

Exception calling "SetOwner" with "1" argument(s): "Some or all identity references could not be translated
."
At line:6 char:18
+ $objFile.SetOwner <<<< ($objUser)
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
使用“1”参数调用“SetOwner”时出现异常:“无法翻译某些或所有标识引用。”
."
第6行字符:18

+$objFile.SetOwner您的域或用户名不正确

SetOwner()
可以验证
$objuser


注意请注意,对共享(不是共享下的文件夹,而是根/共享本身)使用
设置Acl
可能会中断权限继承。

创建
ntaccount
对象时,您确定用户名和域名有效吗?错误在于,它无法验证
$objuser
中指定的帐户的存在性,该帐户在我测试时使用的是一个伪帐户,因此似乎完成了这个技巧。Thanksbe意识到在共享(不是共享下的文件夹,而是共享)上使用
设置acl
,可能会中断继承。在我的实验室里测试时发现了这一点=)提供解决方案作为答案