Jump to content

xml bearbeiten


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

Empfohlene Beiträge

Hallo wer kann mir helfen, ich suche eine einfache möglichkeit aus Powershell die Werte in einer XML Datei zu ändern.

 

folgendes funktioniert mit Seetings

$xml = [xml](Get-Content -Path C:\path\to\file.xml)

$xml.setting.value = 'False'

$xml.Save("C:\path\to\file.xml")

 

Hier kann ich von True auf False ändern. Aber wie bekomme ich es bei folgenden Text hin in meiner unattend.xml

 

<UserAccounts>
        <LocalAccounts>
          <LocalAccount wcm:action="add">
            <Password>
              <Value>Beispiel=</Value>
              <PlainText>false</PlainText>
            </Password>
            <DisplayName>User Name</DisplayName>
            <Name>User 1</Name>
            <Group>Administrators</Group>
          </LocalAccount>
        </LocalAccounts>
      </UserAccounts>

 

Meine Frage: wie kann ich folgende Daten ändern, Displayname, Passwort Value und Name ?

 

kann mir da jemand helfen ?

Link zu diesem Kommentar
vor 1 Stunde schrieb stefanwue:

Meine Frage: wie kann ich folgende Daten ändern, Displayname, Passwort Value und Name ?

 

Hmmm ... ich bin mir nicht sicher, ob ich Dein Problem verstehe ... Du kannst die Werte in der unattend.xml auf die gleiche Weise ändern, wie bei der Datei mit den Settings - nur musst Du eben den entsprechenden Node adressieren. Also z.B. $xml.UserAccounts.LocalAccounts.LocalAccount.DisplayName.

Link zu diesem Kommentar

Ohne jetzt irgendwie Klugscheißen zu wollen aber sieht das:

$CurrentXMLFile = 'C:\Windows\Setup\Scripts\unattend.xml'
$con = Get-Content ($CurrentXMLFile)
$con | % { $_.Replace("<Name>Test</Name>", "<Name>"$textBox1.Text"</Name>") } | Set-Content ($CurrentXMLFile)

 

ungefähr so aus wie das:

$xml = [xml](Get-Content -Path C:\path\to\file.xml)
$xml.setting.value = 'False'
$xml.Save("C:\path\to\file.xml")

 

??

 

Was hältst Du davon?

$xml = [xml](Get-Content -Path 'C:\Windows\Setup\Scripts\unattend.xml')
$xml.UserAccounts.LocalAccounts.LocalAccount.DisplayName = 'Bla Keks'
$xml.Save('C:\Windows\Setup\Scripts\unattend.xml')

 

Link zu diesem Kommentar
vor 5 Minuten schrieb stefanwue:

Kann mir da jemand dabei helfen ?

 

Also den Code, um in der XML-Datei die entsprechenden Nodes zu ändern hast Du ja jetzt. Du musst doch jetzt nur noch statt "Bla Keks" die Rückgabewerte aus Deiner GUI einsetzen. Wobei genau brauchst Du da Hilfe?

 

Und könntest Du bitte den Code, den Du hier postest als Code formatieren?

Danke schon mal im Voraus.  

bearbeitet von BOfH_666
Link zu diesem Kommentar
vor 58 Minuten schrieb stefanwue:

danke für deine Antwort, wie und wo muss ich nun meine textbox einsetzen hast du da ein Codebeispiel ? sind ja zwei textboxen und die sollen ja beide gkleichzeitig geändert werden wenn ich auf meinen Button klicke

 

Mit Deiner GUI kann ich Dir nicht helfen - Du hast ja auch keinen entsprechenden Code gepostet. Ich gehe mal davon aus, dass Du weißt, wie Du Deine Variablen genannt hast. ;-) 

 

Bei dem Code-Beispiel von oben setzt Du einfach zusätzlich zum gezeigten XML-Node den zweiten gewünschten darunter ... also so ungefähr:

$xml = [xml](Get-Content -Path 'C:\Windows\Setup\Scripts\unattend.xml')
$xml.UserAccounts.LocalAccounts.LocalAccount.DisplayName = 'Bla Keks'
$xml.UserAccounts.LocalAccounts.LocalAccount.DasAndereAttributWelchesDuAendernMoechtest = 'Bla Suelz'
$xml.Save('C:\Windows\Setup\Scripts\unattend.xml')

 

... also statt "Bla Keks" und "Bla Suelz" setzt Du die Variablen ein, die die gewünschten Werte enthalten.

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...