As informações a seguir funcionaram para mim ao editar um arquivo web.config em um diretório virtual do site padrão e tentar visualizar e alterar a seção appSettings:
#List all appSettings
Get-WebConfigurationProperty -pspath "iis:\Sites\Default Web Site\VirtualDir" -filter "/appSettings/add" -name *
#Update specific appSetting
Set-WebConfigurationProperty -pspath "iis:\Sites\Default Web Site\VirtualDir" -filter "/appSettings/add[@key='SomeKey']" -name value -Value "SomeValue"
Isso pressupõe uma seção padrão de configurações de aplicativos web.config como:
<configuration>
...
<appSettings>
...
<add key="TestKey" value="TestValue"></add>
...
</appSettings>
...
</configuration>
No seu caso, o valor é armazenado como um nó de texto em vez de um atributo, portanto, o xpath completo seria /applicationSettings/Product.Core.WebServices.Properties.Settings/setting[@name='DirectoryDatabaseName']/value/text()
, mas não consigo encontrar nenhum exemplo de arquivos web.config com valores armazenados como nós de texto. Os exemplos para os cmdlets IIS também não é possível mostrar referências ao texto ().
Talvez seja necessário definir o filtro para recuperar o elemento de configurações e, em seguida, defini-lo como um elemento de valor com o texto correto. Novamente, os exemplos não mostram como fazer isso, mas mostram como usar um hashtable para definir vários valores, para que você possa encontrar uma maneira de fazê-lo funcionar.