Jump to content

xml bearbeiten


Recommended Posts

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 to post
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 to post

Hallo

 

habe es so versucht geht aber nicht wo ist mein Fehler ?

 

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

Link to post

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 to post

hallo, ja sieht so ähnlich aus, hatte vergessen zu sagen das ich eine GUI mit PrimalForms erstellt habe da habe ich zwei Textboxen eine Für den Usernamen und eine für das Passwort. Wollte die Daten aus der Textbox dann an der richtigen Stelle in meiner unattend.xml speichern, also ändern.

 

Kann mir da jemand dabei helfen ?

Link to post
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.  

Edited by BOfH_666
Link to post
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.

Edited by BOfH_666
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...