[..] PB sur Ad_GatUserGroups avec user sans groupe !!

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
canari44
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 20 avr. 2012 10:57
Status : Hors ligne

[..] PB sur Ad_GatUserGroups avec user sans groupe !!

#1

Message par canari44 »

Bonjour,
je suis nouveau sur le forum mais j'utilise autoit régulièrement. Mais voila j'ai un souci avec la fonction Ad_GetUserGroups. Elle me retourne un tableau contenant la liste des groupes auxquels le user appartient (c'est parfait). Mais il y a des cas où un user n'a aucun groupe affecté et alors la fonction se plante. Si quelqu'un avait une idée. D'avance Merci (car je boucle sur le problème).

J'utilise:

Code : Tout sélectionner

; _ADGetUserGroups
; the currently logged on user is a member of. Returns an array of Full DNs of the Group names that the user is immediately a member of
; with element 0 containing the number of groups.
; $user - optional -- SamAccountName of a user, defaults to locally logged on user

Func _ADGetUserGroups(ByRef $usergroups, $user = @UserName)
    Local $oUsr
    
    $strQuery = "<LDAP://" & $strHostServer & "/" & $strDNSDomain & ">;(sAMAccountName=" & $user & ");ADsPath;subtree"
    $objRecordSet = $objConnection.Execute ($strQuery)  ; Retrieve the FQDN for the logged on user
    $ldap_entry = $objRecordSet.fields (0).value
    $oUsr = ObjGet($ldap_entry)  ; Retrieve the COM Object for the logged on user
    
    $usergroups = $oUsr.GetEx ("memberof")
    
    $oUsr = 0
    
    $count = UBound($usergroups)
    _ArrayInsert($usergroups, 0, $count)
EndFunc   ;==>_ADGetUserGroups
Modifié en dernier par Yogui le ven. 20 avr. 2012 18:14, modifié 2 fois.
Raison : demande déplacée + Ajout des balises
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: PB sur Ad_GatUserGroups avec user sans groupe !!

#2

Message par blacksoul305 »

Bonjour,
  • Tu es apparemment entrain de demander de l'aide sur une commande. C'est donc dans la partie "Aide générale" du forum qu'il aurait fallu poster ton problème
  • Il faut ajouter la balise "[..] Ton titre" (pour cela, édite ton premier poste et modifie le titre de celui-ci.)
  • Il faut entourer ton code avec les balises appropriées.
Au revoir !

EDIT: De plus il aurait été bon de mettre les liens directs de tes sources : Voilà ce que j'ai trouvé, c'est ça ? : [R] Ecriture récursive dans un array multidimentionnel.
Modifié en dernier par blacksoul305 le ven. 20 avr. 2012 15:02, modifié 1 fois.
Étudiant en 2ème année de Licence Informatique.
canari44
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 20 avr. 2012 10:57
Status : Hors ligne

Re: [..] PB sur Ad_GatUserGroups avec user sans groupe !!

#3

Message par canari44 »

Bonjour,
désolé, je ne savais pas . j'ai ajouté [..] en début de titre.
Merci
canari44
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 20 avr. 2012 10:57
Status : Hors ligne

Re: [..] PB sur Ad_GatUserGroups avec user sans groupe !!

#4

Message par canari44 »

Bonjour,
mon problème est beaucoup plus simple (à priori). A partir d'un user je souhaite récupérer la liste des groupes auxquels il appartient. Sauf que parfois certains n'ont pas de groupe affecté. De ce fait la fonction Ad_GetUserGroups se plante.
Merci
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] PB sur Ad_GatUserGroups avec user sans groupe !!

#5

Message par mikell »

Faudrait insérer une gestion d'erreur avec @error sur le ObjGet, ou alors qque chose du genre

Code : Tout sélectionner

If not IsArray($usergroups) Then 
    SetError(1)
    Return
Else .... etc
Mais d'abord je ferais un debug avec des ConsoleWrite après chaque instruction, histoire de savoir exactement où ça plante
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre