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.:
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
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