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, 8437 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
Entwicklung
Batch - Überprüfung
gelöst Frage von apex.predator24Entwicklung6 Kommentare

Hallo Zusammen Gibt es eine Möglichkeit, einen Prozess im TaskManager über eine Batch-Datei zu überprüfen ob dieser läuft oder ...

Batch & Shell
Passwort überprüfung
Frage von Robin99Batch & Shell4 Kommentare

Hallo, ich bin am ende ich weiß nicht was hier falsch ist: Kann mir da jmd. weiterhelfen? Danke :D ...

Microsoft Office
Excel Wenn Überprüfungen
Frage von moritzhdMicrosoft Office

Hallo zusammen, ich habe folgendes Problem. Ich habe eine Liste von Daten, mit ArtikellNr., Lieferstatusen, Liefernummern (und weiteren Informationen, ...

Router & Routing
Zugriff aus dem LAN auf VPN Clients
Frage von sschultewolterRouter & Routing8 Kommentare

Hallo, ich hoffe es lässt sich soweit verständlich erklären. Gegeben ist ein LANCom Router (192.168.99.1). An diesem hängen über ...

Neue Wissensbeiträge
Administrator.de Feedback

Entwicklertagebuch: Datenschutzerklärung nach DS-GVO

Information von admtech vor 1 StundeAdministrator.de Feedback

Hallo Administrator User, Wir respektieren eure Privatsphäre und möchten euch daher auf die Möglichkeiten für den Umgang mit euren ...

Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 5 StundenVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Netzwerke
Riesiges Botnetz in Deutschland
Tipp von FFSephiroth vor 6 StundenNetzwerke1 Kommentar

Überprüft mal eure Router und NAS

Soziale Netzwerke

Freitag, der 25.05 - Facebook baut weltgrößtes P.ähm Antip.archiv der Welt auf

Information von certifiedit.net vor 8 StundenSoziale Netzwerke3 Kommentare

Guten Morgen, da fragt man sich doch allen ernstes, was Facebook damit bezwecken möchte, ich tippe ja darauf, dass ...

Heiß diskutierte Inhalte
HTML
Link nicht vollständig
Frage von jensgebkenHTML33 Kommentare

Hallo Gemeinschaft, ich erstelle mit Word einen Serienbrief, den ich per Mail versende. Nun mein Problem der Wordserienbrief holt ...

Datenschutz
E-Mail Verschlüsselung DSGVO 2018
gelöst Frage von SoccerdeluxDatenschutz33 Kommentare

Hallo zusammen, ich verzweifele langsam und wende mich an euch und hoffe vielleicht ein paar Antworten zu finden. Ich ...

Server-Hardware
HPE DL 360e GEN8 - P420 - Lüfter drehen auf nach Festplattenwechsel
Frage von maniacmacpainServer-Hardware20 Kommentare

Hallo, ich kenne den Effekt, dass man bei der GEN8 von HP ein Array eingerichtet haben muss, damit die ...

Server-Hardware
ILO4 auf HP DL20 Gen9 deaktivieren
Frage von it-fraggleServer-Hardware16 Kommentare

Hallo, es ist zum verrückt werden. Auf dem Server lässt sich iLO nicht abschalten. Das Problem hatte ich schon ...