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!
Please also mark the comments that contributed to the solution of the article
Content-Key: 386371
Url: https://administrator.de/contentid/386371
Printed on: April 26, 2024 at 22:04 o'clock
6 Comments
Latest comment
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])"}