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

Mit VBS Laufwerk automatisch bei Systemstart verbinden

Mitglied: TsukiSan

TsukiSan (Level 2) - Jetzt verbinden

01.07.2009, aktualisiert 18:43 Uhr, 9949 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 ..
Ähnliche Inhalte
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

Tipp von tralvellerBatch & Shell6 Kommentare

Vorteile: - Anmeldung von Benutzer nicht notwendig - Kann bei Systemstart direkt ausgeführt werden - Keine Aufgabenplanung notwendig - ...

Backup

Image-restore eines Bitlocker-geschützten Laufwerkes

Tipp von DerWoWussteBackup4 Kommentare

Moin Kollegen. Jeder, der mit Bitlocker zu tun hat, dürfte die Problematik verstehen: spielt man ein Systemimage des gebitlockten ...

Windows 10

DVD-Laufwerk unter Windows 10 verschwunden

Tipp von LochkartenstanzerWindows 1014 Kommentare

Moin, gerade wieder mal eine der Fälle gehabt, wo das DVD-laufwerk "nicht mehr da" ist. Weder im Gerätemanager noch ...

Basic

Visual Basic Script (VBS): HTML-Tabelle generieren

Tipp von GurkenhobelBasic3 Kommentare

Für all jene, die schnell mal eine simple HTML-Tabelle benötigen, ist das folgende Skript gedacht. Der Name der fertigen ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement13 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware12 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android12 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...