Logon script probleme

Le
Eric
Bonjour,
J'essaie d'écrire un script de logon qui permet en fonction du groupe
d'un utilisateur de monter la bonne imprimante, partage réseaux,

j'ai une erreur dans mon code et je ne comprend pas trop comment la réglé.

voici le code:

'constante avec le nom des groupe
Const CSI_GROUP = "cn=gcsi"

'objet imprimante
Set objPrinter = CreateObject("WScript.Network" )

Set ADSysInfo = CreateObject("ADSystemInfo")
'msgbox (ADSysInfo.UserName)
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
strGroups = LCase(Join(CurrentUser.MemberOf))
'strGroups = CurrentUser.MemberOf
'msgbox strGroups

'test sur l'appartenance au groupe CSI
If InStr(strGroups, CSI_GROUP) Then
' msgbox ("CSI_GROUP = YES")
objPrinter.AddWindowsPrinterConnection("\xxxxxx")
objPrinter.AddWindowsPrinterConnection("\xxxxxx-RV")
else
' msgbox ("CSI_GROUP = NON")
End If



Il me fait une erreur sur la ligne :
strGroups = LCase(Join(CurrentUser.MemberOf))
Il dit "join : type incompatible"
j'ai fait un test et strgroups n'est pas vide le msgbox m'affiche bien
quelque chose : CN=GCSI,OU=GROUPS,


J'ai vu ce code plusieurs fois sur internet, il a l'air de marche
partout sauf chez moi. LOL mais pq?

Merci pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT [MVP]
Le #704894
"Eric" news:
| Bonjour,

Bonjour,

| J'essaie d'écrire un script de logon qui permet en fonction du groupe
| d'un utilisateur de monter la bonne imprimante, partage réseaux, ...
| Il me fait une erreur sur la ligne :
| strGroups = LCase(Join(CurrentUser.MemberOf))
| Il dit "join : type incompatible"
| j'ai fait un test et strgroups n'est pas vide le msgbox m'affiche bien
| quelque chose : CN=GCSI,OU=GROUPS,...

Cela fonctionne uniquement si l'utilisateur est membre de plus d'un
groupe (sans compter le groupe principal qui est "Utilisa. du domaine"
par défaut). Pour que cela fonctionne dans tous les cas, vous pouvez
utiliser la méthode GetEx qui retournera toujours un tableau de variant
:

If Not IsEmpty (CurrentUser.MemberOf) Then
strGroups = LCase (Join (CurrentUser.GetEx ("MemberOf")))
End If

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Eric
Le #704650
Merci beaucoup pour votre aide, cela fonctionne a 98%.

il me reste un cas qui pose problème.
J'ai un groupe A qui est compose de aa, ab, ac, ad,ae, ...

plus tôt que de multiplier les test sur tout les sous groupes j'ai fait
ce même test sur le "group parent" (A)
dans ce cas la la procédure ne fonctionne pas

Eric



"Eric" news:
| Bonjour,

Bonjour,

| J'essaie d'écrire un script de logon qui permet en fonction du groupe
| d'un utilisateur de monter la bonne imprimante, partage réseaux, ...
| Il me fait une erreur sur la ligne :
| strGroups = LCase(Join(CurrentUser.MemberOf))
| Il dit "join : type incompatible"
| j'ai fait un test et strgroups n'est pas vide le msgbox m'affiche bien
| quelque chose : CN=GCSI,OU=GROUPS,...

Cela fonctionne uniquement si l'utilisateur est membre de plus d'un
groupe (sans compter le groupe principal qui est "Utilisa. du domaine"
par défaut). Pour que cela fonctionne dans tous les cas, vous pouvez
utiliser la méthode GetEx qui retournera toujours un tableau de variant
:

If Not IsEmpty (CurrentUser.MemberOf) Then
strGroups = LCase (Join (CurrentUser.GetEx ("MemberOf")))
End If



Gilles LAURENT [MVP]
Le #704649
"Eric" news:

Bonjour,

| Merci beaucoup pour votre aide, cela fonctionne a 98%.
|
| il me reste un cas qui pose problème.
| J'ai un groupe A qui est compose de aa, ab, ac, ad,ae, ...
|
| plus tôt que de multiplier les test sur tout les sous groupes j'ai
| fait ce même test sur le "group parent" (A)
| dans ce cas la la procédure ne fonctionne pas

L'attribut MemberOf ne gère pas les groupes imbriqués.

Le MVP Richard Mueller a largement traité le sujet. Vous trouverez en
suivant le lien ci-dessous plusieurs fonctions VBScript "IsMember",
chacune possédant ses propres caractéristiques :
http://www.rlmueller.net/freecode1.htm

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Publicité
Poster une réponse
Anonyme