Blade1981 10 Geschrieben 27. August 2009 Melden Teilen Geschrieben 27. August 2009 Hallo zusammen, Ich möchte per vbScript die Verbindung zu einem anderen Rechner auf IP-Basis testen, wie z.B. in DOS mit Ping. Ist der Ping erfolgreich soll etwas ausgeführt werden. Wenn nicht, soll eine Fehlermeldung kommen. Lediglich der Verbindungstest bereitet mir Probleme. Ich weiß überhaupt nicht, wie und wo ich anfangen soll. bzw. wenn ich das mit ws.run löse ws.run "ping Rechner-IP" dann bekomm ich keine %ERRORLEVEL%-Ausgabe in mein Script, oder? Danke schon mal! Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 27. August 2009 Melden Teilen Geschrieben 27. August 2009 Moin, das CMD-Fenster hat mit DOS nichts zu tun, es sei denn, du redest von Windows 9x. Wenn wir von einer Ausführung des Skripts auf XP oder höher reden, findest du z.B. hier eine ping-basierte IsOnline()-Funktion: heise Netze - 20.12.06 - Zielsucher Gruß, Nils Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 27. August 2009 Autor Melden Teilen Geschrieben 27. August 2009 Super, vielen Dank :) Hiermit gehts, wie im Link von NilsK beschrieben: 1. Lösung - etwas Aufwändiger, aber auf Ping-Basis und somit keine Berechtigung nötig: ________________ Dim PCName PCName = "172.31.40.7" fncIsOnline(PCName) Private Function fncIsOnline(PCName) ' Läuft nur unter Windows XP, Windows Server 2003 ' und Nachfolgern IsOnline=False Set objPing = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}"). _ ExecQuery("select ReplySize from " _ & "Win32_PingStatus where address= '" _ & PCName & "'") For Each objStatus In objPing If Not IsNull (objStatus.ReplySize) Then IsOnline = True WScript.Echo "Is online!" Else IsOnline=False WScript.Echo "Is not online!" End If Next End Function ________________ 2. Lösung - kurze Codezeilen, man benötigt aber Zugriffsberechtigung auf den Rechner: ________________ Dim strComputer strComputer = "172.31.40.7" On Error Resume Next Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") If Err.Number><0 Then WScript.Echo "Fehler " & Err.Number & ": " & Err.Description Else WScript.Echo "Rechner erreicht!" End If Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.