Frage to Win32::NetAdmin

Frage to Win32::NetAdmin

am 06.09.2007 12:06:06 von Ferry Bolhar

Hallo,

ich verwende die Funktion GetServers() von Win32::NetAdmin
wie folgt:

------------------
use warnings;
use strict;
use Win32::NetAdmin qw[GetServers GetError SV_TYPE_SERVER];

my @servers;

GetServers("", "WienKAV", SV_TYPE_SERVER, \@servers) or
die "Failed to browse servers: " . GetError() . "\n";

print join "\n", @servers, "" if @servers and shift;

print scalar @servers . " server(s) found.\n";
-----------------------------

Danach sollte ich - laut Beschreibung des Moduls - eine Liste aller
Rechner in der "WienKAV" Domaine, die sich als Server deklariert
haben, in @servers bekommen. Tatsächlich passiert aber einmal
etliche Minuten gar nichts, bis der GetServers() Aufruf abbricht und
von GetError() als Fehler 8 ("Not enough storage available for this
command") zurückgegeben wird. Im Task Manager ist zu erkennen,
dass der Prozess, der das Perl-Exe ausführt, Speicher bis-zum-geht-
nicht-mehr für sich reklamiert. Wobei zu sagen ist, dass mein Rechner
mit 512MB (W2000 Professional, ActiveState Perl 5.8.8 Build 817)
ja doch über einigen Speicher verfügt. Aber irgendwann ist natürlich
auch hier Schluss.

Wenn ich statt SV_TYPE_SERVER SV_TYPE_BAKCTRL
(es werden nur Rechner, die sich als Backup Domain Controller
deklariert haben, ausgewählt) oder SV_TYPE_PRINT (es werden
nur Print-Server ausgewählt) angebe, bekomme ich sofort die richtige
Information (hier 6 bzw. 92) in @servers zurück.

In der angegebenen Domaine sind ca. 800 Server. Schön, das ist
schon eine gewisse Menge, aber es kann doch nicht soviel sein, dass
sich die GetServers() Funktion komplett aufhängt.

Hat vielleicht jemand Erfahrung mit dieser Funktion und weiß, was
ich falsch mache? Ich habe meine Informationen nur aus der POD,
die mit dem Modul mitgeliefert wird.

Schönen Dank und LG,

Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at