Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 3145 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Windows Server
Aufgabenplanung bringt bei VBS Script immer 0x41301 (14)

Frage von 116480 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...