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

Share mapping mit VBS

Anleitung Microsoft Windows Tools

Mitglied: 68955

68955 (Level 1)

25.08.2008 um 13:52 Uhr, 7588 Aufrufe

Ein kleines VBS das Shares gruppenspezifisch mappt und die Shares beim Client automatisch umbenennt!

Hier ein VB Script das verschiedene Shares auf einem Computer Gruppenspezifisch und/oder Userspezifisch hinzufügt!
Remote Shares können auch gemappt werden!
Ich habe grosse Teile des Scripts aus diesem und anderen Foren zusammengefügt und teilweise erweitert.

Das ganze ist auskommentiert, trotzdem noch einige Ergänzungen:

Unter,
'Set objDomain = getObject("LDAP://rootDse")'
'DomainString = objDomain.Get("dnsHostName")'
muss nichts geändert werden, das Script sucht sich die Angaben selbst sofern das Script in einer Domäne von einem Domänenbenutzer ausgeführt wird!


Unter,
''Map drives'
''Note the first command uses the user name as a variable to map to a user share.'
'WSHNetwork.MapNetworkDrive "u:", "\\SERVERNAME\USERSHARE\" & UserString,True'
'WSHNetwork.MapNetworkDrive "l:", "\\SERVERNAME\TRANSFERSHARE",True'
'WSHNetwork.MapNetworkDrive "t:", "\\SERVERNAME\TEMPSHARE",True'
können Shares angegeben werden die bei JEDEM User gemapt werden, zbsp. Usershares (siehe "UserString"), Transfershares etc.


Unter,
''Check for group memberships and take needed action'
'Case "GRUPPE1"'
'WSHNetwork.MapNetworkDrive "w:", "\\SERVERNAME\SHARE1",True'
Beginnt das Script mit dem ersten Mapping von Gruppenspezifischen Shares. Jeder User der in "GRUPPE1" ist bekommt "SHARE1" mit Laufwerksbuchstaben "W:" usw.

Unter,
'Case "REMOTEUSERS"'
'Set objNetwork = WScript.CreateObject("WScript.Network")'
'strLocalDrive = "O:"'
'strRemoteShare = "\\172.0.0.1\SHARE"'
'strPer = "FALSE"'
'strUsr = "BENUTZERNAME"'
'strPas = "PASSWORT"'
'objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas'
Kann ein Share gemappt werden das auf einem anderen Server oder ausserhalb der Domäne liegt. Will man ein weiteres solches Laufwerk mappen, ist zu beachten,
das die Zeile "'objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas'" für jedes weitere Laufwerk editiert werden muss. Also für das zweite Laufwerk:
'objNetwork.MapNetworkDrive1 strLocalDrive1, strRemoteShare1, strPer1, strUsr1, strPas1' und beim dritten dann jeweils mit "2" usw.


Unter,
''Rename the Drives'
'WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#TRANSFERSHARE\_LabelFromReg" , "Transfer" , "REG_SZ"'
Werden alle Shares umbenannt, da sonst die eingebundenen Laufwerke "Transfershare auf "Servername"" heissen, was relativ unschön ist, die Veränderung wird in der Registry vorgenommen da dort die Laufwerksnamen hinengeschrieben werden!


01.
ON ERROR RESUME NEXT 
02.
 
03.
Dim WSHShell, WSHNetwork, objDomain, DomainString, UserString, UserObj, Path, objNetwork, objNetwork1 
04.
'used to point at the registry to change the name of the drives 
05.
KEY_MountPoint = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" 
06.
Set WSHShell = CreateObject("WScript.Shell") 
07.
Set WSHNetwork = CreateObject("WScript.Network") 
08.
'Automatically find the domain name 
09.
Set objDomain = getObject("LDAP://rootDse") 
10.
DomainString = objDomain.Get("dnsHostName") 
11.
WinDir = WshShell.ExpandEnvironmentStrings("%WinDir%") 
12.
 
13.
'Grab the user name 
14.
UserString = WSHNetwork.UserName 
15.
'Bind to the user object to get user name and check for group memberships later 
16.
Set UserObj = GetObject("WinNT://" & DomainString & "/" & UserString) 
17.
 
18.
'Grab the computer name for use in add-on code later 
19.
strComputer = WSHNetwork.ComputerName 
20.
 
21.
'Disconnect ALL mapped drives 
22.
Set clDrives = WshNetwork.EnumNetworkDrives 
23.
For i = 0 to clDrives.Count -1 Step 2 
24.
WSHNetwork.RemoveNetworkDrive clDrives.Item(i), True, True 
25.
Next 
26.
 
27.
'Give the PC time to do the disconnect, wait 300 milliseconds 
28.
wscript.sleep 300 
29.
 
30.
'Map drives 
31.
'Note the first command uses the user name as a variable to map to a user share. 
32.
WSHNetwork.MapNetworkDrive "u:", "\\SERVERNAME\USERSHARE\" & UserString,True 
33.
WSHNetwork.MapNetworkDrive "l:", "\\SERVERNAME\TRANSFERSHARE",True 
34.
WSHNetwork.MapNetworkDrive "t:", "\\SERVERNAME\TEMPSHARE",True 
35.
 
36.
'Now check for group memberships and map appropriate drives to add more remote shares use strlocaldrive1, strremoteshare1, strperl1, strusr1, strpas1 
37.
For Each GroupObj In UserObj.Groups 
38.
Select Case GroupObj.Name 
39.
'Check for group memberships and take needed action 
40.
Case "GRUPPE1" 
41.
WSHNetwork.MapNetworkDrive "w:", "\\SERVERNAME\SHARE1",True 
42.
Case "GRUPPE2" 
43.
WSHNetwork.MapNetworkDrive "n:", "\\SERVERNAME\SHARE2",True 
44.
Case "GRUPPE3" 
45.
WSHNetwork.MapNetworkDrive "p:", "\\SERVERNAME\SHARE3",True 
46.
Case "GRUPPE4" 
47.
WSHNetwork.MapNetworkDrive "q:", "\\SERVERNAME\SHARE4",True 
48.
Case "GRUPPE5" 
49.
WSHNetwork.MapNetworkDrive "s:", "\\SERVERNAME\SHARE5",True 
50.
Case "GRUPPE6" 
51.
WSHNetwork.MapNetworkDrive "m:", "\\SERVERNAME\SHARE6",True 
52.
Case "GRUPPE7" 
53.
WSHNetwork.MapNetworkDrive "r:", "\\SERVERNAME\SHARE7",True 
54.
Case "GRUPPE8" 
55.
WSHNetwork.MapNetworkDrive "r:", "\\SERVERNAME\SHARE8",True 
56.
Case "REMOTEUSERS" 
57.
Set objNetwork = WScript.CreateObject("WScript.Network") 
58.
strLocalDrive = "O:" 
59.
strRemoteShare = "\\172.0.0.1\SHARE" 
60.
strPer = "FALSE" 
61.
strUsr = "BENUTZERNAME" 
62.
strPas = "PASSWORT" 
63.
objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas 
64.
End Select 
65.
 
66.
 
67.
 
68.
Next 
69.
 
70.
'Rename the Drives 
71.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#TRANSFERSHARE\_LabelFromReg" , "Transfer" , "REG_SZ" 
72.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAMEr#SHARE1\_LabelFromReg" , "Share XY" , "REG_SZ" 
73.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE2\_LabelFromReg" , "Share XY" , "REG_SZ" 
74.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE3\_LabelFromReg" , "Share XY" , "REG_SZ" 
75.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE4\_LabelFromReg" , "Share XY" , "REG_SZ" 
76.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE5\_LabelFromReg" , "Share XY" , "REG_SZ" 
77.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE6\_LabelFromReg" , "Share XY" , "REG_SZ" 
78.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE7\_LabelFromReg" , "Share XY" , "REG_SZ" 
79.
WshShell.RegWrite KEY_MountPoint & "##SERVERNAME#SHARE8\_LabelFromReg" , "Share XY" , "REG_SZ" 
80.
WshShell.RegWrite KEY_MountPoint & "##172.0.0.1#SHARE\_LabelFromReg" , "Remote Share" , "REG_SZ" 
81.
 
82.
 
83.
'===================================== 
84.
'Add On Code goes above this line 
85.
 
86.
'Clean Up Memory We Used 
87.
set UserObj = Nothing 
88.
set GroupObj = Nothing 
89.
set WSHNetwork = Nothing 
90.
set DomainString = Nothing 
91.
set WSHSHell = Nothing 
92.
Set WSHPrinters = Nothing 
93.
Set objNetwork = Nothing 
94.
Set objNetwork1 = Nothing 
95.
 
96.
'Quit the Script 
97.
wscript.quit 
98.
 
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Problem Mapping von Sharepoint Links als Netzlaufwerk

Frage von chaos2go zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (4)

Frage von joni2000de zum Thema Batch & Shell ...

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

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Windows Server
Probleme mit Client Software Zugriff auf Windows Server 2012 (8)

Frage von it-kolli zum Thema Windows Server ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (7)

Frage von DerFurrer zum Thema Windows Installation ...