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


1

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 파일에 대한 변경 사항을 저장할 수있는 사람을 도와 줄 수 있습니까?

답변:


0

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

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


OS는 Windows Server 2008 R2이며 파일에는 관리자 및 사용자에 대한 보안 설정이 있습니다. 관리자는 모든 권한을 갖지만 사용자에게는 읽기 및 실행 세트 만 있습니다. Set-ACL이 파일을 수정할 수있는 cmdlet이라고 생각 했습니까?
Vermin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.