В файле web.config мне нужно включить атрибуты httpGetEnabled
и httpsGetEnabled
, если они не существуют.Как добавить атрибут, если он не существует с помощью PowerShell?
$Path = "c:\web.config"
$XPath = "/configuration/system.serviceModel/behaviors/serviceBehaviors/behavior"
if (Select-XML -Path $Path -Xpath $XPath) {
"Path available"
$attributePath = $Xpath +="/serviceMetadata"
"Attribute path is $attributePath"
If (Get-XMLAttribute -Path $Path -Xpath $attributePath -attribute "httpGetEnabled") {
"httpGetEnabled is present"
}
ElseIf (Get-XMLAttribute -Path $Path -Xpath $attributePath -attribute "httpsGetEnabled") {
"httpsGetEnabled is present"
}
Else {
"Add both httpGetEnabled and httpsGetEnabled attribute with the value true and false accordingly"
$attributeset = @" httpGetEnabled="false" "@
New-Attribute -path $path -xpath $XPath -attributeset $attributeset
}
Я могу установить и получить значение с помощью PowerShell атрибутов, но я не знаю, как добавить новый атрибут с помощью PowerShell. Для добавления атрибутов недоступна помощь Get-help
. Как добавить новый атрибут с помощью PowerShell?
Любая идея, почему узел должен быть атрибут добавляется, а также установить? – StingyJack
Отредактировано для пояснений. «SetAttribute» должен был просто установить значение атрибута. Теперь стало яснее, что перед Append я использовал '$ attrib.Value = $ Value'. – makhdumi
Спасибо, я не был уверен, что это была причуда powershell или нет. – StingyJack