Powershell을 사용하여 TrustedInstaller가 소유한 파일에 감사 제어를 어떻게 설정할 수 있나요?

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

문제

여러 파일에 감사 제어를 설정하려고 합니다(다음에 나열되어 있음). 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을 사용하여 이러한 감사 제어를 설정하시겠습니까?

도움이 되었습니까?

해결책

관리 명령줄에서(관리자 권한으로 실행):

게시 중단 /f "파일 이름" /A

파일의 소유권을 관리자 그룹에 부여하고 스크립트를 실행할 수 있도록 합니다.

또한 관리자 그룹에 파일 소유권을 부여한 후 icacls 명령을 사용하여 관리자 그룹에 대한 권한을 추가하거나 수정해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top