Windows Netzlaufwerk verbinden mit Visual Basic Script
VBScript netdrive.vbs Netzlaufwerk Mapping
VBScript können genutzt werden um Netzlaufwerke zu Windows-Netzwerkfreigabe auf Server oder NAS Geräte zu verbinden. In Situationen wo die Batchverarbeitung nicht die geeignete Wahl ist, oder aber Gruppenrichtlinien nicht die gewünschte Anwendung ist, kann ein Visual Basic Script die Anforderung erfüllen, beispielsweise zur Anwendung von Login Scripts bei VPN Remote Clients diese nicht Mitglied der AD Domäne sind.
Microsoft VBScript beinhaltet Objekt Klassen, Methoden (Funktionen / Prozeduren) und Wertestrukturen. Hier kommt unser Objekt MapNetworkDrive
als Methode zur Anwendung. Die Methode oder das Verb manipuliert wiederum Werte.
Es können beliebige Objekt verwendet werden, hier wird das Objekt objNetwork
definiert, Entwickler von Scripts halten sich gerne an Muster und ihren Variablen. Ein Präfix von str
gibt einen Zeichenfolgenwert an, während der Präfix obj
ein Objekt angibt. Nachdem WScript unser objNetwork erstellt hat, kann es mit der Methode MapNetworkDrive bearbeitet werden.
VBScript für Netzlaufwerk Mapping
Folgendes VBScript netdrive.vbs
als Beispiel, für die herstellung der Windows-Netzwerkfreigabe zum Netzlaufwerk Z:, dabei kann die Verbindung als ein anderer Benutzer erfolgen, als mit dem man sich am Client authentifiziert hat.
Option Explicit
Dim objNetwork, strDriveLetter, strRemotePath, strUser, strPassword, strProfile, WshShell
' Set credentials & network share to variables.
strDriveLetter = "Z:"
strRemotePath = "\\server\share"
strUser = "domain\username"
strPassword = "topsecret"
strProfile = "false"
' Create a network object (objNetwork) do apply MapNetworkDrive Z:
Set objNetwork = WScript.CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
' Open message box, enable remove the apostrophe at the beginning.
' WScript.Echo "Map Network Drive " & strDriveLetter
MsgBox " Explorer launch Network Drive " & strDriveLetter, vbInformation, "Network Drive Mapping"
' Explorer will open the mapped network drive.
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "explorer.exe /e," & strDriveLetter, 1, false
WScript.Quit
Die entsprechende Variable wird in den Zeilen 5 – 9 zugewiesen, in dem der jeweilige Platzhalter zwischen den Anführungs- und Schlusszeichen definiert wird.
VBScript Variablen definieren
- Bei
strDriveLetter
gewünschtes Netzlaufwerk zuweisen. - Bei
strRemotePath
der UNC Pfad zur Netzwerkfreigabe. - Bei
strUser
der Benutzername, ist dieser Mitglied einer Windows Domäne, muss der Domänen Präfix angeführt werden, dies in der Formdomain\user
. - Bei
strPassword
das dem Benutzer zugewiesene Passwort.
VBScript WSH aus Batch ausführen
Kommt für für die Netzwerk-Anmeldung bereits ein Batch zB. netlogon.bat
zur Anwendung, wird aus dem Batch unser VBScript netdrive.vbs
wie folgt ausgeführt:
start /wait "" cscript //Nologo netdrive.vbs
Soll bei der Ausführung keine Visual Basic Console Fenster ausgegeben werden, verwendet man die Option /B
, damit startet die Anwendung ohne ein neues Fenster zu öffnen.
start /B /wait "" cscript //Nologo netdrive.vbs
Nach erfolgreicher Anmeldung wird das Netzlaufwerk zur Windows-Netzwerkfreigabe erstellt, und anschliessend im Explorer geöffnet.