Jump to content

Aktualisierung vorhandener *.config-Datei


Direkt zur Lösung Gelöst von DuDo,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Zusammen,

als absoluter Neueinsteiger in das Thema Powershell, habe ich eine schwierige Aufgabe erhalten.
Ich benötige ein Powershell-Skript, mit folgendem Inhalt: 
 

1.) Stop Windows-Service "Dienst123"

2.) Search the computer for the Java Runtime directory path without the final "\ bin \ java.exe" of the ORACLE_HOME directory - (bei mehreren Oracle Versionen, die neueste Version nehmen)

3.) The determined directory path e.g. "C:\app\oracle\product\12.1.0\dbhome_1\jdk\jre\" into existing "configfile.config"
    overwrite the value "JAVAPFAD" replace and save.

4.) Start Windows-Service "Dienst123"

5.) Messagebox/Info Success or Failed.

6.) Path for the config.config: "C:\Program Files\CONFIG\config.config"

 

Wie kann das am besten umsetzen? Kann mir jemand Hilfestellung geben?

Für eure Unterstützung vielen Dank!


VG DuDo

Link zu diesem Kommentar

Vielen Dank für die schnellen Antworten!

Ich habe beim zweiten Punkt ein Problem, die anderen müsste ich noch testen, ob das so funktioniert.
Könnt Ihr ggf. mal drüber sehen? Danke :)

 

# Dienst stoppen
Stop-Service -Name "Dienst123"

# Java-Verzeichnis des ORACLE_HOME Verzeichnis herausfinden
Get-ChildItem -Path .\app\oracle\* -Include *java* # Hier komm ich schon nicht weiter!? 

# Ermittelten Wert in der *.config Datei ersetzen
Get-Content -Path C:\Program Files\CONFIG\config |
    ForEach-Object {$_ -Replace 'JAVAPFAD', 'Ermittelter Wert wie eintragen!?'} |
        Set-Content -Path C:\Program Files\CONFIG\config

# Dienst starten
Start-Service -Name "Dienst123"

# Messagebox/Information
Write-Host "Ihre Änderungen wurden durchgeführt!"

 

Link zu diesem Kommentar
  • Beste Lösung

Sorry Zusammen^^ Hatte viel um die Ohren und war mit der Lösung des Problems beschäftigt.

 

Ihr hattet Recht - Ich habe mir zwischenzeitlich einiges an Tutorials reingezogen und viel ausprobiert.

Habe es lösen können - jedoch über einen anderen Weg:

# Windows-Dienst "Dienst 123" stoppen
Stop-Service -Name Dienst123

# Oracle Home-Verzeichnis aus der Oracle-Inventory-XML einlesen
$oraclehome = [xml](get-content 'C:\Program Files\Oracle\Inventory\ContentsXML\inventory.xml') # Der Pfad zeigt nur auf das \dbhome\ Verzeichnis - darin liegt aber das /jdk/jre!

# Java-Pfad überarbeiten und in config.config schreiben
$config = [xml](get-content 'C:\Program Files\CONFIG\config.config')
$config.configuration.systemsettings.setting.key.value[14].loc = ($oraclehome.inventory.home_list.home.loc[0]+"/jdk/jre")
$config.Save('C:\Program Files\CONFIG\config.config')

# Windows-Dienst "Dienst123" starten
Start-Service -Name Dienst123 

Was haltet ihr davon?

VG DuDo

Link zu diesem Kommentar

Großartig. Ein bissl zu extensiv dokumentiert für meinen Geschmack, aber wenn es den Job erledigt - cool. :thumb1:

 

Jeder, der auch nur ansatzweise English versteht, kann sich denken, dass ein Befehl wie Start-Service, einen Service startet - für alle Powersheller ist das sowieso logisch. Das muss also nicht dokumentiert werden und bläht den Code nur unnötig auf.  ;-)  Kommentare sind dort nützlich, wo sie etwas Nicht-Offensichtliches erklären.

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...