Problemas para salvar um arquivo XML editado em um script do PowerShell

1

Estou escrevendo um script do PowerShell que precisa editar o arquivo de configuração xml do Serviço de Token para Declarações para o Windows (C2WTS) como "qualquer usuário", mas não consegui salvar o arquivo depois de fazer alterações no objeto XML. Usando o seguinte código:

$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")

Ao executar este código, recebo o erro:

Exception calling "Save" with "1" argument(s): "Access to the path 'C:\Program Files\Windows Identity Foundation\v3.5\c2wtshost.exe.config' is denied."

Eu tentei definir a ACL para que o usuário que está executando o script possa editar o arquivo XML com o seguinte código:

$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

mas receba um erro como:

"Set-Acl : Attempted to perform an unauthorized operation."

Alguém pode me ajudar a chegar a um ponto em que posso salvar as alterações que fiz no arquivo XML?

    
por Vermin 18.07.2011 / 10:26

1 resposta

0

Não sei qual sistema operacional você está usando, mas o kernel do Vista odeia qualquer coisa que esteja gravando em Arquivos de Programas, exceto instaladores. Alguns programas mais antigos não são compatíveis porque tentam baixar atualizações e assim por diante para essa pasta e falhar. Eu não investiguei as razões porque acredito que é uma coisa boa no geral. Mas tenho certeza de que os problemas de permissão estão envolvidos. Você já verificou as permissões na pasta de destino e seus pais?

Além disso, não sei o quanto isso é relevante, mas se o arquivo estiver sendo acessado por qualquer coisa, ele não estará disponível para edição. As mensagens de erro produzidas geralmente imitam as de problemas de permissão. Você sabe se existe outro identificador para esse arquivo?

    
por 18.07.2011 / 11:15