Come posso impostare i controlli di audit su file di proprietà di TrustEdInstaller usando PowerShell?

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

Domanda

Sto cercando di impostare i controlli di audit su una serie di file (elencati in ACLsWin.txt) situato in \%Windows%\System32 (Per esempio, aaclient.dll) Utilizzando il seguente script PowerShell:

$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
}

Ogni volta che eseguo lo script, ricevo l'errore PermissionDenied [Set-Acl] UnauthorizedAccessException.

Questo sembra provenire dal fatto che il proprietario di questi file lo è TrustedInstaller. Sto eseguendo questi script come amministratore (anche se sono sull'account amministratore incorporato) e non è ancora fallito. Posso impostare a mano questi controlli di audit usando la scheda Sicurezza, ma ci sono almeno 200 file per i quali fare a mano può portare a errori umani.

Come posso andare in giro TrustedInstaller E impostare questi controlli di audit usando PowerShell?

È stato utile?

Soluzione

Dalla linea di comando amministrativa (esegui come amministratore):

Takeown /F "fileName" /a

Darà la proprietà del file al gruppo di amministratori e ti permetterà di eseguire lo script.

Potrebbe anche essere necessario utilizzare il comando ICACLS per aggiungere o modificare le autorizzazioni per il gruppo di amministratori dopo averlo dato la proprietà del file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top