Share via


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.

    Screenshot des Assistenten zum Erstellen von Clustern, der zeigt, dass der Computer nicht erreicht werden kann.

    Screenshot des Assistenten zum Hinzufügen von Knoten, der fehler beim Abrufen der maximalen Anzahl von Knoten zeigt.

  • 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.

    Screenshot des Active Directory Domain Services-Konfigurations-Assistenten, der zeigt, dass Adprep keine Daten abrufen konnte.

  • Die lokale WMI-Abfrage kann das Get-WmiObject PowerShell-Cmdlet nicht verwenden und erhält den Fehler "Zugriff verweigert".

    Screenshot des Cmdlet-Ergebnisses

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

    Diagramm des WMI-Verbindungsflusses.

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:

  1. Wählen Sie Ausführung starten> aus, geben Sie DCOMCNFG ein, und wählen Sie dann OK aus.
  2. Erweitern Sie im Fenster Komponentendienstedie Option Komponentendienste-Computer>. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz , und wählen Sie Eigenschaften aus.
  3. Wählen Sie im Dialogfeld Eigenschaften des eigenen Computers die Registerkarte COM-Sicherheit aus.
  4. Wählen Sie unter Start- und Aktivierungsberechtigungen die Option Grenzwerte bearbeiten aus.
  5. 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.
  6. 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:

  1. Wählen Sie Ausführung starten> aus, geben Sie DCOMCNFG ein, und wählen Sie dann OK aus.
  2. Erweitern Sie im Fenster Komponentendienstedie Option Komponentendienste-Computer>. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz , und wählen Sie Eigenschaften aus.
  3. Wählen Sie im Dialogfeld Eigenschaften des eigenen Computers die Registerkarte COM-Sicherheit aus.
  4. Wählen Sie unter Zugriffsberechtigungen die Option Grenzwerte bearbeiten aus.
  5. 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.

  1. Stellen Sie mithilfe von WMIMGMT.msc eine Verbindung mit dem Remotecomputer her.

  2. Klicken Sie mit der rechten Maustaste auf WMI-Steuerelement , und wählen Sie Eigenschaften aus.

  3. Wählen Sie auf der Registerkarte Sicherheit den Namespace und dann Sicherheit aus.

    Hinweis

    Root\cimv2 ist der Standardnamespace.

  4. 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.

    Screenshot des Berechtigungseintrags für CIMV2 mit den entsprechenden Berechtigungen

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:

  1. Ö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.
  2. Ä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.

Screenshot des Fensters

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:

  1. Wählen Sie SystemsteuerungSicherheits-Windows-Firewall> aus.
  2. Wählen Sie Einstellungen ändern und dann die Registerkarte Ausnahmen aus.
  3. 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"

    Screenshot: WMI-Steuerelement (lokal) Eigenschaftenfenster mit dem WMI-Fehler

  • Fehler beim Herstellen einer Verbindung mit dem <lokalen Computer> aufgrund von "Win32: Das System kann den angegebenen Pfad nicht finden"

    Screenshot: WMI-Steuerelement (lokal) Eigenschaftenfenster, der zeigt, dass das System den angegebenen Pfadfehler nicht finden kann.

  • Fehler beim Herstellen einer Verbindung mit dem <lokalen Computer> aufgrund von "WMI: Generischer Fehler"

    Screenshot des WMI-Steuerelements (lokal) Eigenschaftenfenster mit dem WMI-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.

  1. Beenden Sie den WMI-Dienst, und legen Sie ihn auf fest disabled:

    sc config winmgmt start= disabled
    net stop winmgmt /y
    
  2. Navigieren Sie zum Ordner WBEM :

    %systemdrive%
    cd %windir%\system32\wbem
    
  3. Registrieren Sie die WMI-Anbieter erneut:

    for /f %s in ('dir /b *.dll') do regsvr32 /s %s
    
  4. Legen Sie den WMI-Dienst wieder auf fest, Auto und starten Sie den Dienst:

    sc config winmgmt start= Auto
    net start winmgmt 
    
  5. 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.

  1. Laden Sie WMI-Collect.zip herunter, und extrahieren Sie ihn in einen Ordner, z. B. C:\temp.

  2. 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
    
  3. 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.

  4. Beenden Sie die Ablaufverfolgung, indem Sie die EINGABETASTE drücken.

  5. 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.