Ich habe versucht, verschiedene Informationen von Remote-PC aus Python von WMI Library zu extrahieren

Einführung

Es war notwendig, verschiedene Informationen von Hunderten von Client-PCs zu sammeln, und ich habe es genossen, Python-Code zu schreiben, daher ist dies zu dieser Zeit ein Memo. Übrigens wird davon ausgegangen, dass es sich in einer AD-Domänenumgebung befindet.

Vorbereitung

Remote-PC

Überprüfen Sie, ob die folgenden Dienste auf dem Remote-PC ausgeführt werden. Wenn es nicht ausgeführt zu werden scheint, stellen Sie es so ein, dass es gemäß der Gruppenrichtlinie oder der Force automatisch gestartet wird.

AD-Gruppenrichtlinieneinstellungen

Lesen Sie die folgende Seite und aktivieren Sie die RPC-Verbindung des Remote-PCs mithilfe der Gruppenrichtlinie. Remoteverwaltung der Windows-Firewall aktivieren

Um die Gruppenrichtlinie sofort wiederzugeben, setzen Sie sie auf der Remote-PC-Seite durch.

cmd.exe


gpupdate /force

Python-Einstellungen

Installieren Sie die für WMI erforderlichen Module auf der Remoteverbindungsseite (Python-Code-Ausführungsumgebung).

pip install pypiwin32
pip install wmi

Beispielcode

sample.py


# coding: utf-8

import wmi

NODE = "host-1.example.local"
USER = "Administrator@MYDOMAIN"
PASS = "P@ssW0rd!"

##Initialisierung des WMI-Clients (bei Verbindung mit einem lokalen PC)
#conn = wmi.WMI()
##Initialisierung des WMI-Clients (bei Verbindung mit einem Remote-PC)
conn = wmi.WMI(NODE, user=USER, password=PASS)

#Computernamen abrufen
# Win32_OperatingSystem => http://www.wmifun.net/library/win32_operatingsystem.html
obj = conn.Win32_OperatingSystem()[0]
print("Hostname: %s" % obj.CSName)

##C Laufwerksfreigabe prüfen(GB-Einheit, bis zu 2 Stellen nach dem Komma)
## Win32_LogicalDisk-Klasse=> http://www.wmifun.net/library/win32_logicaldisk.html
obj = conn.Win32_LogicalDisk(DeviceID='C:')[0]
free = float(obj.FreeSpace) / 1024 / 1024 / 1024
print('FreeSpace: {:.2f}'.format(free))

##Bestätigen Sie das aktuell angemeldete Benutzerkonto
## Win32_ComputerSystem-Klasse=> http://www.wmifun.net/library/win32_computersystem.html
obj = conn.Win32_ComputerSystem()[0]
print("LogonUser: %s" % obj.UserName)

##Bestätigung der PC-Seriennummer (Seriennummer)
## Win32_ComputerSystemProduct-Klasse=> http://www.wmifun.net/library/win32_computersystemproduct.html
obj = conn.Win32_ComputerSystemProduct()[0]
print("SerialNo: %s" % obj.IdentifyingNumber)

##Befehlsausführung
## Win32_Prozessklasse=> http://www.wmifun.net/library/win32_process.html
CMD = "notepad.exe"
CUD = None
##Trennzeichen für vollständigen Pfad(\)Weitere Flucht
#CMD = "C:\\Users\\Public\\Desktop\\example.exe"
#CUD = "C:\\Users\\Public\\Desktop"
SW_SHOWNORMAL = 1

p_startup = conn.Win32_ProcessStartup.new()
p_startup.ShowWindow = SW_SHOWNORMAL
pid, result = conn.Win32_Process.Create(
    CommandLine=CMD,
    CurrentDirectory=CUD,
    ProcessStartupInformation=p_startup
)
if result == 0:
    print "ProcessId: %d" % pid
else:
    raise RuntimeError, "Problem creating process: %d" % result

Ausführungsergebnis

% python sample.py
Hostname: HOST-1
FreeSpace: 18.53
LogonUser: MYDOMAIN\user001
SerialNo: JPA12345LF
ProcessId: 3784

Andere

Referenz

wmi Tutorial WMI Library

Recommended Posts

Ich habe versucht, verschiedene Informationen von Remote-PC aus Python von WMI Library zu extrahieren
Ich habe versucht, verschiedene Informationen von der Codeforces-API abzurufen
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
[Einführung in Docker] Ich habe versucht, verschiedene Docker-Kenntnisse zusammenzufassen, die durch das Studium gewonnen wurden (Windows / Python).
Ich habe versucht, Funktionen mit SIFT von OpenCV zu extrahieren
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Ich wollte die Python-Bibliothek von MATLAB verwenden
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
[Python] Ich habe versucht, Json von Tintenfischring 2 zu bekommen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe eine Funktion zum Abrufen von Daten aus der Datenbank spaltenweise mithilfe von SQL mit SQLite3 von Python [SQLite3, SQL, Pandas] erstellt.
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, Zeichen aus Untertiteln zu extrahieren (OpenCV: tesseract-ocr edition)
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Ich habe verschiedene Methoden ausprobiert, um japanische Post mit Python zu senden
Ich möchte viele Prozesse von Python aus starten
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, das Blackjack of Trump-Spiel mit Python zu implementieren
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, die Sprecheridentifikation mithilfe der Sprechererkennungs-API von Azure Cognitive Services mit Python zu überprüfen. # 1
Ich habe versucht zu beheben "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren"
Ich habe versucht, die Sprecheridentifikation mithilfe der Sprechererkennungs-API von Azure Cognitive Services in Python zu überprüfen. # 2
Ich habe versucht, den Inhalt jedes von Python pip gespeicherten Pakets in einer Zeile zusammenzufassen
Ich habe versucht, Boeing die Geigenleistung durch Posenschätzung vorzustellen
Ich habe versucht, das Schichtplanungsproblem mit verschiedenen Methoden zu lösen
Ich habe versucht, Spieler- und Fertigkeitsnamen aus Sportartikeln zu extrahieren
Verschiedene Möglichkeiten, um in Python ein Array von Zahlen von 1 bis 10 zu erstellen.
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, automatisch Bilder von Kanna Hashimoto mit Python zu sammeln! !!
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
[Python] Ich habe versucht, das Fluchtprogramm zu reproduzieren, um aus der Welt zurückzukehren und aus der modifizierten Welt von "Das Verschwinden von Haruhi Suzumiya" zurückzukehren.
Django super Einführung von Python-Anfängern! Teil 2 Ich habe versucht, die praktischen Funktionen der Vorlage zu nutzen
Python-Programmierung: Ich habe versucht, mithilfe von BeautifulSoup4 Unternehmensinformationen (Crawlen) von Yahoo Finance in den USA abzurufen
Ich habe versucht, E-Mails von Node.js und Python mithilfe des E-Mail-Zustelldienstes (SendGrid) von IBM Cloud zuzustellen!
[Data Science-Grundlagen] Ich habe versucht, mit Python von CSV auf MySQL zu speichern
Ich habe versucht, Zeichen aus Untertiteln zu extrahieren (OpenCV: Google Cloud Vision API)
Ich habe versucht, die Bayes'sche lineare Regression durch Gibbs-Sampling in Python zu implementieren
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
(Python) Ich habe versucht, 1 Million Hände zu analysieren ~ Ich habe versucht, die Anzahl der AA ~ zu schätzen
Ich habe versucht, die optimale Route des Traumlandes durch (Quanten-) Tempern zu finden
Ich habe versucht, die Phase der Geschichte mit COTOHA zu extrahieren und zu veranschaulichen
Ich habe versucht, verschiedene Muster von Datumszeichenfolgen in pandas.to_datetime einzugeben
Ich habe versucht, fMRI-Daten mit Python zu analysieren (Einführung in die Dekodierung von Gehirninformationen)
Ich habe verschiedene Versionen der Python + OpenCV + FFmpeg-Umgebung auf dem Mac ausprobiert
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, das Ergebnis des A / B-Tests mit dem Chi-Quadrat-Test zu überprüfen
[Lambda] Ich habe versucht, ein externes Python-Modul über S3 zu integrieren