PowerShell 스크립트에서 편집 된 XML 파일 저장 문제 Files\Windows Identity

C2WTS (클레임에 대한 클레임)에 대한 xml 구성 파일을 “모든 사용자”로 편집해야하지만 XML 개체를 변경 한 후에는 파일을 저장할 수없는 PowerShell 스크립트를 작성 중입니다. 다음 코드를 사용하십시오.

$xml.load("C:\Program Files\Windows Identity Foundation\v3.5\c2wtshost.exe.config")
changes here
$xml.save("C:\Program Files\Windows Identity Foundation\v3.5\c2wtshost.exe.config")

이 코드를 실행하면 오류가 발생합니다.

“1”인수로 “저장”을 호출하는 중 예외 : ” ‘C : \ Program Files \ Windows Identity Foundation \ v3.5 \ c2wtshost.exe.config’경로에 대한 액세스가 거부되었습니다.”

스크립트를 실행하는 사용자가 다음 코드로 XML 파일을 편집 할 수 있도록 ACL 설정을 시도했습니다.

$acl = Get-Acl "C:\Program Files\Windows Identity Foundation\v3.5\c2wtshost.exe.config"
$Ar = New-Object system.Security.AccessControl.FileSystemAccessRule($user,"FullControl","Allow")
$acl.SetAccessRule($Ar)
Set-Acl "C:\Program Files\Windows Identity Foundation\v3.5\c2wtshost.exe.config" $acl

그러나 다음과 같이 오류가 반환됩니다.

“Set-Acl : 무단 조작을 시도했습니다.”

XML 파일에 대한 변경 사항을 저장할 수있는 사람을 도와 줄 수 있습니까?



답변

사용중인 OS는 확실하지 않지만 Vista 커널은 설치 프로그램을 제외하고 프로그램 파일에 쓰는 것을 싫어합니다. 일부 구형 프로그램은 해당 폴더로 업데이트 등을 다운로드하려고 시도하여 실패하기 때문에 호환되지 않습니다. 나는 그것이 전반적으로 좋은 것이라고 생각하기 때문에 이유를 조사하지 않았습니다. 그러나 권한 문제가 관련되어 있다고 확신합니다. 대상 폴더 및 상위 폴더에 대한 권한을 확인 했습니까?

또한, 나는 그것이 얼마나 관련성이 있는지 모르겠지만, 파일이 어떤 것에 의해 액세스되고 있다면, 편집 할 수 없습니다. 생성 된 오류 메시지는 일반적으로 권한 문제와 유사합니다. 해당 파일에 다른 핸들이 있는지 알고 있습니까?


답변