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

Tipp Entwicklung VB for Applications

Mitglied: TsukiSan

TsukiSan (Level 2) - Jetzt verbinden

01.07.2009, aktualisiert 18:43 Uhr, 9901 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
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 16 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 18 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...