Powershell bestimmten Wert aus Ausgabe "ausschneiden"
Hallo,
Ich bekomme mit der Powershell Abfrage :
Get-ChildItem HKCU:\Software\AppTool\Tool\|Format-List
folgendes Ergebnis ausgegeben:
Nun möchte ich die Ausgabe so "beschneiden", dass ich als ergebnis nur noch AppTool-12.2.5 bekomme und das "-" soll durch ein Leerzeichen ersetzt werden.
Hintergrund ist, dass ich immer die aktuellste Version des Tool ausgelese haben möchte , um das in einem Monitoring Tool anzuzeigen/zu überwachen.
ich bedanke mich schonmal für die Hilfe!
Ich bekomme mit der Powershell Abfrage :
Get-ChildItem HKCU:\Software\AppTool\Tool\|Format-List
folgendes Ergebnis ausgegeben:
Property : {last_install_path, license_file_from, AppTool-12.2.5-x64_path, AppTool-12.2.5-x64_shortcuts}
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\AppTool\Tool\V12
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\AppTool\Tool
PSChildName : V12
PSDrive : HKCU
PSProvider : Microsoft.PowerShell.Core\Registry
PSIsContainer : True
SubKeyCount : 3
View : Default
Handle : Microsoft.Win32.SafeHandles.SafeRegistryHandle
ValueCount : 4
Name : HKEY_CURRENT_USER\Software\AppTool\AppTool\V12
Nun möchte ich die Ausgabe so "beschneiden", dass ich als ergebnis nur noch AppTool-12.2.5 bekomme und das "-" soll durch ein Leerzeichen ersetzt werden.
Hintergrund ist, dass ich immer die aktuellste Version des Tool ausgelese haben möchte , um das in einem Monitoring Tool anzuzeigen/zu überwachen.
ich bedanke mich schonmal für die Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 386371
Url: https://administrator.de/forum/powershell-bestimmten-wert-aus-ausgabe-ausschneiden-386371.html
Ausgedruckt am: 06.04.2025 um 07:04 Uhr
6 Kommentare
Neuester Kommentar

Get-ItemProperty 'HKCU:\Software\AppTool\Tool' -Name AppTool* | gm -MemberType NoteProperty -Name AppTool* | select -First 1 | %{$_.Name -replace '^(AppTool)-([^-]+).*','$1 $2'}
(get-Item 'HKCU:\Software\AppTool\Tool').Property | ?{$_ -match '(AppTool)-([^-]+)'} | select -First 1 | %{"$($matches[1]) $($matches[2])"}

Naja, beide Funktionen gehen einwandfrei. Vorraussetzung ist eben das du den richtigen Registry-Pfad angibst, wenn du hier selbst den falschen Pfad postest kann man nicht viel mehr machen.
Bitte dann noch auf gelöst setzen.
Bitte dann noch auf gelöst setzen.

In der Foreach-Schleife am Ende wird die Ausgabe gesteuert
(get-Item 'HKCU:\Software\AppTool\Tool').Property | ?{$_ -match '(AppTool)-([^-]+)'} | select -First 1 | %{"$($matches[1]) Client $($matches[2])"}