Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst LAN -Status mit vbs überprüfung (Server - Client)

Mitglied: Silencer1982

Silencer1982 (Level 1) - Jetzt verbinden

08.02.2008, aktualisiert 19.02.2008, 8501 Aufrufe, 9 Kommentare

Hallo,
möchte gerne einen Script schreiben der mir anzeigt ab wann mein Server im Lan verfügbar ist.

Der Hintergrund ist , da ich meinen Server beim einschalten meines Pc´s über Wake on Lan wecke - möchte ich gerne eine Grafische Meldung ab wann er dann auch erreichbar ist ( bezw. hochgefahren ist) .

Leider bin ich noch Anfänger im bereich VBs .
Wie könnte so ein script aussehen?
Mitglied: Tunerus
08.02.2008 um 13:06 Uhr
Ich hab leider gerade meine Unterlagen nicht hier aber vorab schon mal ein kleiner tipp:

Nimm ein Shellobjekt mit dem Du einen Ping absendest an den Server. Die Ping.exe liefert einen Rückgabewert zurück welchen Du prüfst ob er einen bestimmten Status hat. Wenn dieser stimmt eine Messagebox erscheinen lassen ansonsten die Überprüfung nochmal laufen lassen.

Heute Abend kann ich Beispielcode liefern.
Bitte warten ..
Mitglied: SvenGuenter
08.02.2008 um 17:52 Uhr
Hi hier eine mögliche Lösung

01.
Option Explicit
02.

03.

04.

05.
Private Type WSAdata
06.
   wVersion As Integer
07.
   wHighVersion As Integer
08.
   szDescription(0 To 255) As Byte
09.
   szSystemStatus(0 To 128) As Byte
10.
   iMaxSockets As Integer
11.
   iMaxUdpDg As Integer
12.
   lpVendorInfo As Long
13.
End Type
14.

15.
Private Type Hostent
16.
   h_name As Long
17.
   h_aliases As Long
18.
   h_addrtype As Integer
19.
   h_length As Integer
20.
   h_addr_list As Long
21.
End Type
22.

23.
Private Type IP_OPTION_INFORMATION
24.
   TTL As Byte
25.
   Tos As Byte
26.
   Flags As Byte
27.
   OptionsSize As Long
28.
   OptionsData As String * 128
29.
End Type
30.

31.
Private Type IP_ECHO_REPLY
32.
   Address(0 To 3) As Byte
33.
   Status As Long
34.
   RoundTripTime As Long
35.
   DataSize As Integer
36.
   Reserved As Integer
37.
   data As Long
38.
   Options As IP_OPTION_INFORMATION
39.
End Type
40.

41.
Private Declare Function GetHostByName Lib "wsock32.dll" Alias "gethostbyname" (ByVal Hostname As String) As Long
42.
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVersionRequired&, lpWSAdata As WSAdata) As Long
43.
Private Declare Function WSACleanup Lib "wsock32.dll" () As Long
44.
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
45.
Private Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
46.
Private Declare Function IcmpCloseHandle Lib "icmp.dll" (ByVal HANDLE As Long) As Boolean
47.
Private Declare Function IcmpSendEcho Lib "ICMP" (ByVal IcmpHandle As Long, ByVal DestAddress As Long, ByVal RequestData As String, ByVal RequestSize As Integer, RequestOptns As IP_OPTION_INFORMATION, ReplyBuffer As IP_ECHO_REPLY, ByVal ReplySize As Long, ByVal TimeOut As Long) As Boolean
48.

49.
Private Const SOCKET_ERROR = 0
50.

51.
'Server ist die URL die Funktion liefert eine 1 wenn ping durchkommt und eine 0 wenn er nicht
52.
'erreichbar ist
53.
Public Function Ping(ByVal Server As String) As Long
54.

55.
   Dim hFile As Long, lpWSAdata As WSAdata
56.
   Dim hHostent As Hostent, AddrList As Long
57.
   Dim Address As Long, rIP As String
58.
   Dim OptInfo As IP_OPTION_INFORMATION
59.
   Dim EchoReply As IP_ECHO_REPLY
60.
   Dim Hostname As String
61.

62.

63.
   Ping = 0 'Rückgabe anfangs auf null setzen
64.
   If Left(Server, 7) = "http://" Then Server = Mid(Server, 8) 'http:// entfernen
65.

66.
   Call WSAStartup(&H101, lpWSAdata)
67.

68.
   If GetHostByName(Server + String(64 - Len(Server), 0)) <> SOCKET_ERROR Then
69.
      CopyMemory hHostent.h_name, ByVal GetHostByName(Server + String(64 - Len(Server), 0)), Len(hHostent)
70.
      CopyMemory AddrList, ByVal hHostent.h_addr_list, 4
71.
      CopyMemory Address, ByVal AddrList, 4
72.
   End If
73.

74.
   hFile = IcmpCreateFile()
75.
   If hFile = 0 Then Exit Function 'Bei Fehler abbrechen
76.

77.
   OptInfo.TTL = 128
78.

79.
   'Ping senden
80.
   If IcmpSendEcho(hFile, Address, String(32, "A"), 32, OptInfo, EchoReply, Len(EchoReply) + 8, 2000) Then
81.
      rIP = CStr(EchoReply.Address(0)) + "." + CStr(EchoReply.Address(1)) + "." + CStr(EchoReply.Address(2)) + "." + CStr(EchoReply.Address(3))
82.
   Else
83.
      'Fehler aufgetreten
84.

85.
      Exit Function
86.
   End If
87.

88.
   If EchoReply.Status = 0 Then
89.
  
90.
      Ping = 1
91.
   Else
92.
 
93.
      Ping = 0
94.
   End If
95.
   
96.
End Function
97.

98.
Bitte warten ..
Mitglied: 60730
08.02.2008 um 17:53 Uhr
moin,

die Idee mit dem Ping "bringt" nicht wirklich viel, denn die Netzwerkkarte antwortet schon kurz nach dem Starten, zu dem Zeitpunkt muß SMB oder was auch immer, der Server "serviert" noch garnicht laufen...

Was willst Du denn überprüfen?

Wenn sowas wie Netzwerklaufwerke, dann evtl. so:

Achtung, kein VBS - nur eine .cmd /bat

:start
net use z: \\servername\c$
if exist z:\>nul goto ready
goto start
:ready
echo time/t
echo Server aktiv
net use z: /delete
pause
Bitte warten ..
Mitglied: Tunerus
08.02.2008 um 17:56 Uhr
So ich hab grad mal kurz etwas zusammen gebastelt und natürlich könnte man es noch verbessern ;)

01.
sComputername = "localhost" 'Hier den Servernamen eintragen
02.

03.
Set oShell = WScript.CreateObject("WScript.Shell")
04.
iErgebnis = oShell.Run("ping.exe -n 1 " & sComputername, 0, true)
05.

06.
Do while (iErgebnis <> 0)
07.
	Wscript.Sleep(1000)
08.
	iErgebnis = oShell.Run("ping.exe -n 1 " & sComputername, , true)
09.
Loop
10.
	MsgBox "Computer ist online.", vbInformation, "Hinweis"
Ich hoffe es hilft Dir!
Bitte warten ..
Mitglied: SvenGuenter
08.02.2008 um 17:56 Uhr
Du kannst in dem Ping einen Delay einbauen damit du sicher bist das der Server wenn er denn oben ist auch erreichbar ist ;o)
Bitte warten ..
Mitglied: bastla
09.02.2008 um 23:21 Uhr
Hallo Silencer1982!

Wenn das Script auf einem System (solltest Du beim nächsten Mal angeben) ab XP ausgeführt wird, kannst Du (nach einer hier zu findenden Vorlage) auch eine Lösung ohne den CMD-Ping-Befehl verwenden:
01.
Server = "Servername" 'oder auch IP
02.

03.
Start = Now
04.
Do Until Ping(Server)
05.
	WScript.Sleep 1000
06.
Loop
07.
Ende = Now
08.

09.
WScript.Echo "Script gestartet um:    " & Start & vbCrLF & _
10.
	"Server erreichbar um: " & Ende & vbCrLF & vbCrLF & _
11.
	"Dauer: " & DateDiff("s", Start, Ende) & " Sekunden"
12.

13.

14.
Function Ping(machine)
15.
PingResult = True
16.
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
17.
	ExecQuery("select * from Win32_PingStatus where address = '"_
18.
	& machine & "'")
19.
For Each objStatus in objPing
20.
	If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then 
21.
		PingResult = False
22.
	End If
23.
Next
24.
Ping = PingResult
25.
End Function
@SvenGuenter: Dein Code passt nicht so wirklich unter die Überschrift VBS ...

Grüße
bastla
Bitte warten ..
Mitglied: Silencer1982
11.02.2008 um 10:03 Uhr
xp- klar das habe ich vergessen.
danke nochmal
Gruß Silencer1982
Bitte warten ..
Mitglied: 60730
11.02.2008 um 10:51 Uhr
Der Hintergrund ist , da ich meinen Server
beim einschalten meines Pc´s über
Wake on Lan wecke - möchte ich gerne
eine Grafische Meldung ab wann er dann auch
erreichbar ist ( bezw. hochgefahren ist) .

Moin,

eure Ideen sind ja alle nicht schlecht, aber wie ich bereits geschrieben habe (und jetzt mal ausführlicher beschreibe) - an der Situation, dass der NIC bereits kurz (bei mir 5 sec.) nach dem WOL auf Pings antwortet, und NICHT der Server ändert sich immer noch nichts ;-(

Um den "Serverstatus" selber herauszufinden, reicht also kein "Ping" - denn wie oben beschrieben, darauf antwortet bereits der NIC, während des bootens.

(WOL ist ja auch dafür gedacht, Betriebsysteme per RIS zu installieren, also "muß" nicht zwingend ein OS laufen, um die "Maschenka" anpingen zu können)

@SilenceR - nochmal die Frage, was für Dienste willst du abfragen?
Bitte warten ..
Mitglied: Silencer1982
19.02.2008 um 14:29 Uhr
Also erstmal danke an alle!!!

Im grunde genommen soll mir das Script nur sagen das der Server aufgeweckt wurde.
Bitte warten ..
Ähnliche Inhalte
Router & Routing

PfSense von LAN zum PPTP Client verbinden

Frage von icegetRouter & Routing4 Kommentare

Hallo liebe Community, folgendes Problem: Ich habe auf meiner pfSense (aktuelste Version) Firewall einen PPTP-Server installiert. Nun habe ich ...

LAN, WAN, Wireless

VPN Client Freigabe ins LAN von Win 10 PC?

Frage von AndromedaLAN, WAN, Wireless6 Kommentare

Hallo Ich möchte eine am Win 10 PC hergestellte VPN- Client - Verbindung (Webzugriff via VPN) in das Home-LAN ...

Router & Routing

Raspberry PI als VPN Client - Zugriff auf VPN LAN

gelöst Frage von PeterH96Router & Routing8 Kommentare

Hallo, ich möchte einen Raspberry PI als OpenVPN Client in mein Netzwerk stellen. Dieser soll es möglich machen, vom ...

Microsoft Office

Microsoft Excel VBS

gelöst Frage von Mohji32Microsoft Office6 Kommentare

Guten Tag liebe Leute, ich kenne mich leider nicht sehr gut mit VBS aus aber habe angefangen mich einzuarbeiten. ...

Neue Wissensbeiträge
Windows 10

Windows 10 kann XPS erzeugen aber nicht anzeigen ????

Erfahrungsbericht von Deepsys vor 1 TagWindows 10

Heute schickt mir ein Kollegen eine E-Mail mit einer XPS-Datei vom Kunden im Anhang und fragt wie er diese ...

Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 1 TagExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 1 TagLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 3 TagenWindows Mobile1 Kommentar

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Wo lässt sich das Gateway in der FRITZ!Box 7360 einstellen?
gelöst Frage von OssabowLAN, WAN, Wireless18 Kommentare

Hallo all, nach gründlicher Suche scheine ich der einzige zu sein der das Problem hat (macht micht schon mal ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server14 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...

Windows Server
Sicherung Domain Controller
gelöst Frage von Monto1Windows Server14 Kommentare

Hallo zusammen, wie sichert Ihr den Domain Controller? Selbst, wenn zwei parallel laufen, ist eine Sicherung doch mal nützlich. ...

Microsoft Office
Office 2016 oder Office 2019
Frage von PeterzMicrosoft Office13 Kommentare

Hallo zusammen, wir müssen unser Office von 2010 auf eine neuere Version Umstellen. Jetzt stellt sich die Frage, ob ...