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, 7596 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
HTML
HTML, CSS: Mapping auf dynamischen Hintergrund (2)

Frage von Judo99 zum Thema HTML ...

Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
gelöst Share-Problem? (5)

Frage von kellbidden zum Thema Windows Server ...

Windows 10
Vbs getobject auf per Task gestartete Anwendung (4)

Frage von schauan zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...