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-ID: 432707

Url: https://administrator.de/forum/per-script-in-datei-suchen-und-anpassung-vornehmen-432707.html

Ausgedruckt am: 22.12.2024 um 22:12 Uhr

laster
laster 26.03.2019 um 11:40:37 Uhr
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
138810
Lösung 138810 26.03.2019 aktualisiert um 16:30:19 Uhr
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')  
blacksun
blacksun 29.03.2019 um 14:05:43 Uhr
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.
138810
Lösung 138810 29.03.2019 um 14:08:01 Uhr
Goto Top
$xml.knvws.LoginUser.Value = "$env:USERDOMAIN\$env:USERNAME"  
blacksun
blacksun 29.03.2019 um 15:02:15 Uhr
Goto Top
perfekt.
jetzt funktioniert alles wie gewünscht.

Vielen vielen Dank.