Назад | Перейти на главную страницу

Я не могу вернуть владельца папки пользователю из моего файла bat

Следующий файл bat используется для исправления разрешений для пользователей в нашей организации. Все работает отлично, пока мы не попытаемся вернуть владельца пользователю.

takeown /F F:\Users\First.Last /R

icacls "F:\Users\First.Last" /grant:r system:(oi)(ci)f /t /c /Q
icacls "F:\Users\First.Last" /grant:r "Group admins":(oi)(ci)f /t /c /Q
icacls "F:\Users\First.Last" /grant:r "Domain admins":(oi)(ci)f /t /c /Q
icacls "F:\Users\First.Last" /grant:r "CREATOR OWNER":(OI)(CI)F /T /C /Q
icacls "F:\Users\First.Last" /grant:r First.Last:(oi)(ci)f /t /c /Q

icacls "F:\Users\First.Last" /remove:g "everyone" /T /C /Q
icacls "F:\Users\First.Last" /remove:g "administrators" /T /C /Q
icacls "F:\Users\First.Last" /remove Everyone /T /C /Q

icacls "F:\Users\First.Last" /setowner First.Last /c /t /Q

Вот строка, которая не работает в bat-файле. Он отлично работает при вводе его в командную строку:

icacls "F:\Users\First.Last" /setowner First.Last /c /t /Q

не работает в моем bat-файле.

Есть ли другой способ убрать себя?

Я применил исправление Fix201044 с веб-сайта Microsoft и получил тот же результат.

Мне удобно использовать VBScript, PowerShell, Bat.

Мне не нравится устанавливать стороннее программное обеспечение, требующее перезагрузки или бета-версии.

$HomeDir = "F:\Users\First.Last"
$objUser = New-Object System.Security.Principal.NTAccount "DOMAIN\first.last"
$ACL = Get-Acl -Path $HomeDir
$acl.SetOwner($objUser)
Set-ACL -Path $HomeDir -AclObject $ACL

Это должно установить право владения для вас, использующего Powershell. Я предполагаю, что это в среде домена