Über die WMI Informationen über den Rechner erfahren
Verfasst: Dienstag 1. Februar 2005, 13:47
				
				Windows® Management Instrumentation (WMI)
heißt die Microsoft Implementierung des Web Based Enterprise Management (WBEM)-Standard. WMI bietet den Zugriff auf Systeminformationen, die bislang nur mit komplizierten API-Aufrufen zu ermitteln waren.
Das hier unten aufgeführte Beispiel dient als Beispiel, um halt möglichst schnell Informationen zu erhalten.
Welche weiteren Möglichkeiten existieren findet ihr unter folgendem Link:
http://msdn.microsoft.com/library/defau ... lasses.asp
Viel Spaß mit dem Code.
Hinweis: Selbstverständlich kann man durch die WMI auch Systemeinstellungen ändern.
Greetz from 2bock
			heißt die Microsoft Implementierung des Web Based Enterprise Management (WBEM)-Standard. WMI bietet den Zugriff auf Systeminformationen, die bislang nur mit komplizierten API-Aufrufen zu ermitteln waren.
Das hier unten aufgeführte Beispiel dient als Beispiel, um halt möglichst schnell Informationen zu erhalten.
Welche weiteren Möglichkeiten existieren findet ihr unter folgendem Link:
http://msdn.microsoft.com/library/defau ... lasses.asp
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import wmi
from win32com.client import *
from array import *
class WMIInformations:        
           
    def GetProcessorType(self,computer='./root/cimv2'):
        return self.GetWMIInfo(computer,'Win32_Processor','ProcessorType')
       
    def GetProcessorManufactor(self,computer='./root/cimv2'):
        return self.GetWMIInfo(computer,'Win32_Processor','Description')
               
    def GetIPAddress(self,computer='./root/cimv2'):
        return self.GetWMIInfo(computer,'Win32_NetworkAdapterConfiguration','IPAddress')
        
    def GetSystemName(self,computer='./root/cimv2'):
        return self.GetWMIInfo(computer,'Win32_Processor','SystemName')
        
    def GetAllFreeSpace(self,disk='c'):
        try:
            if not disk.find(':'):
                disk+=':'
                
            for disk in wmi.WMI().Win32_LogicalDisk (DriveType=3):
                return disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size)),str((int(disk.FreeSpace)/1024)/1024) + ' MB'
        except:
            return 'error in GetAllFreeSpace'
        
    def GetWMIInfo(self,computer, modul, propertie):
        # Dies ist die Main Funktion
        try:
            wmi = GetObject('winmgmts://' + computer )
            _wmiobj = wmi.ExecQuery('select * from '+ modul)
            for i in _wmiobj:
                return i.Properties_(propertie).Value
        except:
            return 'error in GetWMIInfo()'       
        
wmiInfo= WMIInformations()
print wmiInfo.GetIPAddress()
Hinweis: Selbstverständlich kann man durch die WMI auch Systemeinstellungen ändern.
Greetz from 2bock

