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, 7582 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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

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 ...

Windows Server
gelöst Powershell: Alle User anzeigen, die Zugriff auf einen Share haben (3)

Frage von bensonhedges zum Thema Windows Server ...

Debian
Www-data in ein CIFS Share Daten schreiben lassen? (3)

Frage von Jens4ever zum Thema Debian ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...