次の Powershell スクリプトを使用して、(たとえば、 )にある多数のファイル ( にリストされている) に監査制御を設定しようとしてACLsWin.txt
います。\%Windows%\System32
aaclient.dll
$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
}
スクリプトを実行するたびに、エラーが発生しますPermissionDenied [Set-Acl] UnauthorizedAccessException
。
これは、これらのファイルの所有者がTrustedInstaller
. これらのスクリプトを管理者として実行しています (ビルトインの管理者アカウントを使用していますが) が、まだ失敗しています。これらの監査制御は [セキュリティ] タブを使用して手動で設定できますが、手動で行うと人的エラーにつながる可能性のあるファイルが少なくとも 200 個あります。
TrustedInstaller
Powershell を使用してこれらの監査コントロールを回避および設定するにはどうすればよいですか?