Wie Sie add-Attribut, falls es nicht existiert mit PowerShell?
Im web.config-Datei habe ich zum aktivieren httpGetEnabled
und httpsGetEnabled
- Attribute, wenn Sie nicht existieren.
$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
}
Ich bin in der Lage, auf set-und get-Attribut-Werte mit PowerShell, aber ich weiß nicht, wie hinzufügen ein neues Attribut mit PowerShell. Es isno ' Hilfe zur Verfügung, mit Get-help
für Attribute hinzufügen. Wie fügen Sie ein neues Attribut mit PowerShell?
InformationsquelleAutor Samselvaprabu | 2015-05-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, wo Sie bekommen diese XML-cmdlets aus, aber es ist viel einfacher (und empfohlen), nur halten Sie die XmlDocument-Speicher,
Sie brauchen auch nicht zum verwenden von XPath für die einfache Pfade. Elemente im Baum zugegriffen werden kann, wie Objekte.
Sowieso, um das Attribut hinzufügen:
Speichern Sie die Datei wieder verwenden
$xml.Save($Path)
Bearbeitet für die Klarstellung. Die
SetAttribute
war nur, um den Wert des Attributs. Es ist klarer jetzt, dass ich$attrib.Value = $Value
vor dem Anfügen.Danke, ich war mir nicht sicher, ob das war ein powershell-Marotte oder nicht.
InformationsquelleAutor makhdumi
Auf PowerShellCore 6.2 ich bin in der Lage, add-Attribut wie dieses.
Sollte auf jedem PowerShell-version.
Dies funktioniert, weil während der Verwendung der wrapper-Eigenschaften auf XmlElement zurück gewickelt Werte, Über die indexing-operator gibt eine Reine Xml-Objekt. Die native "SetAttribute" erstellen wenn es nicht vorhanden ist.
InformationsquelleAutor Tamir Daniely