wild-wolf
Goto Top

Powershell Problem mit Get-WmiObject

Ein Hallo in die Runde.

Ich habe ein kleines Problem mit einem Powershell Script, was ich vor einiger Zeit geschrieben habe. Ich weiß nicht ob MS hier mit irgendeinem Update etwas geändert hat.

Ich habe folgende Zeile für die Exchange-Dienste erstellt:

Get-WmiObject win32_service | Where-Object {$_.Name -ilike "MSexch*" -or $_.Name -ilike "HostControllerService" -or $_.Name -ilike "wsbexchange" -or $_.Name -ilike "FMS" -or $_.Name -ilike "MSComplianceAudit" -or $_.Name -ilike "W3SVC" -or $_.Name -ilike "IISADMIN" -or $_.Name -ilike "WMSVC" -or $_.Name -ilike "w3logsvc"} | Set-Service -StartupType Automatic  

Get-WmiObject win32_service | Where-Object {$_.Name -ilike "MSExchangeImap*" -or $_.Name -ilike "MSExchangePop3*"} | Set-Service -StartupType Manual  

Bis vor einigen Monden hat es immer geklappt. Neuerdings erhalte ich aber folgende Meldung:

Get-WmiObject : Der angegebene Dienst kann nicht gestartet werden. Er ist deaktiviert oder nicht mit aktivierten
Geräten verbunden. (Ausnahme von HRESULT: 0x80070422)
In Zeile:1 Zeichen:1
+ Get-WmiObject win32_service | Where-Object {$_.Name -ilike "MSexch*"  ...  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException
    + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

Weiß jemand wo das Problem ist?

Vielen Dank im voraus.

Content-Key: 11350906146

Url: https://administrator.de/contentid/11350906146

Printed on: December 8, 2023 at 02:12 o'clock

Member: katrin11
katrin11 Nov 20, 2023, updated at Nov 21, 2023 at 11:24:48 (UTC)
Goto Top
Hi.
Dienste einzeln auf Start-Funktion prüfen, kann sein das einer davon Probleme macht.
https://www.borncity.com/blog/2018/04/30/windows-fehler-0x80070422-bei-u ...
Und ja, es kann schon reichen die Startart zu verändern, wenn die Executable oder Teile des Services nicht mehr vorhanden sind läuft die Prüfung des Dienstes dann auf einen Fehler den du dann in Form dieser Fehlermeldung präsentiert bekommst.

Gruß Katrin.

p.s. Warum nicht Get-Service? Btw. Get-WmiObject ist deprecated und sollte man besser durch Get-CimInstance ersetzen.
p.s2 die like Vergleichsoperatoren sind per Default Case-Insensitive

Get-Service -Name MSexch*,HostControllerService,wsbexchange,FMS,MSComplianceAudit,W3SVC,IISADMIN,WMSVC,w3logsvc | Set-Service -StartupType Automatic