Jump to content

VBS - Objekte überprüfen und leeren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Zusammen,

 

ich stehe gerade mal wieder auf dem bekannten Schlauch. Ich habe ein Objekt das ich in einer Schleife erneut befüllen möchte.

 

Beispiel für das Objekt; lokale Administratoren auslesen:

 

Set objComputer = GetObject("WinNT://" & strComputer & ",computer")
Set objGroup = objComp.GetObject("Group", strGroup)

 

In einer Schleife wird die Variabel "strComputer" immer durch einen anderen Rechner ersetzt. Jetzt kann es ja mal sein das der Computer aus ist wenn das Script läuft, daher mache ich eine Abfrage:

 

If IsEmpty(objGroup) then

    msgbox "Computer ist aus!"

End if

 

Das klappt nur wenn der erste PC in der Liste aus ist, weil dann bleibt das Objekt leer. Jetzt prüft er den zweiten Computer, dieser ist an. Der dritte ist wieder deaktiviert, dann überspringt er den "IsEmpty" Part. Ich habe es mit "Set objGroup = Nothing" probiert, aber das klappt nicht.

 

Jemand eine Idee? Wenn möglich nicht mit "If Err.Number..."

 

Danke im voraus!

Link zu diesem Kommentar

und wenns um mal mehr als 3 Rechner geht, braucht das Skript ziemlich lang, wenn es für jeden Verbindungsversuch auf einen ausgeschalteten Rechner erst auf den Timeout warten muss.

 

Die wmi-Methode win32_pingstatus Win32_PingStatus Class (Windows) ist genau dafür da, um vor dem Binden die Erreichbarkeit zu prüfen.

Der StatusCode (siehe MSDN) zeigt dir ausserdem frei Haus zusätzlich noch an, warum evtl. ein Ping gescheitert ist.

 

Mit

objGroup = Nothing 

(ohne set) solltest du eigentlich das Objekt löschen können

 

 

cu

blub

bearbeitet von blub
Link zu diesem Kommentar

Moin,

 

Selbstverständlich gebührt dir die alleinige Ehre! ;)

 

Off-Topic:

so ist's recht. Stehen Sie bequem. ;)

 

Genau betrachtet, müsste man dann noch Johannes Endres von der c't erwähnen, der mich auf das Problem aufmerksam gemacht hat und auf dessen Hinweis hin ich die Lösung gebaut habe. Aber das würde vielleicht zu weit führen. Ist ja nicht so, dass wir die ersten wären, die das machen. :cool:

 

Gruß, Nils

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...