Jein es steht zwar im AD welche Gruppe auf das Objekt zugreifen darf aber man kann ja auch lokal auf dem Rechner noch Admingruppen hinzufügen. Dann müsste ich immer mit Domain-Admisn Orüfung arbeiten, bzw ein Domainadmin sein.
WMI-Ping gibt es wohl. Schau doch mal bei Microsoft
Im VBS Script funktioniert es ja auch, bekomme eine sehr schnelle Antwort, wenn ich Zugriff habe und eine langsamere Antwort (ca 500ms) wenn ich keinen habe. Wenn ich allerdings keinen Zugriff habe und ohne Ping eine Abfrage starte dauert es im VBS und im Delphi ca 5 sec bis er merkt, dass er nicht darf. Rechne mal so 5 sec x 30 (sind unsere Server). Das dauert dann extram lange.
habe jetzt eine eventuelle Möglichkeit gefunden. In der getWMIValue Funktion einfach das:
l_WMIObjectSet := l_WMIServices.ExecQuery('SELECT * FROM ' + WMI_CLASS + ' WHERE Address = ''' + PChar(getHostByName(PChar(WMI_SÉRVER)).h_addr) + '''', 'WQL', wbemFlagReturnImmediately, nil);
Aber dabei bekomme ich eine
Exception mit Speicherzugriff 00000000
(FFFFFFFF wäre besser
)
Alles sehr komisch.
Oder gibt es die Möglichkeit irgendwo einen Timeout zu setzen????