Schrift
[thread]7629[/thread]

WMI Abfrage

Leser: 2


<< >> 5 Einträge, 1 Seite
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
esskar
 2006-01-17 21:11
#61993 #61993
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
schau dir mal den Scriptomatic 2.0 von Microsoft an
oblivion
 2006-01-17 21:46
#61994 #61994
User since
2006-01-17
24 Artikel
BenutzerIn
[default_avatar]
das ist ein guter tipp, vielen Dank!
Aber ich verstehe nicht, wie man an die Werte des Hashes rankommt. Wenn jemand dazu vielleicht eine Erklärung hätte wäre ich ihm wirklich dankbar


Gruß Oblivion
sesth
 2006-01-18 12:08
#61995 #61995
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Versuchs mal mit
Code: (dl )
use Data::Dumper;
und
Code: (dl )
print Dumper($colItems);
Dann sollte die Datenstruktur transparent werden.
Gruß
Thomas
oblivion
 2006-01-18 12:17
#61996 #61996
User since
2006-01-17
24 Artikel
BenutzerIn
[default_avatar]
ok vielen Dank, werd mein Glück versuchen.

;-)

Gruß Oblivion
<< >> 5 Einträge, 1 Seite



View all threads created 2006-01-17 19:50.