PackageDeployment Modul Hilfe

Package Deployment Module

Set-XmlNode Cmdlet

Version 4.0.0.5

Set-XmlNode

Übersicht

XML-Dateiänderung

Syntax

Set-XmlNode [-NodeType] <String> [-Action] <String> [-Path] <String> [-ContinueOnError] [-Wow64] [[-XPathQuery] <String>] [[-Index] <Int32>] [[-Attribute] <String>] [[-HintPath] <String>] [[-Content] <String[]>] [[-Context] <String>] [<CommonParameters>]

Beschreibung

Dieser Befehl fügt einer XML-Datei neue Einträge hinzu bzw. ändert oder löscht bestehende Einträge. Die geänderte Datei wird nur gespeichert, wenn es sich um eine "wohlgeformte" XML-Datei handelt, das Schema wird dagegen nicht validiert.

Parameter

-Action <String>

Folgende Aktionen stehen zur Auswahl: Hinzufügen, Ändern, Löschen.
Aktion Hinzufügen: Diese Aktion gibt es nicht für den Typ Element. Ist ein zu änderndes Attribut bzw. ein Inhalt nicht vorhanden, wird hinzugefügt.

Erforderlich

Ja

Position

1

Pipeline-Eingaben akzeptieren

Nein

-Attribute <String>

Enthält den Namen des gesuchten Attributs, wenn Typ des Eintrags = Attribut ausgewählt wurde. Der Platzhalter * ist erlaubt.

Erforderlich

Nein

Position

5

Pipeline-Eingaben akzeptieren

Nein

-Content <String[]>

Legt für die Aktionen Hinzufügen und Ändern den XML-Inhalt fest, welcher in der XML-Datei ersetzt bzw. hinzugefügt werden soll. Zur Eingabe komplexer und mehrzeiliger Inhalte öffnen Sie mit Klick auf die Schaltfläche ... einen Editor. Die Verwendung von Variablen ist möglich.

Erforderlich

Nein

Position

7

Pipeline-Eingaben akzeptieren

Nein

-Context <String>

User: Ausführung unter Benutzerkonto; Protokollierung in HKEY_CURRENT_USER, also für den Benutzer.
UserPerService: Benutzerbezogener Befehl, Ausführung im Service-Kontext
Computer: Ausführung unter Benutzerkonto; Protokollierung in HKEY_LOCAL_MACHINE, also für den Computer.
ComputerPerService: Ausführung im Service-Kontext; Protokollierung in HKEY_LOCAL_MACHINE, also für den Computer.

Erforderlich

Nein

Position

8

Pipeline-Eingaben akzeptieren

Nein

-ContinueOnError <SwitchParameter>

Setzt das Skript trotz eines aufgetretenen Fehlers im betreffenden Befehl fort

Erforderlich

Nein

Position

Named

Pipeline-Eingaben akzeptieren

Nein

-HintPath <String>

#TODO#

Erforderlich

Nein

Position

6

Pipeline-Eingaben akzeptieren

Nein

-Index <Int32>

Legt fest, welches Element bearbeitet werden soll, wenn die Abfrage mehrere Treffer in der XML-Datei zurückliefert. Zur Auswahl stehen: Alle (Vorgabe), Erster Treffer, Letzter Treffer, Bestimmter Index. Dazu muss angegeben werden, an welcher Stelle der Trefferliste das gewünschte Element steht, z.B. 3 für das dritte Vorkommen in der XML-Datei. Nutzen Sie bei Bedarf den Befehl Read-XmlNode, um den gewünschten Indexwert zu bestimmen.

Erforderlich

Nein

Position

4

Pipeline-Eingaben akzeptieren

Nein

-NodeType <String>

Auswahl des Typs des zu bearbeitenden Teils der XML-Datei:
Element - Grundlegende Struktureinheit einer XML-Datei, die i.d.R. über einen Anfangs- und Ende-Tag verfügt.
Soll ein Element gelöscht werden, wird das unter XPath-Abfrage identifizierte Element mit allen Unterelementen und Inhalten vollständig gelöscht. Soll ein neues Element hinzugefügt werden, wird der Inhalt des Felds Wert des Eintrags unter dem festgelegten Element der XML-Datei hinzugefügt. Ist keine XPath-Abfrage angegeben, wird der Inhalt des Felds Wert des Eintrags genutzt, um den vollständigen Inhalt der XML-Datei zu ersetzen. Auf diese Weise können Sie also eine neue XML-Datei erstellen.
Attribut eines Elements
Soll ein Attribut gelöscht werden, wird das Attribut aus dem unter XPath-Abfrage identifizierten Element vollständig gelöscht. Soll ein Attribut hinzugefügt oder geändert werden, wird das Attribut in das identifizierte Element eingetragen. Der Befehl erkennt automatisch ob das Attribut schon existiert und reagiert entsprechend.
Inhalt eines Elements - Gemeint ist der Text-Inhalt eines Elements zwischen Anfangs- und Ende-Tag (ohne Unterelemente)
Soll der Inhalt eines Elements gelöscht werden, wird er aus dem unter XPath-Abfrage identifizierten Element vollständig gelöscht. Soll der Inhalt eines Elements hinzugefügt oder geändert werden, wird der Inhalt in das identifizierte Element eingetragen bzw. ersetzt den vorhanden Inhalt. Unterelemente werden nicht als Inhalt behandelt und somit ignoriert.

Erforderlich

Ja

Position

0

Pipeline-Eingaben akzeptieren

Nein

-Path <String>

Pfad und Name der zu bearbeitenden XML-Datei. Falls nicht angegeben, wird die Erweiterung .XML automatisch verwendet.

Erforderlich

Ja

Position

2

Pipeline-Eingaben akzeptieren

Nein

-Wow64 <SwitchParameter>

Standardmäßig geht das PackageDeployment-Modul davon aus, auf 64-Bit Systemen in einem 64-Bit PowerShell-Prozess ausgeführt zu werden und greift daher bei Datei- und Registryzugriffen standardmäßig den Ablageort für 64-Bit Anwendungen (sofern dieser sich von dem für 32-Bit Anwendungen unterscheidet) zurück. Soll auf die 32-Bit Pendants (im Dateisystem %WinDir%\SysWOW64 statt %WinDir%\System32, in der Registry HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node statt HKEY_LOCAL_MACHINE\SOFTWARE) zugegriffen werden, verwenden Sie den -Wow64 Switch.

Erforderlich

Nein

Position

Named

Pipeline-Eingaben akzeptieren

Nein

-XPathQuery <String>

Identifikation des zu bearbeitenden Teils der XML-Datei mithilfe der XPath-Syntax.
Beispiel einer XPath-Abfrage: //Sample/node1/node2/Object[@type="STRING"]. In diesem Beispiel wird das Element Object unter Sample/node1/node2 gesucht, für welches type="STRING" gilt. Da bei einer solchen Abfrage meist mehrere Elemente gefunden werden, müssen Sie zusätzlich den Index festlegen.

Erforderlich

Nein

Position

3

Pipeline-Eingaben akzeptieren

Nein

<CommonParameters>

Weitere Informationen zu 'common parameters' finden Sie mit dem Kommando "Get-Help about_CommonParameters".