Szenarioleitfaden: Behandeln von WMI-Konnektivitäts- und Zugriffsproblemen
In diesem Artikel wird beschrieben, wie Sie die WMI-Konfiguration (Windows Management Instrumentation) überprüfen und WMI-Konnektivitäts- oder Zugriffsprobleme diagnostizieren und behandeln.
Im Folgenden finden Sie einige Beispiele für WMI-Konfigurations- oder Konnektivitätsprobleme, die möglicherweise auftreten können. Die Probleme stammen von verschiedenen Produkten und Anwendungen, die WMI verwenden oder davon abhängig sind.
Der Assistent zum Erstellen von Clustern versucht, eine Verbindung mit einem Remotecomputer (dem Clusterknoten) herzustellen, ruft jedoch keine Daten ab.
Wenn das Installationsprogramm für die Active Directory-Rolle versucht, mit seinem Hostcomputer zu kommunizieren, schlägt der Active Directory Domain Services-Konfigurations-Assistent mit dem folgenden Fehler fehl:
Adprep konnte keine Daten vom Server
testbox.contoso.com
über die Windows-Verwaltungsinstrumentation (WMI) abrufen.Die lokale WMI-Abfrage kann das
Get-WmiObject
PowerShell-Cmdlet nicht verwenden und erhält den Fehler "Zugriff verweigert".
Verbindungsfluss
An einer WMI-Verbindung sind mehrere Komponenten und Ebenen beteiligt. Die folgenden Komponenten sind auf hoher Ebene beteiligt:
Der Client oder die Verwaltungsanwendung, die die WMI-Verbindung oder -Abfrage initiiert
Com-Komponente (Component Object Model) oder DCOM-Komponente (Distributed Component Object Model), die für die lokale und remote prozessübergreifende Kommunikation (IPC) verwendet wird
Die Transport- oder Netzwerkschicht (Remote Procedure Call (RPC))
Das WMI-Repository und der WMI-Dienst
Der WMI-Anbieter
Die verwalteten Objekte
Identifizieren des Problems
Je nachdem, wo der Fehler oder Fehler auftritt oder die Komponente, die den Fehler zurückgibt, können die Probleme wie folgt kategorisiert werden:
- Konnektivitätsprobleme
- Zugriffsprobleme
- Fehlercodes des Core-WMI-Anbieters
Konnektivitätsprobleme
Ein WMI-Verbindungsfehler, der vor dem Herstellen der Verbindung mit der WMI-Infrastruktur auftritt, entweder lokal oder remote, wird als Konnektivitätsproblem betrachtet.
Das Problem oder der Fehler wird von der COM/DCOM-Architektur lokal oder remote, von der Transportschicht (RPC) oder von der Firewall zurückgegeben. Bei Konnektivitätsproblemen können verschiedene Fehler auftreten, aber die häufigsten Fehler sind:
-
0x800706BA
HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) -
0x80041015
Netzwerkfehler, der den normalen Betrieb verhindert.
Zugriffsprobleme
Ein Zugriffsproblem tritt auf, wenn eine WMI-Verbindung oder -Abfrage aufgrund eines Zugriffsfehlers oder fehlender Berechtigungen für eine oder mehrere WMI-Komponenten fehlschlägt.
Anders ausgedrückt: Es gibt mehrere Bereiche innerhalb der WMI-Infrastruktur, z. B. COM/DCOM, WMI-Namespaces, WMI-Repository und Anbieter, und Benutzer benötigen entsprechende Berechtigungen für den Zugriff, die Verwendung oder die Interaktion mit ihnen. Fehlende Berechtigungen oder Einschränkungen führen zu WMI-Verbindungsfehlern, und möglicherweise erhalten Sie die folgenden Fehler:
-
0x80070005
E_ACCESS_DENIED
Zugriff verweigert durch DCOM-Sicherheit -
0x80041003
WBEM_E_ACCESS_DENIED
Zugriff verweigert von einem Anbieter
Fehlercodes des Core-WMI-Anbieters
Auch nach einer erfolgreichen Verbindung mit dem WMI und dem Besitz der richtigen Berechtigungen kann eine WMI-Abfrage oder -Verbindung aufgrund eines zugrunde liegenden Problems mit der Abfrage, eines vom Anbieter zurückgegebenen Fehlers, einer ungültigen Klasse oder eines ungültigen Namespace fehlschlagen.
Das Problem kann verschiedene Ursachen haben, und Fehler werden hauptsächlich vom WMI-Dienst zurückgegeben.
In solchen Fällen hilft der zurückgegebene Fehlercode, das Problem zu verstehen. Hier sind einige Fehlercodes:
-
0x80041002 – WBEM_E_NOT_FOUND
-
0x80041004 – WBEM_E_PROVIDER_FAILURE
-
0x80041062 – WBEM_E_PRIVILEGE_NOT_HELD
-
0x8004100E – WBEM_E_INVALID_NAMESPACE
-
0x80041010 – WBEM_E_INVALID_CLASS
-
0x80041011 – WBEM_E_PROVIDER_NOT_FOUND
-
0x80041012 – WBEM_E_INVALID_PROVIDER_REGISTRATION
-
0x80041013 – WBEM_E_PROVIDER_LOAD_FAILURE
Die vollständige Liste der von der WMI-Infrastruktur zurückgegebenen Fehler ist unter WMI-Fehlerkonstanten aufgeführt.
Überprüfen der Konfiguration
Wenn Sie bestätigen können, dass es sich bei dem Problem um ein Konnektivitäts- oder Zugriffsproblem basierend auf dem zurückgegebenen Fehler handelt, überprüfen Sie die vorhandene Konfiguration von WMI, oder stellen Sie sicher, dass der Benutzer über die entsprechenden Berechtigungen verfügt.
- Standardmäßig können nur Mitglieder der Gruppe Administratoren remote auf den WMI-Namespace zugreifen.
- Um mithilfe von WMI eine Verbindung mit einem Remotecomputer herzustellen, stellen Sie sicher, dass die richtigen DCOM-Einstellungen und WMI-Namespacesicherheitseinstellungen für die Verbindung aktiviert sind.
- WMI verfügt über Standardeinstellungen für Identitätswechsel, Authentifizierung und Authentifizierungsdienst (NTLM oder Kerberos), die für den Zielcomputer in einer Remoteverbindung erforderlich sind. Ihr lokaler Computer verwendet möglicherweise andere Standardwerte, die das Zielsystem nicht akzeptiert. Sie können diese Einstellungen im Verbindungsaufruf ändern.
- Connections für WMI auf dem lokalen Computer haben die Standardauthentifizierungsstufe
PktPrivacy
. - WMI-Remoteverbindungen sind von der Benutzerkontensteuerung (User Account Control, UAC) und der Windows-Firewall betroffen.
Festlegen der DCOM-Sicherheit, um einem Benutzer ohne Administratorrechte den Remotezugriff auf einen Computer zu ermöglichen
Sie können DCOM-Einstellungen für WMI mithilfe des DCOM-Konfigurationshilfsprogramms (DCOMCnfg.exe) unter Verwaltung in Systemsteuerung konfigurieren.
Dieses Hilfsprogramm macht die Einstellungen verfügbar, die es bestimmten Benutzern ermöglichen, eine Remoteverbindung mit dem Computer über DCOM herzustellen. Mit diesem Hilfsprogramm können Sie die Sicherheit so festlegen, dass der WMI-Dienst gestartet, darauf zugegriffen und konfiguriert wird.
Im folgenden Verfahren wird beschrieben, wie Sie bestimmten Benutzern und Gruppen DCOM-Remotestart- und -Aktivierungsberechtigungen erteilen.
Wenn Computer A eine Remoteverbindung mit Computer B herstellt, können Sie diese Berechtigungen auf Computer B festlegen, damit ein Benutzer oder eine Gruppe, die nicht zur Gruppe Administratoren auf Computer B gehört, DCOM-Start- und -Aktivierungsaufrufe auf Computer B ausführen kann.
Führen Sie die folgenden Schritte aus, um einem Benutzer oder einer Gruppe manuell DCOM-Remotestart- und -Aktivierungsberechtigungen zu erteilen:
- Wählen Sie Ausführung starten> aus, geben Sie DCOMCNFG ein, und wählen Sie dann OK aus.
- Erweitern Sie im Fenster Komponentendienstedie Option Komponentendienste-Computer>. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz , und wählen Sie Eigenschaften aus.
- Wählen Sie im Dialogfeld Eigenschaften des eigenen Computers die Registerkarte COM-Sicherheit aus.
- Wählen Sie unter Start- und Aktivierungsberechtigungen die Option Grenzwerte bearbeiten aus.
- Wählen Sie im Dialogfeld Start- und Aktivierungsberechtigungdie Option Hinzufügen aus, wenn Ihr Name oder Ihre Gruppe nicht in der Liste Gruppen- oder Benutzernamen angezeigt wird. Fügen Sie im Dialogfeld Benutzer, Computer oder Gruppen auswählen Ihren Namen und die Gruppe im Feld Geben Sie die objektnamen ein, die Ausgewählt werden soll , und wählen Sie dann OK aus.
- Wählen Sie im Dialogfeld Start- und Aktivierungsberechtigung ihren Benutzer und ihre Gruppe in der Liste Gruppen- oder Benutzernamen aus. Aktivieren Sie unterP-Ermissionen für <Benutzer oder Gruppe> die Option Zulassen für die Berechtigungen Remotestart und Remoteaktivierung , und wählen Sie dann OK aus.
Im folgenden Verfahren wird beschrieben, wie DCOM-Remotezugriffsberechtigungen für bestimmte Benutzer und Gruppen gewährt werden. Wenn Computer A eine Remoteverbindung mit Computer B herstellt, können Sie diese Berechtigungen auf Computer B festlegen, damit ein Benutzer oder eine Gruppe, die nicht zur Gruppe Administratoren auf Computer B gehört, eine Verbindung mit Computer B herstellen kann.
Führen Sie die folgenden Schritte aus, um DCOM-Remotezugriffsberechtigungen zu erteilen:
- Wählen Sie Ausführung starten> aus, geben Sie DCOMCNFG ein, und wählen Sie dann OK aus.
- Erweitern Sie im Fenster Komponentendienstedie Option Komponentendienste-Computer>. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz , und wählen Sie Eigenschaften aus.
- Wählen Sie im Dialogfeld Eigenschaften des eigenen Computers die Registerkarte COM-Sicherheit aus.
- Wählen Sie unter Zugriffsberechtigungen die Option Grenzwerte bearbeiten aus.
- Wählen Sie im Dialogfeld Zugriffsberechtigung im Feld Gruppen- oder Benutzernamen die Option ANONYME ANMELDUNG aus. Aktivieren Sie unter Berechtigungen für ANONYMOUS LOGON das Kontrollkästchen Zulassen für die Remotezugriffsberechtigung , und wählen Sie dann OK aus.
Hinweis
Sie können den Benutzer auch lokal auf dem Zielcomputer der Gruppe Verteilte COM-Benutzer hinzufügen. Standardmäßig verfügt diese Gruppe über alle Berechtigungen für den Zugriff auf COM/DCOM auf jedem Windows-Computer.
Zulassen, dass Benutzer auf einen bestimmten WMI-Namespace zugreifen können
Sie können Benutzern den Zugriff auf einen bestimmten WMI-Namespace erlauben oder verweigern, indem Sie die Berechtigung Remoteaktivierung im WMI-Steuerelement für einen Namespace festlegen. Wenn ein Benutzer versucht, eine Verbindung mit einem Namespace herzustellen, auf den der Benutzer nicht zugreifen darf, erhält der Benutzer eine Fehlermeldung 0x80041003.
Standardmäßig ist diese Berechtigung nur für Administratoren aktiviert. Ein Administrator kann den Remotezugriff auf bestimmte WMI-Namespaces für einen Benutzer ohne Administratorrechte aktivieren.
Mit dem folgenden Verfahren werden Remoteaktivieren-Berechtigungen für einen Benutzer ohne Administratorrechte festgelegt.
Stellen Sie mithilfe von WMIMGMT.msc eine Verbindung mit dem Remotecomputer her.
Klicken Sie mit der rechten Maustaste auf WMI-Steuerelement , und wählen Sie Eigenschaften aus.
Wählen Sie auf der Registerkarte Sicherheit den Namespace und dann Sicherheit aus.
Hinweis
Root\cimv2 ist der Standardnamespace.
Suchen Sie das entsprechende Konto, oder fügen Sie es hinzu, und aktivieren Sie remote enable and Read Security in der Berechtigungsliste.
Hinweis
Wählen Sie Erweitert aus, um sicherzustellen, dass dieselben Berechtigungen an den Unterordner oder die Unternamespaces geerbt werden. Wählen Sie dann den gewünschten Benutzer aus, und stellen Sie sicher, dass Dieser Namespace und unternamespaces im Abschnitt Gilt für ausgewählt ist.
Um die Konnektivität mit einer bestimmten Klasse in einem bestimmten Namespace zu überprüfen, können Sie das Tool Windows Management Instrumentation Tester (WBEMTEST) verwenden, indem Sie die folgenden Schritte ausführen:
- Öffnen Sie WBEMTEST als Administrator, und wählen Sie Verbinden aus. Standardmäßig stellt die Konsole eine Verbindung mit dem Root\cimv2-Namespace des lokalen WMI her.
- Ändern Sie den Namespace in den Namespace, mit dem Sie die Verbindung testen möchten. Wenn es sich um einen Remotecomputer handelt, geben Sie ihn im Format \\<Computername>\Root\cimv2 ein.
Wenn die Verbindung erfolgreich ist, wird das Fenster WBEMTEST Standard mit dem bereitgestellten nicht standardmäßigen Namespace verbunden.
Standardmäßig verwendet die WBEMTEST-Verbindung die Anmeldeinformationen des angemeldeten Benutzers. Wenn Sie eine Verbindung mit einem anderen Konto herstellen, werden die Anmeldeinformationen angezeigt, bevor Sie versuchen, eine Verbindung herzustellen.
Das folgende Beispiel zeigt einen Versuch, mithilfe der Anmeldeinformationen von User1 eine Verbindung mit dem Namespace root\ccm auf "RemoteMachine1" herzustellen.
Um eine WMI-Verbindung zwischen einem in die Domäne eingebundenen Computer und einem Arbeitsgruppencomputer einzurichten, ziehen Sie einen lokalen Benutzer des Zielcomputers in Betracht.
Hinweis
Wenn Sie den integrierten lokalen Administrator des Zielcomputers verwenden, verfügt dieser Benutzer bereits über die entsprechenden Rechte für den Remotezugriff auf WMI von anderen Computern und benötigt keine zusätzliche Konfiguration.
Die Firewall des Zielcomputers sollte die eingehende WMI-Verbindung zulassen, für die die oben genannte Firewallkonfiguration wie im Abschnitt Windows-Firewalleinstellungen gezeigt ausgeführt werden kann. Konfigurieren Sie dann die DCOM-Sicherheit und den WMI-Namespace, wie in den Abschnitten Festlegen der DCOM-Sicherheit gezeigt, um einem Nicht-Administratorbenutzer den Remotezugriff auf einen Computer zu ermöglichen und Benutzern den Zugriff auf einen bestimmten WMI-Namespace erlauben .
Einstellungen der Windows-Firewall
WMI-Einstellungen für Windows-Firewalleinstellungen ermöglichen nur WMI-Verbindungen und nicht andere DCOM-Anwendungen.
Eine Ausnahme muss in der Firewall für WMI auf dem Remotezielcomputer festgelegt werden.
Die Ausnahme für WMI ermöglicht es WMI, Remoteverbindungen zu empfangen. Wenn eine Clientanwendung eine eigene Senke erstellt, muss diese Senke explizit den Firewallausnahmen hinzugefügt werden, damit Rückrufe erfolgreich sind.
Sie können WMI-Datenverkehr über die Windows-Firewall-Benutzeroberfläche aktivieren oder deaktivieren. Gehen Sie dazu wie folgt vor:
- Wählen Sie SystemsteuerungSicherheits-Windows-Firewall> aus.
- Wählen Sie Einstellungen ändern und dann die Registerkarte Ausnahmen aus.
- Aktivieren Sie im Fenster Ausnahmen das Kontrollkästchen Windows-Verwaltungsinstrumentation (WMI), um WMI-Datenverkehr durch die Firewall zu aktivieren. Deaktivieren Sie das Kontrollkästchen, um WMI-Datenverkehr zu deaktivieren.
Sie können WMI-Datenverkehr über die Firewall über die Eingabeaufforderung mithilfe der WMI-Regelgruppe aktivieren oder deaktivieren.
Verwenden Sie den folgenden Befehl an einer Eingabeaufforderung, um WMI-Datenverkehr über die Firewall zu aktivieren.
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes
Verwenden Sie den folgenden Befehl, um WMI-Datenverkehr durch die Firewall zu deaktivieren.
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=no
Anstatt einen einzelnen WMI-Regelgruppenbefehl zu verwenden, können Sie auch einzelne Befehle für jeden DCOM-, WMI-Dienst und jede Senke verwenden.
So aktivieren Sie WMI-Datenverkehr mithilfe separater Regeln für DCOM, WMI, Rückrufsenke und ausgehende Verbindungen:
Verwenden Sie den folgenden Befehl, um eine Firewall-Ausnahme für DCOM-Port 135 einzurichten:
netsh advfirewall firewall add rule dir=in name="DCOM" program=%systemroot%\system32\svchost.exe service=rpcss action=allow protocol=TCP localport=135
Verwenden Sie den folgenden Befehl, um eine Firewall-Ausnahme für den WMI-Dienst einzurichten:
netsh advfirewall firewall add rule dir=in name ="WMI" program=%systemroot%\system32\svchost.exe service=winmgmt action = allow protocol=TCP localport=any
Verwenden Sie den folgenden Befehl, um eine Firewall-Ausnahme für die Senke einzurichten, die Rückrufe von einem Remotecomputer empfängt:
netsh advfirewall firewall add rule dir=in name ="UnsecApp" program=%systemroot%\system32\wbem\unsecapp.exe action=allow
Verwenden Sie den folgenden Befehl, um eine Firewall-Ausnahme für ausgehende Verbindungen mit einem Remotecomputer einzurichten, mit dem der lokale Computer asynchron kommuniziert:
netsh advfirewall firewall add rule dir=out name ="WMI_OUT" program=%systemroot%\system32\svchost.exe service=winmgmt action=allow protocol=TCP localport=any
So deaktivieren Sie WMI-Datenverkehr mithilfe separater Regeln für DCOM, WMI, Rückrufsenken und ausgehende Verbindungen:
Verwenden Sie den folgenden Befehl, um die DCOM-Ausnahme zu deaktivieren:
netsh advfirewall firewall delete rule name="DCOM"
Verwenden Sie den folgenden Befehl, um die WMI-Dienst-Ausnahme zu deaktivieren:
netsh advfirewall firewall delete rule name="WMI"
Verwenden Sie den folgenden Befehl, um die Senke-Ausnahme zu deaktivieren:
netsh advfirewall firewall delete rule name="UnsecApp"
Verwenden Sie den folgenden Befehl, um die ausgehende Ausnahme zu deaktivieren:
netsh advfirewall firewall delete rule name="WMI_OUT"
Problembehandlung für verschiedene Szenarien
Die meisten Konnektivitätsprobleme sind auf falsche Berechtigungen, keine Berechtigungen oder externe Faktoren wie Firewalls oder Antivirensoftware zurückzuführen. Daher kann das Problem durch die Überprüfung der Konfiguration behoben werden.
Abgesehen von der Standardkonfiguration können sich einige zusätzliche Einstellungen auf die Konnektivität auswirken.
Überprüfen Sie die Anwendungs- und Systemereignisprotokolle auf Fehler, die von der Clientanwendung oder von der Quelle (Microsoft-Windows-DistributedCOM) protokolliert werden, und suchen Sie nach relevanten Fehlern oder Ereignissen, die je nach Szenario auf dem Quell- oder Zielcomputer protokolliert werden können.
Überprüfen Sie ereignisprotokolle der Windows-Firewall unter Ereignisanzeige>Anwendungs- und Dienstprotokolle>Microsoft>Windows>Windows-Firewall mit erweiterter Sicherheitsfirewall> auf alle Verbindungen von WMI, die von der Firewall blockiert werden.
Bestimmte Gruppenrichtlinie Einstellungen sind aktiviert, um das Standardverhalten und die Berechtigungen von RPC und DCOM zu ändern. Zum Beispiel:
Diese Gruppenrichtlinie kann nicht authentifizierte RPC-Aufrufe einschränken, was den Fehler verursachen kann:
Der RPC-Server ist nicht verfügbar. (Ausnahme von HRESULT: 0x800706BA)
Computerkonfiguration\Administrative Vorlagen\System\Remoteprozeduraufruf\Einschränken nicht authentifizierter RPC-Clients
Diese Einstellung steuert, wie die RPC-Serverruntime nicht authentifizierte RPC-Clients verarbeitet, die eine Verbindung mit RPC-Servern herstellen. Diese Richtlinieneinstellung wirkt sich auf alle RPC-Anwendungen aus, einschließlich WMI.
Diese Gruppenrichtlinie kann benutzerdefinierte DCOM-Berechtigungen konfigurieren:
Computerkonfiguration\Windows-Einstellungen\Sicherheitseinstellungen\Lokale Richtlinien\Sicherheitsoptionen\DCOM: Einschränkungen beim Starten von Computern in der SDDL-Syntax (Security Descriptor Definition Language)
Mit dieser Einstellung können Sie eine Zugriffssteuerungsliste auf zwei Arten angeben. Sie können den Sicherheitsdeskriptor in der SDDL eingeben oder Benutzern und Gruppen lokale Zugriffs- und Remotezugriffsberechtigungen erteilen oder verweigern.
Überprüfen Sie den dynamischen RPC-Portbereich auf dem Zielcomputer:
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp
Vergleichen Sie es mit einem funktionierenden Computer. Wenn der Portbereich nicht standardmäßig oder auf einen kleinen Bereich beschränkt ist, kann sich dies auf die WMI-Verbindung auswirken. Unter Dienstübersicht und Netzwerkportanforderungen für Windows wird der Standardportbereich angezeigt, der für RPC erforderlich ist.
Wenn das Problem ein Zugriffsproblem oder ein kerner WMI-Fehler ist, werden die eingehenden Abfragen als Betriebsereignisse im Protokoll Microsoft-Windows-WMI-Activity/Operational unter Ereignisanzeige>Anwendungs- und Dienstprotokolle>Microsoft>Windows>WMI-Activity protokolliert.
In einigen Szenarien können lokale WMI-Verbindungen fehlschlagen.
Sie können WMIMGMT.msc verwenden, um die lokale WMI-Konnektivität zu überprüfen, indem Sie mit der rechten Maustaste auf WMI-Steuerelement klicken und Eigenschaften auswählen.
Im Folgenden finden Sie einige Fehler, die auftreten, wenn der lokale WMI fehlschlägt:
-
Fehler beim Herstellen einer Verbindung mit dem <lokalen Computer> aufgrund von "WMI: Nicht gefunden"
-
Fehler beim Herstellen einer Verbindung mit dem <lokalen Computer> aufgrund von "Win32: Das System kann den angegebenen Pfad nicht finden"
-
Fehler beim Herstellen einer Verbindung mit dem <lokalen Computer> aufgrund von "WMI: Generischer Fehler"
Diese Art von Fehlern kann manchmal verursacht werden, wenn im WMI-Repository eine Störung vorliegt oder eine Beschädigung vorliegt.
Sie können den folgenden Befehl in einem Eingabeaufforderungsfenster mit erhöhten Rechten verwenden, um eine Konsistenzprüfung für das aktive oder aktuell verwendete WMI-Repository durchzuführen.
winmgmt /verifyrepository
Sie können diesen Befehl auch mit /verifyrepository <path>
ausführen. Wenn Sie das Argument path angeben, können Sie jede gespeicherte Kopie des Repositorys überprüfen.
In diesem Fall sollte das Argument path den vollständigen Pfad zur gespeicherten Repositorykopie enthalten. Das gespeicherte Repository sollte eine Kopie des gesamten Repositoryordners sein.
Im folgenden Verfahren wird beschrieben, wie die MOF-Dateien des WMI-Anbieters neu kompiliert und die WMI-Anbieter-DLLs erneut registriert werden. Dies schließt alle integrierten Anbieter und die im Standardpfad platzierten Anbieter ein. Führen Sie die folgenden Befehle in einem Eingabeaufforderungsfenster mit erhöhten Rechten aus.
Hinweis
Die folgenden Schritte umfassen einen Neustart des WMI-Diensts.
Beenden Sie den WMI-Dienst, und legen Sie ihn auf fest
disabled
:sc config winmgmt start= disabled net stop winmgmt /y
Navigieren Sie zum Ordner WBEM :
%systemdrive% cd %windir%\system32\wbem
Registrieren Sie die WMI-Anbieter erneut:
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
Legen Sie den WMI-Dienst wieder auf fest,
Auto
und starten Sie den Dienst:sc config winmgmt start= Auto net start winmgmt
Kompilieren Sie die MOF-Dateien erneut:
dir /b *.mof *.mfl | findstr /v /i uninstall > moflist.txt & for /F %s in (moflist.txt) do mofcomp %s
Hinweis
Es gibt mehrere externe Blogs und Websites, um das WMI-Repository zurückzusetzen oder das WMI-Repository neu zu erstellen. Dadurch wird das WMI-Repository wieder in den ursprünglichen Zustand versetzt, als das Betriebssystem installiert wurde. WMI verliert alle Informationen, die im Laufe der Zeit über das System selbst, Anwendungen, Dienste und andere Entitäten in seiner Umgebung gesammelt wurden. Daher wird nicht empfohlen, das WMI-Repository neu zu erstellen, es sei denn, es wird vom Microsoft-Support durchgeführt.
Verbindungsfluss auf Netzwerkebene
Die folgenden Ablaufverfolgungen sind die Ausgabe von Netzwerkablaufverfolgungen, die mithilfe des Netzwerkmonitors zwischen zwei Computern erfasst werden, während eine WMI-Abfrage mit WMIC.exeausgeführt wird.
Dadurch kann ermittelt werden, ob es sich um ein Problem mit der Netzwerkkonnektivität handelt.
Verbindung mit der Endpunktzuordnung an Port 135 des Zielcomputers:
65 9:07:30 AM 3/21/2017 6.2302032 svchost.exe 10.0.0.6 10.0.0.22 TCP TCP:Flags=......S., SrcPort=49229, DstPort=DCE endpoint resolution(135), PayloadLen=0, Seq=3759018265, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 {TCP:8, IPv4:7}
Anfordern der RPC-Schnittstellen-UUID für IRemoteSCMActivator:
68 9:07:30 AM 3/21/2017 6.2366981 svchost.exe 10.0.0.6 10.0.0.22 MSRPC MSRPC:c/o Bind: IRemoteSCMActivator(DCOM) UUID{000001A0-0000-0000-C000-000000000046} Call=0x5 Assoc Grp=0x0 Xmit=0x16D0 Recv=0x16D0 {MSRPC:9, TCP:8, IPv4:7}
Verbindung mit einem der dynamischen Ports, die von der Endpunktzuordnung des Zielcomputers bereitgestellt werden:
77 9:07:30 AM 3/21/2017 6.3539124 WMIC.exe 10.0.0.6 10.0.0.22 TCP TCP:Flags=......S., SrcPort=49230, DstPort=49154, PayloadLen=0, Seq=2143969401, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192 {TCP:10, IPv4:7}
Verbindung mit dem Namespace Root\CIMV2 des Computers "TargetMachine":
96 9:07:30 AM 3/21/2017 6.4702188 WMIC.exe 10.0.0.6 10.0.0.22 WMI WMI:IWbemLevel1Login:NTLMLogin Request, NetworkResource=\\TargetMachine\ROOT\CIMV2 PreferredLocale=ms_409,en-US,en Flags=0 {MSRPC:11, TCP:10, IPv4:7}
Abfrageausführung:
116 9:07:31 AM 3/21/2017 6.7577443 WMIC.exe 10.0.0.6 10.0.0.22 WMI WMI:IWbemServices:ExecQuery Request, *Encrypted* {MSRPC:11, TCP:10, IPv4:7}
Datensammlung
Bevor Sie eine Supportanfrage erstellen, um das Problem weiter zu untersuchen, können Sie die Informationen sammeln, indem Sie die unter Sammeln von Informationen mithilfe von TSS für Probleme mit der Benutzererfahrung beschriebenen Schritte ausführen. Sie können informationen auch mithilfe des tools WMI-Collect auf dem Computer sammeln, auf dem das Problem kürzlich aufgetreten ist. Die Schritte sind hier aufgeführt:
Hinweis
Die folgenden Schritte können auf den Quell- und Zielcomputern ausgeführt werden, während sie das Problem reproduzieren.
Laden Sie WMI-Collect.zip herunter, und extrahieren Sie ihn in einen Ordner, z. B. C:\temp.
Führen Sie an einer PowerShell-Eingabeaufforderung mit erhöhten Rechten das WMI-Collect.ps1 Skript aus dem Ordner aus, in dem das Skript gespeichert ist. Zum Beispiel:
C:\temp\WMI-Collect.ps1 -Logs -Trace -Network
Lassen Sie die PowerShell-Eingabeaufforderung mit der Meldung "Drücken Sie die EINGABETASTE, um die Erfassung zu beenden:" geöffnet.
Hinweis
Lassen Sie die Ablaufverfolgung nicht länger als eine Minute aktiviert.
Beenden Sie die Ablaufverfolgung, indem Sie die EINGABETASTE drücken.
Das Skript erstellt einen Unterordner mit den Ergebnissen aller Ablaufverfolgungen und Diagnoseinformationen. Komprimieren Sie den Ordner. Nachdem ein Supportfall erstellt wurde, kann diese Datei zur Analyse in den sicheren Arbeitsbereich hochgeladen werden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für