Administrative Command-line(管理者として実行)から:
テイクダウン /f "filename" /a
ファイルの所有権を管理者グループに提供し、スクリプトを実行できるようにします。
また、ファイルの所有権を与えた後、ICACLSコマンドを使用して管理者グループのアクセス許可を追加または変更する必要があります。
質問
私は多くのファイルに監査制御を設定しようとしています(にリストされています ACLsWin.txt
) にあります \%Windows%\System32
(例えば、 aaclient.dll
)次の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
}
スクリプトを実行するたびに、エラーが発生します PermissionDenied [Set-Acl] UnauthorizedAccessException
.
これは、これらのファイルの所有者が TrustedInstaller
. 。私はこれらのスクリプトを管理者として実行しています(組み込みの管理者アカウントに載っていても)、それでも失敗しています。これらの監査コントロールを手作業で設定することはできますが、[セキュリティ]タブを使用して、手作業で行うことにより、少なくとも200のファイルがあります。
どうすれば移動できますか TrustedInstaller
PowerShellを使用してこれらの監査制御を設定しますか?
解決
Administrative Command-line(管理者として実行)から:
テイクダウン /f "filename" /a
ファイルの所有権を管理者グループに提供し、スクリプトを実行できるようにします。
また、ファイルの所有権を与えた後、ICACLSコマンドを使用して管理者グループのアクセス許可を追加または変更する必要があります。