2017-02-14 9 views
0

Ich habe gekämpft, um WMI von Python zu machen, um eine .cmd-Datei auf einem entfernten Rechner auszuführen. Ich habe ein Konto als Standardbenutzer, um die .cmd-Datei auszuführen, wenn es nur 1 Zeile enthält, cmd.exe /c dir /b c:\ > c:\my_tmp.txt. Aber wenn ich die Zeile zu file.exe -Execute -Action:CreateNew ersetzte, wird Datei.exe nicht ausgeführt.Was ist <_wmi_namespace: <COMObject <unknown>>?

Hier ist der Code, den ich auf einen Remote-Server verwenden zu verbinden, und die Informationen über wmi.WMI gesendet auszudrucken()

conn = wmi.WMI(host, user = myUsername, password = myPassword) 
print "===> conn object: ", conn 

Hier ist die Ausgabe, nachdem ich den Python-Skript in meinem lokalen Rechner lief :

===> conn object: <_wmi_namespace: <COMObject <unknown>>> 

Meine Fragen:
1) Was ist < _wmi_namespace:>? 2) Wie kann ich überprüfen, ob der Host und die Anmeldeinformationen, die ich an den Remote-Server gesendet habe, korrekt sind?

Antwort

0

WMI verwendet verschiedene Namespaces, die Verbindung zu WMI erfordert die Verbindung über einen bestimmten Namespace (der der Standardwert ist, falls nicht angegeben), der verschiedene Addons für die Ausführung in verschiedenen Namespaces zulässt.

COMObject <unknown> zeigt an, dass Python die Details des zurückgegebenen Objekts (in diesem Fall den WMI-Connector) nicht kennt, möglicherweise aufgrund Ihrer Laufzeitumgebung, oder die COM-Bibliothek ist möglicherweise nicht vollständig registriert/erkannt .

Sie können überprüfen, ob die Verbindung erfolgreich hergestellt wurde, indem Sie auf die Eigenschaften von conn, z. print c.Win32_OperatingSystem.

Verwandte Themen