Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
; ====================================================================== ; ; WinBatch Source File -- Created with PrimalScript 3.1 ; ; NAME: Get All Sub-Groups (indirect and direct) of selected group ; ; AUTHOR: Adam Jongewaard ; DATE : 12/7/2004 ; COMMENT: ; ; ======================================================================== AddExtender("WWADS34I.DLL") UserName="uid" #DefineFunction GetGroups(sGroupPath) lGroups = dsGetMemGrp(sGroupPath) lAllGroups = "" For i = 1 To ItemCount(lGroups, @TAB) If dsIsObject(ItemExtract(i, lGroups, @TAB)) && StriCmp(dsGetClass(ItemExtract(i, lGroups, @TAB)), "group") == 0 Then If lAllGroups == "" Then lAllGroups = ItemExtract(i, lGroups, @TAB) Else lAllGroups = StrCat(lAllGroups,@TAB,ItemExtract(i, lGroups, @TAB)) newgrp = GetGroups(ItemExtract(i, lGroups, @TAB)) If newgrp <> "" Then lAllGroups = StrCat(lAllGroups,@TAB,newgrp) EndIf Next Return lAllGroups #EndFunction groups = GetGroups("Group-ADSI-Path") mygroups = dsGetProperty("User-ADSI-Path","memberOf") For i = 1 To ItemCount(mygroups,@TAB) group=ItemExtract(2,ItemExtract(1,ItemExtract(i,mygroups,@TAB),","),"=") grouppath = dsFindPath("LDAP://DOMAIN.COM/DC=DOMAIN,DC=com","sAMAccountName=%group%") If ItemLocate(grouppath,groups,@TAB) <> 0 Then Break group = "" Next If group <> "" Then Message("%UserName% is a member of GroupName through:",group) Else Message("Error","%UserName% is not a member of GroupName."
Article ID: W16328
File Created: 2005:02:18:12:19:48
Last Updated: 2005:02:18:12:19:48