use Win32::OLE ('in');
# Angaben zum PC anpassen !
$pc = "192.168.077.128"; # Namen oder IP. Aktueller PC = "."
$benutzer = "wmiadmin"; # Benutzeraccount
$passwort = "adminwmi"; # Passwort
use warnings;
use Win32::NetAdmin qw[GetServers GetError SV_TYPE_ALL];
my @servers;
GetServers("", "it-boerde", SV_TYPE_ALL, \@servers) or die "Failed to browse servers: " . GetError() . "\n";
print join "\n", @servers, "" if @servers and shift;
print scalar @servers . " client(s) found.\n";
print "@servers";
$anzahl = scalar @servers;
#
# Variante 3. Besorgen der SWbemLocators funktioniert mit allen Skripting Hosts.
$wbemlocator = Win32::OLE->new("WbemScripting.SWbemLocator") or
die "can't create locator object: ".Win32::OLE->LastError( )."\n";
#
# Besorgen des WbemServices aus dem WbemLocator. Fuer Variante 2 und 3 Kommentare entfernen
# Moegliche Parameter: Maschine, "root/cimv2", User, Passwort. NUR REMOTE AUFRUFE
$wbemservices = $wbemlocator->ConnectServer($pc,"root/cimv2",$benutzer,$passwort)
or die "can't create server object: ".Win32::OLE->LastError( )."\n";
if ($wbemservices eq "") {
print ("Keine Verbindung moeglich! \nÜberpruefe User und Passwort.\nSiehe auch C:\\WINNT\\system32\\wbem\Logs");
}
else {
$wbemObject = $wbemservices->InstancesOf("Win32_PerfFormattedData_PerfDisk_LogicalDisk");
foreach $wbemObject (in $wbemObjectSet)
{
print("Freie Festplattenkapazitaet Partition $Partition: " . $wbemObject->PercentFreeSpace);
$Partition = $Partition + 1;
if ($wbemObject->PercentFreeSpace < 10){
print(" !!!!!!!!!!\n");
}
else {
print("\n");
}
}
}
print("Ende");
Soweit bin ich schon wie kann ich denn nun Rechner aus dem Netz auslesen und hier integrieren ? Kann mir da einer BIDDE helfen ?