WMI-Abfragen
Informationen
- Kategorien: Kernel | Klassenformeln
- Version: 16.0.0.4166
- Veröffentlichungsdatum: Montag, 15. Oktober 2012
- Entwickler: Schulze
- Benötigt Datenbankänderung: Nein
- Betreff: Funktion für WQL-Abfragen auf Windows Management Instrumentation (WMI)
Beschreibung
Für das Abfragen von Eigenschaften des lokalen Rechners wurde die Funktion WMISelect implementiert. Mit dieser können alle WMI-Klassen wie z.B. Win32_DiscDrive, Win32_OperatingSystem oder Win32_ComputerSystem abgefragt werden.
Zum vorherigen Testen der WMI-Abfragen kann man z.B. den WMI Explorer von Advanced Network Software benutzen (http://www.ks-soft.net).
Beispielcode
// Seriennummer der eingebauten IDE-Festplatte auslesen
//
var string $arrResult[];
var string $sIterator;
var string $sResult;
var string $sDeviceID;
var string $sSerialNumber;
// DeviceID in Win32_DiskDrive abfragen
// die SerialNumber steht unter XP nicht in dieser WMI-Klasse, deshalb 2 Abfragen
//
if ( !WMISelect( "DeviceID", "Win32_DiskDrive", "InterfaceType=\"IDE\" AND MediaType=\"fixed hard disk media\"", $arrResult ))
{
MessageBox( "Fehler bei WMI-Abfrage: " + $arrResult[0] );
return;
}
if ( GetSize( $arrResult ) == 0 )
{
$sResult = "Es wurden keine Datensätze zurückgegeben.";
return;
}
// SerialNumber in Win32_PhysicalMedia abfragen
// die SerialNumber steht unter XP nur in dieser WMI-Klasse, deshalb 2 Abfragen
//
$sDeviceID = StrReplaceAll( $arrResult[0], "\\", "\\\\" );
ReSize( $arrResult, 0 );
if ( !WMISelect( "SerialNumber", "Win32_PhysicalMedia", "Tag=\"" + $sDeviceID + "\"", $arrResult ))
{
MessageBox( "Fehler bei WMI-Abfrage: " + $arrResult[0] );
return;
}
if ( GetSize( $arrResult ) == 0 )
{
$sResult = "Es wurden keine Datensätze zurückgegeben.";
return;
}
$sSerialNumber = $arrResult[0];
MessageBox( $sSerialNumber );