0

次の Powershell スクリプトを使用して、(たとえば、 )にある多数のファイル ( にリストされている) に監査制御を設定しようとしてACLsWin.txtいます。\%Windows%\System32aaclient.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 個あります。

TrustedInstallerPowershell を使用してこれらの監査コントロールを回避および設定するにはどうすればよいですか?

4

1 に答える 1

1

管理コマンドラインから (管理者として実行):

takeown /f "ファイル名" /A

ファイルの所有権を管理者グループに付与し、スクリプトを実行できるようにします。

ファイルの所有権を管理者グループに付与した後、icacls コマンドを使用して管理者グループのアクセス許可を追加または変更する必要がある場合もあります。

于 2013-11-12T19:23:51.563 に答える