0
我試圖通過使用Get-Acl
和Set-Acl
來更改文件夾所有者。當我嘗試通過使用.setOwner()
來更改Get-Acl
對象時,問題在於這是更改對象所有者屬性的正確方法嗎?我目前使用PS 2.0。使用powershell設置文件夾權限
$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
任何指導,將不勝感激,謝謝。
你確定用戶名和域名在'ntaccount'對象創建時有效嗎?錯誤在於它無法驗證'$ objuser'中指定的帳戶的存在 –
這似乎是做了詭計,因爲我正在測試時使用僞帳戶。謝謝 – Richard
請注意,在SHARE(不是共享下的文件夾,而是共享文件夾)上使用'set-acl'會破壞繼承。剛剛在我的實驗室測試這個時發現了這一點=)提供解決方案作爲答案 –