blacksun
Goto Top

Per Script in Datei suchen und Anpassung vornehmen

Hallo,

ich brauche eure Hilfe wie ich folgendes Problem am besten angehe.

Ich habe eine Anwendung die Einstellungen in einer Datei speichert. Die Datei starte ich per Batch-Datei da noch andere Dinge ausser dem Start der Anwendung durchgeführt werden müssen.
Eine Zeile in der Konfig-Datei der Anwendung sieht so aus:

<LoginUser value="Domain\username" />

Ich möchte nun vor dem Anwendungsstart per Script in dieser Datei suchen und die Zeile auf den User anpassen der gerade versucht die Anwendung zu starten.
Domain und Username habe ich in einer Variable.

Wie mache ich das am besten?

Vielen Dank für eure Hilfe.

Content-Key: 432707

Url: https://administrator.de/contentid/432707

Printed on: April 25, 2024 at 17:04 o'clock

Member: laster
laster Mar 26, 2019 at 10:40:37 (UTC)
Goto Top
Hallo,

falls Du "Domain\username" durch aktuelle Werte ersetzen willst:
"%USERDOMAIN%\%USERNAME%"

Wenn Du in einem CMD-Fenster set eingibst, bekommst Du alle zur Laufzeit verfügbaren Variablen angezeigt.

vG
LS
Mitglied: 138810
Solution 138810 Mar 26, 2019 updated at 15:30:19 (UTC)
Goto Top
Das ist eine XML Datei, die kann und sollte man immer mit einem Parser laden und editieren.

Beispiel mit Powershell Namen der Nodes natürlich anpassen, die Infos fehlen uns ja hier ...

Beispielhafte XML-Datei
<?xml version="1.0" encoding="utf-8"?> 
<root>
	<sub>
		<LoginUser value="Domain\Test" /> 
	</sub>
</root>
Dazu passender Code zum abändern des Attributs "value" des Elementes LoginUser:
$xml = new-object XML
$xml.Load('d:\datei.xml')  
$xml.root.sub.LoginUser.Value = 'domain\whatever'  
$xml.Save('d:\datei_neu.xml')  
Member: blacksun
blacksun Mar 29, 2019 at 13:05:43 (UTC)
Goto Top
sehr schön, vielen Dank.

nun schreibt die Zeile

$xml.root.sub.LoginUser.Value = 'domain\whatever'

die Wörter Domain und whatever in den Wert Value

Wie lese ich die Uservariablen %USERDOMAIN% und %USERNAME% und schreibe diese Werte?

$xml.knvws.LoginUser.Value = $env:USERDOMAIN\$env:USERNAME

funktioniert leider nicht.

Danke.
Mitglied: 138810
Solution 138810 Mar 29, 2019 at 13:08:01 (UTC)
Goto Top
$xml.knvws.LoginUser.Value = "$env:USERDOMAIN\$env:USERNAME"  
Member: blacksun
blacksun Mar 29, 2019 at 14:02:15 (UTC)
Goto Top
perfekt.
jetzt funktioniert alles wie gewünscht.

Vielen vielen Dank.