GetObject(winmgmts... von Remote PC
Fehlerfall abfangen System nicht gefunden.
Ich bin noch in der VBS Visual Basic WSH Grundlagenforschung
For I = 100 To 120
strComputer = "192.168.1." & I
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
If objWMIService = null Then
wscript.Echo "Nicht verfügbar: " & strComputer
Next
Das kleine Codeschnipsel soll den Hintergrund verständlich machen. Der Punkt ist, sobald eine System mit einer IP-Nummer nicht verfügbar ist, bekomme ich einen Laufzeitfehler. Wie kann ich nun entweder im Vorfeld die Verfügbarkeit eines System (VB-Programmtechnisch etwa per PING) ermitteln oder den Laufzeitfehler im Programm abfangen? Der Versuch mittels Zeile 5 If Obj.... = null scheitert, wie dei VB-Profis wahrscheinlich wissen.
Danke für ein paar hilfreiche Tipps.
Ich bin noch in der VBS Visual Basic WSH Grundlagenforschung
For I = 100 To 120
strComputer = "192.168.1." & I
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
If objWMIService = null Then
wscript.Echo "Nicht verfügbar: " & strComputer
Next
Das kleine Codeschnipsel soll den Hintergrund verständlich machen. Der Punkt ist, sobald eine System mit einer IP-Nummer nicht verfügbar ist, bekomme ich einen Laufzeitfehler. Wie kann ich nun entweder im Vorfeld die Verfügbarkeit eines System (VB-Programmtechnisch etwa per PING) ermitteln oder den Laufzeitfehler im Programm abfangen? Der Versuch mittels Zeile 5 If Obj.... = null scheitert, wie dei VB-Profis wahrscheinlich wissen.
Danke für ein paar hilfreiche Tipps.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 108690
Url: https://administrator.de/contentid/108690
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
1 Kommentar
zum einen könntest du mit Try & Catch arbeiten...
Try
--> Hier dein Code
Catch ex As Exception
---> Hier MsgBox für Fehlermeldung...
End Try
Damit umgehst du zwar den Laufzeitfehler aber nicht den eigentlichen Fehler,
dass heißt das Programm wird trotzdem durch den Fehler beendet.... Jedoch
könntest Du hiermit über die MsgBox ausgeben welcher Rechner nicht vorhanden
ist...
Anderer Weg mit Ping....
Dim ok As Boolean= False
Try
ok = My.Computer.Network.Ping("Hier die IP einsetzten", 500)
If ok=True Then
--> Hier den weiteren Code einfügen
End If
Catch ex As Exception
End Try
Gruß
Kruder
Try
--> Hier dein Code
Catch ex As Exception
---> Hier MsgBox für Fehlermeldung...
End Try
Damit umgehst du zwar den Laufzeitfehler aber nicht den eigentlichen Fehler,
dass heißt das Programm wird trotzdem durch den Fehler beendet.... Jedoch
könntest Du hiermit über die MsgBox ausgeben welcher Rechner nicht vorhanden
ist...
Anderer Weg mit Ping....
Dim ok As Boolean= False
Try
ok = My.Computer.Network.Ping("Hier die IP einsetzten", 500)
If ok=True Then
--> Hier den weiteren Code einfügen
End If
Catch ex As Exception
End Try
Gruß
Kruder