Powershell Versionsnummer aus Pfad extrahieren und als Variable nutzen
Hallo,
ich möchte gern die versionsnummer einer Softwareinstallation aus dem Installationspfad extrahieren und als Variable nutzen.
Dazu frage ich mit Powershell und dem Befehl:
Den Pfad zur ausführbaren Datei des Dienstes ab und erhate folgendes Ergebnis:
Jetzt möchte ich daraus einmalig die Versionsnummer, in dem Fall 12.5.30 extrahieren und als Variable definieren.
Kann mir dabei jemand helfen? Die Anzahl und namen der Dienste Variieren, weshalb ich nach Programmname* suchen muss. Programmname ist jedem Dienst der Software vorangestellt.
ich möchte gern die versionsnummer einer Softwareinstallation aus dem Installationspfad extrahieren und als Variable nutzen.
Dazu frage ich mit Powershell und dem Befehl:
Get-WmiObject win32_service | ?{$_.Name -like 'Programmname*'} | select Name, DisplayName, State, PathName
Den Pfad zur ausführbaren Datei des Dienstes ab und erhate folgendes Ergebnis:
Name DisplayName State PathName
---- ----------- ----- --------
Programmname-MySQL57 Programmname-MySQL57 Running D:\Programmname\3rdparty\mysql-5.7.17-winx64\bin\mysqld --defaults-file=d:\..\my-rs-57.ini MySQL57
Programmname Server Programmname Server Running D:/../Programmname-Server-x.x.x-x64/bin/Programmname_server.exe
Programmname MUServer Programmname MUServer Running D:/../bin/Programmname-Server-x.x.x-x64/bin/mu_server.exe
Programmname ExportSrvc Programmname ExportSrvc Stopped D:/../bin/Programmname-Server-x.x.x-x64/bin/ExportService.exe
Jetzt möchte ich daraus einmalig die Versionsnummer, in dem Fall 12.5.30 extrahieren und als Variable definieren.
Kann mir dabei jemand helfen? Die Anzahl und namen der Dienste Variieren, weshalb ich nach Programmname* suchen muss. Programmname ist jedem Dienst der Software vorangestellt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 441081
Url: https://administrator.de/forum/powershell-versionsnummer-aus-pfad-extrahieren-und-als-variable-nutzen-441081.html
Ausgedruckt am: 07.04.2025 um 13:04 Uhr
5 Kommentare
Neuester Kommentar

Moin.
Ciao.
Get-WmiObject win32_service | ?{$_.Name -like 'Programmname*' -and $_.Pathname -match '-([\d\.]+)-'} | select Name, DisplayName, State, PathName,@{n='Version';e={$matches[1]}}

$v = Get-WmiObject win32_service | ?{$_.Name -like 'Programmname*' -and $_.Name -notlike '*MySQL*' -and $_.Pathname -match '-([\d\.]+)-'} | select Name, DisplayName, State, PathName,@{n='Version';e={$matches[1]}} | Sort Version -Desc | select -Expand Version -first 1
$v

Das war die Smartphone Idioten Autokorrektur beim Programmieren produziert die halt nur Müll 😎.