Voor de meeste hier waarschijnlijk een peulenschilletje maar voor mij is dit hogere school scripting.
De situatie is dat ik twee verschillende windows domeinen heb een kantoor en een fabrieksnetwerk. Vanaf het kantoornetwerk moeten er twee shares gemaakt worden naar het fabrieksnetwerk, dit gebeurd met een specifiek gebruikersnaam en wachtwoord. Alleen moeten niet alle gebruikers deze share hebben, alleen de gebruikers die in een bepaalde active directory groep zitten. Ik heb het nu wel werkend voor alle gebruikers maar dit is dus niet de bedoeling, hieronder het script:
De situatie is dat ik twee verschillende windows domeinen heb een kantoor en een fabrieksnetwerk. Vanaf het kantoornetwerk moeten er twee shares gemaakt worden naar het fabrieksnetwerk, dit gebeurd met een specifiek gebruikersnaam en wachtwoord. Alleen moeten niet alle gebruikers deze share hebben, alleen de gebruikers die in een bepaalde active directory groep zitten. Ik heb het nu wel werkend voor alle gebruikers maar dit is dus niet de bedoeling, hieronder het script:
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| dim server, cn, username, wshnetwork Set Cn = CreateObject("Wscript.Shell") Set wshNetwork = CreateObject("WScript.Network") Set wshnetwork = WScript.CreateObject("WScript.Network") UserName = UCASE(WSHNetwork.UserName) domain = LCase(Cn.ExpandEnvironmentStrings("%userdomain%")) Set adsDomainGroups = GetObject("WinNT://" & domain) adsDomainGroups.Filter = Array("Group") for each adsGroup in adsDomainGroups Group = UCase(adsgroup.name) If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "g:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "x:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "y:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "s:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "l:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "m:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "t:", "\\server\share" If group = UCase("AD groep naam") then CheckGroup adsgroup.name, Username, "w:", "\\server\share" Next UCase "AD groep naam" Set objNetwork = WScript.CreateObject("WScript.Network") strLocalDrive = "u:" strRemoteShare = "\\server\share" strPer = "FALSE" strUsr = "Gebruikersnaam" strPas = "Wachtwoord" objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas UCase "AD groep naam" Set objNetwork = WScript.CreateObject("WScript.Network") strLocalDrive = "v:" strRemoteShare = "\\server\share" strPer = "FALSE" strUsr = "Gebruikersnaam" strPas = "wachtwoord" objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas set adsuser = Nothing set adsDomain = Nothing sub CheckGroup(GroupName, UserName, Drive, unc) Set AdsGroup = GetObject("WinNT://"&domain&"/" & GroupName) Set ADSGROUPMEMBERSHIP = AdsGroup.Members() for each adsUser In adsgroupmembership If UCase(adsUser.name) = UserName Then MapDrive Drive, UNC Next End Sub Sub mapdrive (driveletter, UNCString) On Error Resume Next wshNetwork.MapNetworkDrive driveletter, Uncstring, false 'WScript.Echo "Error: " & Err.Description & "(" & driveletter & ")" End Sub |
Gewoon Michael