Wie kann ich Audit -Steuerelemente für Dateien festlegen, die von TrustedInstaller mit PowerShell gehören?

StackOverflow https://stackoverflow.com/questions/19842666

Frage

Ich versuche, Audit -Steuerelemente für eine Reihe von Dateien festzulegen (aufgeführt in ACLsWin.txt) gelegen in \%Windows%\System32 (zum Beispiel, aaclient.dll) Verwenden des folgenden PowerShell -Skripts:

$FileList = Get-Content ".\ACLsWin.txt"
$ACL = New-Object System.Security.AccessControl.FileSecurity

$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", "Delete", "Failure")
$ACL.AddAuditRule($AccessRule)
foreach($File in $FileList)
{
    Write-Host "Changing audit on $File"
    $ACL | Set-Acl $File
}

Wann immer ich das Skript ausführe, bekomme ich den Fehler PermissionDenied [Set-Acl] UnauthorizedAccessException.

Dies scheint aus der Tatsache zu kommen, dass der Eigentümer dieser Dateien ist TrustedInstaller. Ich stelle diese Skripte als Administrator aus (obwohl ich auf dem integrierten Administratorkonto bin) und es fällt immer noch aus. Ich kann diese Audit -Steuerelemente mithilfe der Registerkarte Sicherheit von Hand festlegen, aber es gibt mindestens 200 Dateien, für die von Hand zu menschlichen Fehlern führen kann.

Wie kann ich herumkommen TrustedInstaller und diese Audit -Steuerelemente mit PowerShell festlegen?

War es hilfreich?

Lösung

Aus der Verwaltungsbefehlszeile (als Administrator ausgeführt):

takeown /f "Dateiname" /a

Geben Sie der Administratorengruppe das Eigentum an der Datei und ermöglichen es Ihnen, Ihr Skript auszuführen.

Möglicherweise müssen Sie auch den Befehl ICACLS verwenden, um die Berechtigungen für die Administratorengruppe hinzuzufügen oder zu ändern, nachdem Sie ihm das Eigentum an der Datei gegeben haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top