Jump to content

Powershell: XML-Datei auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

ich versuche per Powershell eine XML-Datei auszulesen.

Die XML-Datei ist etwas umfangreicher und bereitet mir deswege einige Probleme.

 

Die XML habe ich mal hier gekürzt dargestellt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<thinclients>
    <thinclient>
        <tcname>Thinclient1</tcname>
        <firmware>
            <model>ThinClientModel</model>
            <version>4.2.3.4</version>
        </firmware>
        <settings>
            <pclass profile="false" name="x.drivers.currentdriver">
                <pvalue instancenr="-1">via_pro</pvalue>
            </pclass>
            <pclass profile="true" name="x.xserver0.colordepth">
                <pvalue instancenr="-1">16</pvalue>
            </pclass>   
		</settings>
    </thinclient>
</thinclients>

 

Mein Ziel ist es folgende Dinge auszugeben:

  • tcname ("Thinclient1")
  • pvalue ("via_pro")

Gefiltert jedoch nach pclass name = "x.drivers.currentdriver"

 

Also folgende Ausgabe:

Thinclient1  via_pro

 

 

Ich hoffe ihr könnt mir etwas weiterhelfen.

 

Viele Grüße

Musashi

Geschrieben
[xml]$meinexml = get-content C:\ps\meinskript.xml
foreach( $var in $meinexml.thinclients.thinclient.settings.pclass) 
{if ($meinexml.thinclients.thinclient.settings.pclass.name -eq “x.drivers.currentdriver”)
{    
    write-host $var.pvalue.'#text'
}}

 

Dieses Skript habe ich schon zusammen.

Jedoch wird nicht nach "x.drivers.currentdriver" gefiltert.

 

Ausgabe ist immer:

via_pro

16

 

Später muss ich natürlich noch irgendwie die Verknüpfung von dem tcname ("Thinclient1") zu dem entsprechenden pvalue ("via_pro") hinkriegen.

Geschrieben

So wird ein Schuh draus ;)

 

[xml]$meinexml = get-content C:\ps\meinskript.xml

$meinexml | ? {$_.thinclients.thinclient.settings.pclass.name -eq "x.drivers.currentdriver"} | % {

	$_.thinclients.thinclient.tcname
	$_.thinclients.thinclient.settings.pclass.pvalue.InnerText

}

Hier werden aber noch beide Werte von pvalue angezeigt, die Trennung ist in der xml nicht sauber.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...