2017-02-15 4 views
1

В настоящее время вы хотите заменить атрибуты from, to и subject XML-файла с помощью сценария PowerShell.Заменить атрибуты XML с помощью PowerShell

<configuration> 
<configSections> 
</configSections> 
<elmah> 
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="SqlServer" /> 
    <errorMail from="[email protected]" to="[email protected]" cc="" subject="Error email title"/> 
    <errorFilter> 
    <test> 
    </test> 
</errorFilter> 
</elmah> 

Я попытался следующий цикл Еогеасп, но это не кажется, обновить атрибуты:

$xmlDoc = [XML](Get-Content "$path\Web.config") 
foreach ($item in $xmlDoc.configuration.elmah.errorMail){ 
{$item.from = '[email protected]'} 
{$item.to = '[email protected]'} 
{$item.subject = 'test3'} 
} 
$xmlDoc.Save("$path\Web.config") 

Любой помочь с этим сценарием?

ответ

1

Вы являетесь , обертывая присвоение в скриптблоке, который, вероятно, представит новые переменные и предотвратит обновление свойств в xml. Таким образом, только удалить фигурные скобки:

$xmlDoc = [XML](Get-Content "$path\Web.config") 
foreach ($item in $xmlDoc.configuration.elmah.errorMail) 
{ 
    $item.from = '[email protected]' 
    $item.to = '[email protected]' 
    $item.subject = 'test3' 
} 
$xmlDoc.Save("$path\Web.config") 
Смежные вопросы