reactivan 0 Geschrieben 2. Oktober 2020 Melden Geschrieben 2. Oktober 2020 Hallo, ich habe Probleme bei der Ausführung des folgenden Powershell Scripts: $wmiParameters = @{ Query = "SELECT * FROM __InstanceModificationEvent WITHIN 1 where TargetInstance ISA 'Win32_Service'"; sourceIdentifier = "Dienst:Status:Aktion" } $actions = { [console]::Beep(440,10) $dienst = $eventArgs.NewEvent.TargetInstance Write-Host -ForegroundColor Yellow Write-Host "Dienst " $dienst.name ": Der Status hat sich geändert. Status ist nun: " $dienst.State "!" -ForegroundColor Yellow if($dienst.State -eq 'Stopped') { Write-Host "Neustart des Dienstes ..." -ForegroundColor Yellow Start-Service $dienst.name $wmiQuery } } Register-WmiEvent $wmiParameters -Action $actions # Register-WmiEvent -query "SELECT * FROM __InstanceModificationEvent WITHIN 1 where TargetInstance ISA 'Win32_Service'" -sourceIdentifier "Dienst:Status:Aktion" -action $actions Bei Ausführung erhalte ich die Fehlermeldung: Register-WmiEvent : Es konnte keine Registrierung für das Ereignis vorgenommen werden. Der Klassenname ist ungültig. Gültige Klassennamen enthalten Buchstaben, Ziffern und Unterstriche. In C:\Users\Administrator\Scripts\eventWatch2.ps1:20 Zeichen:1 + Register-WmiEvent $wmiParameters -Action $actions + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Register-WmiEvent], ArgumentException + FullyQualifiedErrorId : INVALID_QUERY_IDENTIFIER,Microsoft.PowerShell.Commands.RegisterWmiEventCommand Die auskommentierte Version ganz unten im Script oben funktioniert dagegen. Der Klassenname ist 'Win32_Service' und muss korrekt sein. Der Fehler müsste also in der Schreibweise, oder dem Einfügen von $wmiParameters liegen. Ich probiere jetzt seit einiger Zeit, komme aber alleine nicht weiter. Beste Grüße Michael
reactivan 0 Geschrieben 4. Oktober 2020 Autor Melden Geschrieben 4. Oktober 2020 Nachdem die Registrierungsmail erst eben gerade angekommen ist, habe ich mittlerweile eine Anstwort im TechNet erhalten: Die Splatting-Hashtable muss mit @ adressiert werden: Die folgende Zeile: Register-WmiEvent $wmiParameters -Action $actions ist so falsch. Richtig schreibt man die Zeile mit '@wmiParameters': Register-WmiEvent @wmiParameters -Action $actions
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden