kaihawai
Goto Top

Powershell aktuelle Java Version auslesen und in Variable schreiben

Hallo,
ich möchte gerne per Powershell die aktuelle Java Version auslesen und diese in eine Variable schreiben.
Gibt man den Befehl Java - Version ein, kommen die Infos die ich brauche.
Hier möchte ich dann die Zeichen, die zwischen den " " stehen in eine Variable schreiben um damit weiterzuarbeiten.

Wer kann mir da Tipps geben?
Ich bin nur Anwender und bräuchte da Unterstützung.

Content-ID: 598864

Url: https://administrator.de/forum/powershell-aktuelle-java-version-auslesen-und-in-variable-schreiben-598864.html

Ausgedruckt am: 19.04.2025 um 02:04 Uhr

H41mSh1C0R
Lösung H41mSh1C0R 24.08.2020 um 13:06:36 Uhr
Goto Top
Aloa,

trotz Anwender: https://lmgtfy.com/?q=Powershell+aktuelle+Java+Version+auslesen

1. link

so schwer gewesen?

$Wert = (Get-WmiObject Win32_Product | Where {$_.Name -match „Java“}).Version

vg
Kaihawai
Kaihawai 24.08.2020 um 13:19:23 Uhr
Goto Top
Hallo,

den Link hatte ich tatsächlich schon gefunden. Leider funktioniert das bei mir nicht.
145033
Lösung 145033 24.08.2020 aktualisiert um 13:25:52 Uhr
Goto Top
Leider funktioniert das bei mir nicht.
Die Anführungszeichen musst du durch "nicht typographische" ersetzen. Nennt man Copy n Paste Syndrom face-smile

Btw. auch
Get-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" -Name CurrentVersion  
bzw.
Get-ItemProperty -Path "HKLM:\SOFTWARE\JavaSoft\Java Runtime Environment" -Name CurrentVersion  
Kaihawai
Kaihawai 25.08.2020 um 07:05:33 Uhr
Goto Top
Ok, jetzt funktioniert es. Danke. Die beiden unteren Beispiele funktionieren allerdings nicht, da die Pfade bei mir nicht existieren.
Kaihawai
Kaihawai 25.08.2020 um 07:42:39 Uhr
Goto Top
Ich hätte allerdings gerne die Version von Java in einem anderen Format. Perfekt wäre die Ausgabe die ich erhalten, wenn ich Java-Version in die Shell eingebe. Kann ich diese ganzen Infos auch in eine Variable speichern? Ich habe es bisher geschafft, sie in eine Datei auszulagern und dann wieder einzulesen.

java -version *>O:outputfile.txt

$javatest = Get-Content O:outputfile.txt

Einfacher wäre es ja aber direkt in eine Variable zu schreiben. Ist das möglich ?
145033
Lösung 145033 25.08.2020 aktualisiert um 13:41:18 Uhr
Goto Top
Zitat von @Kaihawai:
Einfacher wäre es ja aber direkt in eine Variable zu schreiben. Ist das möglich ?
Ja kann man.
$proc = (New-Object System.Diagnostics.Process -Property @{
    StartInfo = New-Object System.Diagnostics.ProcessStartInfo -Property @{Filename="java";Arguments="-version";UseShellExecute=$false;CreateNoWindow=$true;RedirectStandardError=$true}  
})
[void]$proc.Start()
$proc.WaitForExit()
$version = $proc.StandardError.ReadToEnd().split('"')[1]  
$version
Kaihawai
Kaihawai 26.08.2020 um 08:16:18 Uhr
Goto Top
Perfekt, vielen Dank. Funktioniert. Jetzt muss ich mich mal damit beschäftigen!