Chciałbym zmienić listę ACL na dysku C:
. Co ja próbuję zrobić, to usunąć uprawnienia, które użytkownik może utworzyć folder bezpośrednio na dysku. Testowałem skrypt w innym folderze podczas jego zapisywania. Działało bez problemu. Po zakończeniu wypróbowałem skrypt w naszym zestawie testowym na rzeczywistym napędzie. Dostaję błąd, którego nie mogę zrozumieć. Jeśli usuniemy uprawnienia ręcznie, działa bez problemu. Czy ktoś ma pomysł?Dlaczego Set-Acl na dysku głównym próbuje ustawić własność "obiektu"?
$path = "C:\"
$colRights = [System.Security.AccessControl.FileSystemRights]"CreateDirectories"
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::None
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::None
$objType =[System.Security.AccessControl.AccessControlType]::Allow
$objUser = New-Object System.Security.Principal.NTAccount("Authenticated Users")
$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule ($objUser, $colRights, $InheritanceFlag, $PropagationFlag, $objType)
$objACL = Get-ACL $path
$objACL.RemoveAccessRule($objACE)
Set-ACL $path $objACL
Błąd jest:
Set-Acl : The security identifier is not allowed to be the owner of this object.
At C:\Users\mhodler\Desktop\Remove Permission.ps1:57 char:8
+ Set-ACL <<<< $path $objACL
+ CategoryInfo : InvalidOperation: (C:\:String) [Set-Acl], InvalidOperationException
+ FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.SetAclCommand
Znaleziono odpowiedź. Przepraszamy za opublikowanie tutaj. Nie mam pozwolenia, aby opublikować odpowiedź na moje własne pytanie w ciągu najbliższych 4 godzin. Wymień $ objACL = Get-ACL $ path Z $ objACL = (get-item $ path) .getaccesscontrol ("Dostęp") –