Thread WMI Abfrage (4 answers)
Opened by oblivion at 2006-01-17 19:50

oblivion
 2006-01-17 19:50
#61992 #61992
User since
2006-01-17
24 Artikel
BenutzerIn
[default_avatar]
schönen guten Abend!

kurzer Hintergrund:
Ich bin noch ein ziemlicher Anfänger und
man hat mir den lustigen Auftrag gegeben ein
Programm zu erstellen,das eine Hardware Inventur durchführt.
Ich benutze Perl und die WMI von Windows um auf die einzelnen Komponenten zugreifen zu können.

soweit klappt das ja auch alles, bis auf die ARRAYS und HASHES in der WMI:

Wenn ich z.B.:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use Win32::OLE('in');
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

$computer = ".";
$objWMIService = Win32::OLE->GetObject
("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
$colItems = $objWMIService->ExecQuery
("SELECT * FROM Win32_NetworkAdapter","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);

foreach my $objItem (in $colItems)
{
print "$objItem->{IPAddress}";
}


eingebe, bekomme ich nichts angezeigt.

erst Wenn ich

Code: (dl )
1
2
3
4
foreach my $objItem (in $colItems)
{
print "$objItem->{IPAddress}[0]";
}


eingebe, dann zeigt er mir die IP-Adresse an.

So, was mache ich jetzt aber wenn ich mehrere IP-Adressen habe? gibts eine Möglichkeit, das

$objItem->{IPAddress} zu einem Hash zu machen und alle Werte auslesen zu lassen?

vielen Dank für Eure Hilfe

Gruß Oblivion

View full thread WMI Abfrage