Hallo Leute,
dies ist mein erster Beitrag, oder besser "erste Frage", hier im Forum.
Ich arbeite im öffentlichen Dienst in der IT-Abteilung und versuche einige meiner Aufgaben mit der Powershell zu lösen. Das klappt mal mehr mal weniger und meine Literatur hilft mir auch nicht immer weiter.
Anfangs (die ersten Jahre :D) werde ich wohl mehr Fragen müssen als Antworten können, hoffe aber, dass sich das schnell ändern wird.
Jetzt geht es los ;)
Ich durchsuche mit einem Script die Registrierung und will mit vielen IFs später viele Prozesse beenden und anschließend mit dem UnInstallString Software deinstallieren.
Mit meinem Script (aus dem Internet geliehen) bekomme ich genau das angezeigt, was ich haben will. Ich weiß aber nicht wie ich das an eine oder mehrere Variablen übergeben kann. Mit einfachen Übergabemechanismen kenne ich mich schon aus, nur wie ich diese "Where-Object" oder "ForEach-Object" anzapfe weiß ich nicht. Zudem kann es passieren, dass mir mehrere Möglichkeiten angezeigt werden, aber dass will ich erst einmal ignorieren.
Hier das Script, welches mir meine Infos liefert:
Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{*" | Where-Object -FilterScript { $_.GetValue("DisplayName") -like "*sketchup*"} | ForEach-Object -Process {$_.GetValue("DisplayName"), $_.GetValue("UninstallString") }
Hier das Script mit der nicht funktionierenden "Übergabeidee":
Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{*" | Where-Object -FilterScript { $_.GetValue("DisplayName") -like "*sketchup*"} | ForEach-Object -Process {$_.GetValue("DisplayName"), $_.GetValue("UninstallString") }
if ($_.GetValue("DisplayName") -eq "Google SketchUp 8")
{
"Treffer"
}
else
{
"Falsch"
}
Danke und Gruß an alle hier
Pascal