[2003] VBS inlogscript voor nested users in domein

Pagina: 1
Acties:
  • 134 views sinds 30-01-2008
  • Reageer

  • dacken
  • Registratie: September 2000
  • Laatst online: 06-02 00:33
Hallo,

Note: ben vrij nieuw in het programeer wereldje, maar na wat copy paste acties van andere sites en het lezen van wat fora ben ik tot het volgende script gekomen:

code:
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
'On Error Resume Next

Const IT_ENGINEERS          = "OU=XXX,OU=XX,OU=X,DC=servername,DC=local"
Const FINANCIAL_ADMINISTRATIES      = "OU=XXX,OU=XX,OU=X,DC=servername,DC=local"

'Defined functions
Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
strGroups = LCase(Join(CurrentUser.MemberOf))
Set wshNetwork = CreateObject("WScript.Network") 

' algemene map

    wshNetwork.MapNetworkDrive "J:", "\\server\Algemeen" 

' usermap

    wshNetwork.MapNetworkDrive "K:", "\\server\Users\" & wshNetwork.UserName


'mappings voor specifieke OU

If InStr(strGroups, IT_ENGINEERS) Then

        wshNetwork.MapNetworkDrive "L:", "\\server\IT" 
End If
    
If InStr(strGroups, FINANCIAL_ADMINISTRATIES) Then

        wshNetwork.MapNetworkDrive "L:", "\\server\Financial" 

End If


Wat doe ik fout? het gedeelte van de user map en de algemene map gaat goed. Het enige wat niet goed gaat is die mapping per OU. Ik krijg geen foutmelding trouwens....

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Hier weten ze in Windows Operating Systems vast meer vanaf. :)

PW>>WOS

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • mbaltus
  • Registratie: Augustus 2004
  • Laatst online: 20-02 14:13
Ik heb nog niet veel gedaan met VB inlogscripts, maar is het niet zo dat je met de CurrentUser.MemberOf de Windows groepen van de gebruiker pakt en niet de OU waar hij lid van is?

Want als je groepen met OU's gaat vergelijken, dan lijkt me dat dat erg mis gaat......
Dat er geen foutmelding is, lijkt me dan logisch, er is nooit een match en dat geeft volgens dit script geen foutmelding!

Moet het niet zoiets worden als

code:
1
2
3
4
5
...
Const IT_ENGINEERS = "cn=it_engineers" ; let op kleine letters, gezien de LCASE functie
...
If InStr(strGroups, IT_ENGINEERS) Then
...


edit:
Toevoeging

[ Voor 25% gewijzigd door mbaltus op 10-01-2006 17:27 ]

The trouble with doing something right the first time is that nobody appreciates how difficult it is


  • Dunka
  • Registratie: Augustus 2005
  • Laatst online: 19-02 21:52
Waarom maak je niet 2 scripts en deel je ze toe met group policy op OU niveau?

Dan kan je de logica die je nu probeert toe te passen er uit laten en het door group policy laten regelen.

  • dacken
  • Registratie: September 2000
  • Laatst online: 06-02 00:33
Dunka schreef op dinsdag 10 januari 2006 @ 16:50:
Waarom maak je niet 2 scripts en deel je ze toe met group policy op OU niveau?

Dan kan je de logica die je nu probeert toe te passen er uit laten en het door group policy laten regelen.
omdat we nogwelleens van printer willen wisselen / switchen. is het niet echt handig voor ons om 5/6 verschillende scripts te hebben. Maar als tijdelijke oplossing misschien wel. :)

Thanks for the tip, zal even proberen wat Mbaltus zegt.

-------------------- 10 min later :P -----------------------------

code:
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
'On Error Resume Next

Const IT_ENGINEERS          = "cn=mis"
Const FINANCIAL_ADMINISTRATIES      = "cn=administraties"

'Defined functions
Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
strGroups = LCase(Join(CurrentUser.MemberOf))
Set wshNetwork = CreateObject("WScript.Network") 

' algemene map

    wshNetwork.MapNetworkDrive "J:", "\\server\Algemeen" 

' usermap

    wshNetwork.MapNetworkDrive "K:", "\\server\Users\" & wshNetwork.UserName

'mappings voor specifieke OU

If InStr(strGroups, IT_ENGINEERS) Then

        wshNetwork.MapNetworkDrive "L:", "\\server\IT" 
    
ElseIf InStr(strGroups, FINANCIAL_ADMINISTRATIES) Then

        wshNetwork.MapNetworkDrive "L:", "\\server\Financial" 

End If


Geprobeerd, maar ook dit genereerd geen foutmeldingen. :(

Nog tips? Anders ga ik gewoon naar de verschillende userscripts. :( Misschien een apart printer script, maar ook dit zal via LDAP lopen, hmm.

[ Voor 50% gewijzigd door dacken op 11-01-2006 14:33 ]


Verwijderd

[b]
omdat we nogwelleens van printer willen wisselen / switchen. is het niet echt handig voor ons om 5/6 verschillende scripts te hebben. Maar als tijdelijke oplossing misschien wel. :)

Thanks for the tip, zal even proberen wat Mbaltus zegt.
dat staat redelijk los van elkaar (of kan los staan).

je kan een paar algemene scripts maken (zoals printers in jou geval). en op ou niveau een specifiek script. in het ou script roep je dan de algemene scripts aan, zodat als je een wijziging maakt in een printer setting je niet alle scripts na hoeft te lopen.

  • mbaltus
  • Registratie: Augustus 2004
  • Laatst online: 20-02 14:13
Kijk ook eens naar deze link. Hier staan ook een paar goede tips, die wel eens met hetzelfde probleem te maken kunnen hebben.

The trouble with doing something right the first time is that nobody appreciates how difficult it is


  • PenguinPower
  • Registratie: Juni 2001
  • Laatst online: 17-02 10:19

PenguinPower

May the SOURCE be with you

Alle voorbeelden gaan hier uit van adsi.. echter is een ado search vele malen sneller en werkt veel efficienter.

http://www.rlmueller.net/Logon6.htm
http://www.rlmueller.net/ADOSearchTips.htm
http://www.rlmueller.net/IsMember7.htm
http://www.rlmueller.net/IsMember8.htm
http://www.rlmueller.net/IsMember9.htm
http://www.rlmueller.net/IsMember6.htm

Laat je inspireren door mij ontwikkelde loginscript wat situatie onafhankelijk is en wat gebruik maakt van ado searches...
http://www.logonscript.org

[ Voor 67% gewijzigd door PenguinPower op 11-01-2006 16:43 ]

Pagina: 1