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

Mit VBS Laufwerk automatisch bei Systemstart verbinden

Tipp Entwicklung VB for Applications

Mitglied: TsukiSan

TsukiSan (Level 2) - Jetzt verbinden

01.07.2009, aktualisiert 18:43 Uhr, 9778 Aufrufe, 2 Kommentare

Wie man automatisch einen Freigabepfad mounten kann in VBS

Hallo zusammen,

da ich öfters schon Anfragen im Netz gefunden hatte, wie man z.Bsp.: "net use..." in VBS nutzt, möchte ich gern mal einen Tipp schreiben, wie man so etwas programmieren könnte.
Mögliche Aufgabenstellung: Kleines Netzwerk mit einigen PCs, ein Server mit dem Freigabeordner, auf den die anderen PCs täglich zugreifen müssen. Der Freigabeordner hat seinen Freigabenamen - nennen wir ihn mal "Public" - für "Öffentlich".
Die Subnetmaske ist 255.255.255.0
Man kann diesen späteren Script in den Autostart-Ordner legen und somit wird dieser bei jedem neuen Booten aufgerufen.
Müßte aber nur einmal aufgerufen werden, da das mounten hier "persistent" erfolgt.

1) Öffne den Texteditor und füge folgenden Code ein:
01.
On Error Resume Next 
02.
 
03.
PfadStr = inputbox("Bitte geben Sie den Namen von der Freigabe ein",,"Public") 
04.
 
05.
set Winsock1=WScript.CreateObject("MSWinsock.Winsock", "WS_")  
06.
Wscript.Echo "Eigene IP ist:" &  Winsock1.localip 
07.
 
08.
dim Zaehler 
09.
Zaehler = 0 
10.
AdrTemp = "" 
11.
EigeneIP = Winsock1.localip 
12.
 
13.
for i = 1 to len(winsock1.localip) 
14.
	a = mid(winsock1.localip,i,1) 
15.
	AdrTemp = AdrTemp & a 
16.
	if a = "." then  
17.
		select Case Zaehler 
18.
		case 0 
19.
			'Wscript.Echo Zaehler 
20.
			St1 = AdrTemp 
21.
			AdrTemp = "" 
22.
			Zaehler = Zaehler + 1 
23.
		case  1 
24.
			'Wscript.Echo Zaehler 
25.
			St2 = AdrTemp 
26.
			AdrTemp = "" 
27.
			Zaehler = Zaehler + 1 
28.
		case  2 
29.
			'Wscript.Echo Zaehler 
30.
			St3 = AdrTemp 
31.
			AdrTemp = "" 
32.
			Zaehler = Zaehler + 1 
33.
		end select 
34.
	end if 
35.
	 
36.
next 
37.
 
38.
 
39.
Zaehler = 0 
40.
 
41.
strTarget = St1 & St2 & St3  
42.
 
43.
   
44.
Set objShell = CreateObject("WScript.Shell") 
45.
   
46.
'Do Until InStr(strPingResults, "reply from")  
47.
	for i = 0 to 254 step 1 
48.
 	 
49.
	Zaehler = i 
50.
	AktIP = strTarget & Zaehler 
51.
 
52.
 
53.
  	Set objExec = objShell.Exec("ping -n 1 -w 1000 " & AktIP) 
54.
   	strPingResults = LCase(objExec.StdOut.ReadAll) 
55.
	 
56.
	if InStr(strPingResults, "reply from") then 
57.
		Wscript.Echo AktIp & " antwortet." 
58.
	else 
59.
		Wscript.Echo AktIp & " antwortet nicht." 
60.
	end if 
61.
	 
62.
 
63.
	if InStr(strPingResults, "reply from")   then 	 
64.
		if  eigeneIP = AktIP then 
65.
			Wscript.Echo AktIP & " ist eigene IP." 
66.
		else 
67.
			set shell = CreateObject("WScript.Shell") 
68.
			shell.run "net use Z: \\" & AktIp & "\" & PfadStr & " Passwort /user:USER /y",0 
69.
			Wscript.Sleep 5000 
70.
 
71.
			Set objFSO = CreateObject("Scripting.FileSystemObject") 
72.
			If objFSO.FolderExists("\\" & AktIp & "\" & PfadStr) Then 
73.
    				Wscript.echo  AktIP & " ist unter Z:\\" & AktIp & "\" & PfadStr & " gemountet." 
74.
				Wscript.Quit 
75.
			Else 
76.
    				Wscript.Echo AktIP & " gesuchter Netzwerkpfad existiert aber nicht." 
77.
			End If 
78.
 
79.
		end if 
80.
	end if 
81.
 
82.
	if Zaehler = 254 then 
83.
	 	msgbox "Konnte den Netzwerkpfad nicht finden.Script wird beendet." 
84.
	 	WScript.Quit 
85.
	end if 
86.
	next 
87.
'Loop 
88.
 
89.
 
90.
set objshell = nothing 
91.
set objExec = nothing 
92.
set shell = nothing
2) dann diese Datei als *.vbs abspeichern. z.Bsp.: Mount.vbs.
Das ganze am besten unter "C:\" abspeichern. Warum? Komme ich direkt dazu!
Wenn die Ping-Abfrage aus VBS kommt, geht jedes Mal ein Fenster auf. Das kann nerven. Muß es aber nicht.
Mich stört es.
Also erstellen wir uns noch eine Batchdatei und öffnen nochmals den Texteditor und geben diesmal
folgenden Code ein:
01.
@Echo Off 
02.
cscript C:\Mount.vbs 
03.
pause
Diese Datei nun abspeichern an einem Platz des Vertrauens und in *.bat bennen. Z.Bsp.: "Mount.bat"
Doppelklickt man auf diese, dann öffnet die Batchdatei die VBSDatei und ich bekomme ein Eingabefenster, welches
mir ständig anzeigt, was gerade ausgeführt wird. Ist etwas besser, als ständig auf- und zugehende Fenster.
Kann nervös machen

Soweit meiner erster Tipp hier im Forum! Bin für jegliche Kritik offen, da man ja erstens dazulernen möchte und zweitens, wenn
man besser wird im "Tippen" kann man anderen - Hilfesuchenden - besser helfen.

In diesem Sinne

Gruß
Tsuki
Mitglied: 60730
01.07.2009 um 22:20 Uhr
Servus,

eigentlich bin ich ja absoluter "hasser" von Kommentaren in Anleitungen und Tipps - aber weil du so nett drum bittest

Bin für jegliche Kritik offen,
schreib lieber:
Bin für jegliche konstruktive Kritik offen...

und damit wären wir schon beim Thema - dein Script läuft nur auf englischen Systemen
also u.A auch
56. if InStr(strPingResults, "TTL") then
obwohl -ganz ehrlich - nur weil ein System anpingbar ist - bedeutet das noch lange nicht, dass auch der Serverdienst / der Share da ist. Vielleicht das script so verändern

Gruß
Bitte warten ..
Mitglied: TsukiSan
02.07.2009 um 03:43 Uhr
Hallo Timo,

danke für deine konstruktive Kritik!
Ja, es ist richtig, habe dies auf englischer Version von XP Prof SP2 geschrieben.
Mir ist bei meiner Variante aufgefallen, daß es auch den Freigabepfad nicht findet, wenn dieser sich auf einer FAT32 Partition befindet. Das mounten, selbst bei Eingabe von net use in der Kommandozeile führt zu nix.
Da muß ich wohl mal noch mich etwas belesen.

Hab besten Dank!

Gruß

Tsuki
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Windows Server
Drucker automatisch verbinden lassen (9)

Frage von 2Seiten zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2012 mit Fritzbox per VPN verbinden (13)

Frage von StefanT81 zum Thema Windows Server ...

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

Frage von Sentinel87 zum Thema VB for Applications ...

Switche und Hubs
gelöst 2 VLANs, tragged und mit link aggregation oder Verbinden oder einzeln (1)

Frage von ADORSE zum Thema Switche und Hubs ...

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 ...