stefanwue 0 Geschrieben 12. September 2021 Melden Teilen Geschrieben 12. September 2021 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 ? Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 12. September 2021 Melden Teilen Geschrieben 12. September 2021 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. Zitieren Link zu diesem Kommentar
stefanwue 0 Geschrieben 12. September 2021 Autor Melden Teilen Geschrieben 12. September 2021 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) Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 12. September 2021 Melden Teilen Geschrieben 12. September 2021 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') Zitieren Link zu diesem Kommentar
stefanwue 0 Geschrieben 13. September 2021 Autor Melden Teilen Geschrieben 13. September 2021 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 ? Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 13. September 2021 Melden Teilen Geschrieben 13. September 2021 (bearbeitet) 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 13. September 2021 von BOfH_666 Zitieren Link zu diesem Kommentar
stefanwue 0 Geschrieben 13. September 2021 Autor Melden Teilen Geschrieben 13. September 2021 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 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 13. September 2021 Melden Teilen Geschrieben 13. September 2021 (bearbeitet) 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 13. September 2021 von BOfH_666 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.