Не редактировать XML с помощью замены строк . Используйте бесплатный XML-парсер, который вам предоставляет PowerShell.
Загрузите файл конфигурации следующим образом:
[xml]$xml = Get-Content $serverXml
или как это:
$xml = New-Object Xml.XmlDocument
$xml.Load($serverXml)
Последний вариант немного более безопасен, потому что он (например) будет проверять, что кодировка файла действительно соответствует кодировке, указанной в преамбуле.
Выбор узлов с помощью выражений XPath :
$node = $xml.SelectSingleNode('/Path/To/Node')
Изменить существующие атрибуты следующим образом:
$node.Attributes['password'] = 'newpassword'
Добавить новые атрибуты, такие как:
$attr = $xml.CreateAttribute('testWhileIdle')
$attr.Value = 'true'
[void]$node.Attributes.Append($attr)
Затем сохраните измененный XML обратно в файл:
$xml.Save($serverXml)