Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Netzwerk check bevor mapping durchgeführt wird VBS Script

Frage Entwicklung VB for Applications

Mitglied: pingu256

pingu256 (Level 1) - Jetzt verbinden

19.10.2011 um 11:30 Uhr, 3166 Aufrufe, 3 Kommentare

Hallo Zusammen,

ich bin auf der Suche nach einer Erweiterung für unser VBS Script, welches uns die Laufwerke abhängig in welche OU der AD man sich befindet mappt.

Die Erweiterung soll unseren Fileserver maximal 10 x im Abstand von 5 Sekunden anpingen bevor das Script abgearbeitet wird. Wenn der Server erreichbar ist darf das script natürlich sofort losrenne. Falls es der server nicht erreichbar ist sollte eine Meldung erscheinen.

Einige interessante Ansätze habe ich schon gefunden wie z.b. diesen hier:


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

jedoch weiß ich nicht welche Zeilen ich entfernen/anpassen muss damit das script sich wie oben beschrieben verhält.

Vielen Dank für ein paar Tipps

Gruß
p.
Mitglied: bastla
19.10.2011 um 11:39 Uhr
Hallo pingu256!

Etwa so (wobei Du die Zeilen 12 und vor allem 10 vermutlich etwas anders formulieren wirst ):
01.
Server = "Servername" 'oder auch IP 
02.
 
03.
For i = 1 To 10 
04.
    Online = Ping(Server) 
05.
    If Online Then Exit For 
06.
    WScript.Sleep 5000 
07.
Next 
08.
 
09.
If Online Then 
10.
    WScript.Echo "Netzlaufwerke können verbunden werden ..." 
11.
Else 
12.
    WScript.Echo "Server nicht erreichbar!" 
13.
End If 
14.
 
15.
Function Ping(machine) 
16.
PingResult = True 
17.
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._ 
18.
    ExecQuery("select * from Win32_PingStatus where address = '"_ 
19.
    & machine & "'") 
20.
For Each objStatus in objPing 
21.
    If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then  
22.
        PingResult = False 
23.
    End If 
24.
Next 
25.
Ping = PingResult 
26.
End Function
Grü0ße
bastla
Bitte warten ..
Mitglied: pingu256
19.10.2011 um 12:05 Uhr
Hey bastla,

vielen dank das ging ja superschnell.

Kurze frage noch zum Verständnis was wird hier gemacht? Die ersten beiden Zeilen verstehe ich noch. Aber wofür sind die anderen?

01.
 
02.
Function Ping(machine)  'Funktionsname definiert 
03.
PingResult = True  ' Ergebnis definiert 
04.
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._                         ' ? 
05.
    ExecQuery("select * from Win32_PingStatus where address = '"_     
06.
    & machine & "'") 
07.
For Each objStatus in objPing 
08.
    If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then  
09.
        PingResult = False 
10.
    End If 
11.
Next 
12.
Ping = PingResult 
13.
End Function

Modifikation des scripts bei erreichbarkeit soll keine meldung ausgegeben werden würde dann so funktioneren oder?

01.
If Online Then 
02.
     
03.
Else 
04.
    WScript.Echo "Server nicht erreichbar!" 
05.
End If
Bitte warten ..
Mitglied: bastla
19.10.2011 um 12:12 Uhr
Hallo pingu256!

Die "Function Ping()" verwendet WMI, um einen Ping (auf den als Parameter übegebenen Server) durchzuführen und gibt ein "True" oder "False" als Ergebnis zurück ...
bei erreichbarkeit soll keine meldung ausgegeben werden
Muss auch nicht - aber hier würde das Mappen der Laufwerke gut hinpassen ...

... bzw alternativ:
01.
If Not Online Then 
02.
    WScript.Echo "Server nicht erreichbar!" 
03.
    WScript.Quit 1 'Script beenden 
04.
End If 
05.
 
06.
' ... und hier, was im "Online"-Fall so zu tun wäre ...
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Hilfe Bei einem vbs Script (19)

Frage von Hattori-Hanzo zum Thema Batch & Shell ...

Peripheriegeräte
Problem bei E-Check mit USV (20)

Frage von Diddi-tb zum Thema Peripheriegeräte ...

VB for Applications
gelöst Kommunikation zwischen vbs und javascript (1)

Frage von it4baer zum Thema VB for Applications ...

Windows Server
Mapping von Laufwerken in einer Domänenumgebung (5)

Frage von Iview zum Thema Windows Server ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(4)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...