WMIC-Abfrage vom Server nicht möglich: Ausnahmefehler
Guten Tag,
ich bin gerade dabei OpenAudIT, ein freies NetzwerkInventarisierungs-Tool im Netzwerk zu implementieren. Leider kann das Tool bei den Windowsgeräten keine WMIC-Abfragen durchführen.
Dies ein Ausschnitt aus dem Debugger:
Ich gehe davon aus, dass dies kein Problem vom Inventarisierungsprogramm ist sondern vielmehr eine EInstellung auf dem Server.
Habe ebenfalls eine simple Abfrage zu Test genommen:
Obere CommandLine ist der Test vom Server zu Client. Unten vom gleichen Client zum gleichen Server.
Fehlermeldung:
FEHLER:
Beschreibung = Ausnahmefehler aufgetreten.
Edit: Die untere Commandline vom Client kann alle anderen Computer in der Domäne abfragen. Nur keine Server. Auch wenn dort PC107 gezeigt wird...
Server: Windows Server 2008 R2 VM
Client Windows 10 Ver. 1607
Hat jemand eine Idee?
ich bin gerade dabei OpenAudIT, ein freies NetzwerkInventarisierungs-Tool im Netzwerk zu implementieren. Leider kann das Tool bei den Windowsgeräten keine WMIC-Abfragen durchführen.
Dies ein Ausschnitt aus dem Debugger:
Ich gehe davon aus, dass dies kein Problem vom Inventarisierungsprogramm ist sondern vielmehr eine EInstellung auf dem Server.
Habe ebenfalls eine simple Abfrage zu Test genommen:
Obere CommandLine ist der Test vom Server zu Client. Unten vom gleichen Client zum gleichen Server.
Fehlermeldung:
FEHLER:
Beschreibung = Ausnahmefehler aufgetreten.
Edit: Die untere Commandline vom Client kann alle anderen Computer in der Domäne abfragen. Nur keine Server. Auch wenn dort PC107 gezeigt wird...
Server: Windows Server 2008 R2 VM
Client Windows 10 Ver. 1607
Hat jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 362395
Url: https://administrator.de/forum/wmic-abfrage-vom-server-nicht-moeglich-ausnahmefehler-362395.html
Ausgedruckt am: 22.04.2025 um 09:04 Uhr
36 Kommentare
Neuester Kommentar
Zusätzlich gehe folgende Leitfäden zum Problemen mit Remote-WMI aufmerksam durch
https://technet.microsoft.com/de-de/library/ff406382.aspx?f=255&MSPP ...
https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-cant-connect- ...
https://technet.microsoft.com/de-de/library/ff406382.aspx?f=255&MSPP ...
https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-cant-connect- ...
Zitat von @Gwahlers:
Ah okay. "Ungültiger Parameter für GET" kommt dabei heraus. Hat das was mit den Versionen zu tun? (Win2008 R2 <-> Windows 10)
Gerade mal getestet. SRV2008R2 => WIN10(1709) Remote-Abfragen funktionieren einwandfrei auch mit der selben Syntax und Klasse von oben egal ob Domain joined oder nicht.Ah okay. "Ungültiger Parameter für GET" kommt dabei heraus. Hat das was mit den Versionen zu tun? (Win2008 R2 <-> Windows 10)
Poste doch bitte mal die ganze Ausgabe des Traces, das kann unmöglich alles gewesen sein.
Der zu nutzende Befehl steht oben ...
Ausgabe sollte ungefahr so aussehen (Ausschnitt):
usw.
wmic /Node:PC107 /TRACE:ON csproduct get uuid
C:\Users\Administrator>wmic /node:192.168.1.34 /TRACE:on csproduct get uuid
SUCCESS: IWbemLocator::ConnectServer(L"root\cli", NULL, NULL, L"ms_407", 0L, L"<
null>", NULL, -)
Line: 143 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
SUCCESS: CoSetProxyBlanket(-, RPC_C_AUTHN_DEFAULT, RPC_C_AUTHZ_NONE, NULL, 6, 3,
-, EOAC_NONE)
Line: 162 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
SUCCESS: IWbemLocator::ConnectServer(L"root\cli\ms_407", NULL, NULL, L"ms_407",
0L, L"<null>", NULL, -)
Line: 2524 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
SUCCESS: CoSetProxyBlanket(-, RPC_C_AUTHN_DEFAULT, RPC_C_AUTHZ_NONE, NULL, 6,
3, -, EOAC_NONE)
Line: 2538 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
SUCCESS: IWbemServices::GetObject(L"MSFT_CliAlias.FriendlyName='csproduct'", 0,
NULL, -)
Line: 239 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
SUCCESS: IWbemClassObject::Get(L"Target", 0, -, 0, 0)
Line: 258 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
Result: Select * from Win32_ComputerSystemProduct
SUCCESS: IWbemClassObject::Get(L"PWhere", 0, -,0, 0)
Line: 286 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
Result:
SUCCESS: IWbemClassObject::Get(L"Connection",0, -, 0, 0)
Line: 314 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
Result: <Embeded Object>
SUCCESS: QueryInterface(IID_IWbemClassObject, -)
Line: 330 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
SUCCESS: IWbemClassObject::Get(L"Namespace", 0, -,0, 0)
Line: 430 File: d:\w7rtm\admin\wmi\wbem\tools\wmic\cmdalias.cpp
Result: ROOT\CIMV2
...
..
.
Das sieht danach aus als schlägt hier eine XSL Transformation fehl, entweder ist die genannte XSL Transformation Datei korrupt/fehlerhaft/veraltet oder die vom Client zurückgelieferte XML Datei nicht konform.
Ich persönlich würde hier als nächsten Schritt mal WIRESHARK dazwischen schalten und mit die Raw-Daten der gelieferten XML ansehen und prüfen ob die XSL im genannten Ordner noch den Vorgaben entspricht und sie vom Installationsmedium wiederherstellen.
P.s. Lass dein Programm doch einfach über cmd und Powershell Abruf die Daten abrufen, dann brauchst du wmic nicht.
Bsp.
Ich persönlich würde hier als nächsten Schritt mal WIRESHARK dazwischen schalten und mit die Raw-Daten der gelieferten XML ansehen und prüfen ob die XSL im genannten Ordner noch den Vorgaben entspricht und sie vom Installationsmedium wiederherstellen.
P.s. Lass dein Programm doch einfach über cmd und Powershell Abruf die Daten abrufen, dann brauchst du wmic nicht.
Bsp.
powershell -Executionpolicy Bypass -Command "gwmi Win32_Bios -Computer 'PC107' | Select -Expand SerialNumber"
Zitat von @Gwahlers:
Also die MWI-Queries über die Skripte laufen eigenartigerweise, jedoch nicht über die Kommandozeile. Was ist mit Skripthost gemeint? wscript.exe und cscript.exe? Die laufen.
Ja.Also die MWI-Queries über die Skripte laufen eigenartigerweise, jedoch nicht über die Kommandozeile. Was ist mit Skripthost gemeint? wscript.exe und cscript.exe? Die laufen.
Das Inventarprogramm OpenAudIT verwendet auf anderem Wege vbc-Scripts um mehrere Rechner abzufragen. Die verwendeten Abfragen wie Beispielsweise:
objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,32)
funktionieren einwandfrei. Aber einfache wie ich sie oben gepostet habe laufen nicht. Problem wäre an sich gelöst, da ich nun die Scripts einzeln über einen Task ausführe. Warum jedoch der einfache wmic-Befehl nicht funktioniert, keine Ahnung...
Ja deswegen vermute ich das eben nur wmic selbst Probleme hat nicht WMI auf den Systemen an sich.objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,32)
funktionieren einwandfrei. Aber einfache wie ich sie oben gepostet habe laufen nicht. Problem wäre an sich gelöst, da ich nun die Scripts einzeln über einen Task ausführe. Warum jedoch der einfache wmic-Befehl nicht funktioniert, keine Ahnung...
Ich schätze halt das eine der WMI Komponenten (dlls etc.) ein Update erfahren hat was zum nicht funktionieren der Abfragen führt. Welches Update das sein könnte kann ich momentan auch nicht sagen. Muss ich mal bei Zeiten etwas nachforschen.
OK, dann lass mal WMiDiag durchlaufen
https://www.microsoft.com/en-us/download/details.aspx?id=7684
Zusätzlich probier mal einen anderen Output-Formatter wie /format:csv
https://www.microsoft.com/en-us/download/details.aspx?id=7684
Zusätzlich probier mal einen anderen Output-Formatter wie /format:csv
Hm, also dann muss das an allen euren Installationen liegen (Image?), hier funktioniert es bei einem voll gepatchten einer neuen 2008R2 VM einwandfrei. Was da sonst bei euch noch im Argen liegt kann ich jetzt aus der Ferne nicht mehr beurteilen, sorry. Sicher ist nur das hier wirklich nur ein XSL-Transformation Problem vorliegt. Beteiligt daran ist das File texttable.xsl. D.h. entweder passen hier die XML-Transformation Komponenten nicht zusammen oder ...?
Was da sonst noch auf den Kisten werkelt oder was für Komponenten installiert wurden liegt ja nicht in meinem Einflussbereich
.
Funktionieren denn lokale Abfragen (also ohne /node Parameter) mit der Tabellenausgabe?
Alternativ nimm halt als Workaround die oben genannten Ausgabeformate, das Tabellenformat ist bei einer Abfrage eines einzelnen Wertes sowieso nicht gerade ideal.
Was da sonst noch auf den Kisten werkelt oder was für Komponenten installiert wurden liegt ja nicht in meinem Einflussbereich
Funktionieren denn lokale Abfragen (also ohne /node Parameter) mit der Tabellenausgabe?
Alternativ nimm halt als Workaround die oben genannten Ausgabeformate, das Tabellenformat ist bei einer Abfrage eines einzelnen Wertes sowieso nicht gerade ideal.