WMI für Linux

WMI-Abfragen von Windowsrechnern von einem Linuxrechner aus

Installation

Das Paket wmi-client muss installiert werden:

apt-get install wmi-client

Wenn das Paket nicht vorhanden ist, muss es aus dem Internet geladen und kompiliert werden:

cd
wget http://dev.zenoss.org/svn/trunk/inst/externallibs/wmi-1.3.13.tar.bz2

Das Paket muss jetzt ausgepackt werden:

tar xvfj wmi-1.3.13.tar.bz2
cd wmi-1.3.13

Das autoconf-Paket sowie diverse Compiler und Hilfstools müssen jetzt installiert werden:

apt-get install autoconf gcc make

Jetzt wird das eigentliche wmitool kompiliert:

export ZENHOME=`pwd`
make

Abfragen

Danach gehen wir in das entstandene bin-Verzeichnis und führen unsere erste Abfrage auf einen Windowsrechner aus.
Dabei ist zu beachten dass immer ein (lokaler)Administratoraccount zur Abfrage benötigt wird.
sonst gibts ein „NT_STATUS_ACCESS_DENIED“

cd bin
./wmic -U myNTDOM/localerAdmin%seinPasswort //pcnr1234 "SELECT name,ExecutablePath FROM WIN32_Process"

Ausgabe:

C:\WINDOWS\System32\svchost.exe|876|svchost.exe
C:\WINDOWS\System32\cmd.exe|4555|cmd.exe
C:\Programme\Mozilla Firefox\firefox.exe|4567|firefox.exe
...


Zeige mir alle Applicationevents auf dem pcnr1234 an:

./wmic -U myNTDOM/localerAdmin%seinPasswort //pcnr1234 "SELECT * FROM WIN32_NTLogEvent Where Logfile = 'Application'"  

Zeige mir alle Events auf dem pcnr1234 seit heute(22.12.2011) 07:47 Uhr früh an:

./wmic -U myNTDOM/localerAdmin%seinPasswort //pcnr1234 "SELECT * FROM WIN32_NTLogEvent Where TimeGenerated > '20111220747000.000000-000'"

Zeige mir alle Dienste auf dem pcnr1234 und ihren Status (Running/Stopped) an:

./wmic -U myNTDOM/localerAdmin%seinPasswort //pcnr1234 "SELECT Name,State,Pathname FROM WIN32_Service"

Zeige mir die DELL-Technummer auf dem pcnr1234 an:

wmic -U myNTDOM/localerAdmin%seinPasswort //pcnr1234 "SELECT SerialNumber FROM WIN32_BIOS"