Page 1 sur 1

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

Posté : ven. 20 avr. 2012 14:16
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

Re: PB sur Ad_GatUserGroups avec user sans groupe !!

Posté : ven. 20 avr. 2012 14:41
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.

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

Posté : ven. 20 avr. 2012 14:56
par canari44
Bonjour,
désolé, je ne savais pas . j'ai ajouté [..] en début de titre.
Merci

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

Posté : lun. 23 avr. 2012 14:41
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

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

Posté : lun. 23 avr. 2012 16:49
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