#37413 - 2003-03-06 11:52 AM
List group membership including full name
|
Julian
Starting to like KiXtart
Registered: 2000-04-20
Posts: 112
Loc: Newcastle, Staffs, UK
|
Hello,
I need to list the users of a group including their full. I have used Bryce's script to list the usernames in a group but wondered if i could also use this to display their full name as well.
Is this possible?
code:
Function Groupmembers($target, $group, optional $flag) ;NAME GroupMembers ; ;ACTION Returns an array of all group members of the specified group ; ;SYNTAX GroupMembers(Target, Group, [FLAG]) ; ;PARAMETERS Target ; The Domain name or Workstation to work with. For faster workstation ; execution, include the Domain Name that the workstation is a meber of. ; ; "Kixtart/beanbag" would be working with the workstation Beanbag in the ; Kixtart domain ; ; Group ; The Group you want to query ; ; [FLAGS] ; To use the flags options add the numbers of the desired flags toghthers and ; Use that number in the flag field. ; ; Filter :(only one filter flag at a time please) ; 1 = all ; 2 = Users only ; 4 = Groups only ; ; ADSI Information(return ADSI information "pick only one") ; 8 = ADSPath field ; 16 = ADSI Object Handle ; ;RETURNS an array containing , if the ADSPath option is used the ADSPath ; will also be returned |. ; ;REMARKS ADSI com object must be installed. ; ;EXAMPLES ;this return all members of the Domain Admins group in the kixtart domain. ; $members = groupmembers("kixtart","Domain admins") ; ; ;this will will return all groups in the local administrators group on ; ;the Workstation beanbad in the kixtart domain. Also the ; $groups = groupmembers("thompsons/svrstoke","GG - TUCH Department","all") DIM $temparray[8], $member, $i, $chunk, $flag, $ADSIFlag, $filterFlag $chunk = ubound($temparray) $flag = val($flag) $i = 0 $group = getobject("WinNT://$target/$group") if vartype($group) <> 9 exit(@error) endif select case $flag & 1 $filterflag = 1 case $flag & 2 $filterflag = 2 case $flag & 4 $filterflag = 4 case 1 $filterflag = 1 endselect select case $flag & 8 $ADSIFlag = 8 case $flag & 16 $ADSIFlag = 16 endselect for each $member in $group.members select case $filterflag = 2 AND $member.class = "user" if substr($member.name,len($member.name),1) <> "$" $temparray[$i] = $member.name select case $adsiflag = 8 $temparray[$i] = $member.adspath case $adsiflag = 16 $temparray[$i] = $member endselect $i = $i + 1 endif case $filterflag = 4 AND $member.class = "Group" if substr($member.name,len($member.name),1) <> "$" $temparray[$i] = $member.name select case $adsiflag = 8 $temparray[$i] = $member.adspath case $adsiflag = 16 $temparray[$i] = $member endselect $i = $i + 1 endif case $filterflag = 1 if substr($member.name,len($member.name),1) <> "$" $temparray[$i] = $member.name select case $adsiflag = 8 $temparray[$i] = $member.adspath case $adsiflag = 16 $temparray[$i] = $member endselect $i = $i + 1 endif case $filterflag ;bit bucket endselect if $i = ubound($temparray) redim preserve $temparray[Ubound($temparray)+$chunk] endif next if $i <> 0 redim preserve $temparray[$i-1] $groupmembers=$temparray endif endfunction
$members = Groupmembers(@domain,"GG - TUCH Department",18) for each $member in $members ? $member.name next
I could do with this so I can verify with ceratin teams that we have the correct members in.
Any help would be welcome
Thankyou
Julian
|
|
Top
|
|
|
|
#37414 - 2003-03-06 02:11 PM
Re: List group membership including full name
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
Hi Julian,
Specify that the UDF should return users only (2) and that they should be returned as object handles (16) then simply query the fullname, example:
code:
For Each $Member In GroupMembers("@WKSTA","Administrators",2+16) ? "Fullname=" $Member.FullName Next
Hope this helps.
-Shawn
|
|
Top
|
|
|
|
#37415 - 2003-03-06 02:32 PM
Re: List group membership including full name
|
Julian
Starting to like KiXtart
Registered: 2000-04-20
Posts: 112
Loc: Newcastle, Staffs, UK
|
Fantastic. Thankyou very much Shawn. As ever this board is most helpful.
Thankyou
|
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
0 registered
and 2870 anonymous users online.
|
|
|