PowerShell не сохраняет XML - PullRequest
0 голосов
/ 29 июня 2018

У меня есть простой следующий скрипт, поэтому я добавляю заголовок в мой web.config

$webConfigPath = Resolve-Path "MyFolder\Web.Config"
$webConfig =  [xml](get-content($webConfigPath))
$targetNode =  $webConfig.configuration.'system.webServer'.httpProtocol.customHeaders
$newNode=$webConfig.CreateDocumentFragment()
$newNode.InnerXml= "<remove name='$headerName)'/>"
$targetNode.AppendChild($newNode)
$webConfig.Save($webConfigPath)

Но это не сохранение изменений ... Путь правильный, если я напечатаю

$webConfig.configuration.'system.webServer'.httpProtocol.customHeaders

Я получаю мои настоящие узлы там. Где я скучаю по вещам?

Спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

Кажется, ваша команда пытается сохранить исходную точку. Смотрите здесь:

$webConfigPath = Resolve-Path "MyFolder\Web.Config"

$webConfig.Save($webConfigPath)

Другими словами, ваш скрипт пытается сохранить собранные данные в команду в переменной $ webConfigPath, поэтому при указании другого пути к файлу он сохраняется правильно. Простое решение этой проблемы, как вы уже сделали, - изменить путь к полученному файлу. Если вам нужно использовать этот путь для дальнейших команд в вашем скрипте, вы можете бросить путь к файлу в его собственную переменную:

 $savePath = "C:/test.xml"

... позволяя использовать переменную вместо повторного ввода пути.

Надеюсь, это поможет ответить на ваш вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...