CLS
Break ON
$objSysInfo = CreateObject("ADSystemInfo")
$groupemp = "GG_BRSP03017A_EMPRESA_MAP_DRIVE"
$groupfisc = "GG_BRSP03017A_PORTALFISCAL_MAP_DRIVE"
For Each $sGroup in GetGroups("LDAP://"+$objSysInfo.username)
IF substr($sGroup,4,IofSubStr($sGroup, ',OU=' , 1)-4) = $groupemp
? "MAP DRIVE EMP"
EndIf
IF substr($sGroup,4,IofSubStr($sGroup, ',OU=' , 1)-4) = $groupfisc
? "MAP DRIVE FISCAL"
EndIf
Next
Function GetGroups($vStart,Optional $sIndent)
Dim $sGroupList, $sGroup
If Not (9 = VarType($vStart)) $vStart=GetObject($vStart) EndIf
If Not (9 = VarType($vStart)) Exit 87 EndIf
$sGroupList=$vStart.GetEx("memberOf")
If @ERROR Exit 0 EndIf
For Each $sGroup in $sGroupList
If Not(ASCan($GetGroups,$sGroup)+1) OR $sIndent
$GetGroups=Split(Join($GetGroups,Chr(10))+Chr(10)+SubStr($sIndent,2)+$sGroup,Chr(10))
EndIf
For Each $sChain in GetGroups("LDAP://"+$sGroup,$sIndent+Left($sIndent,1))
If Not(ASCan($GetGroups,$sChain)+1) OR $sIndent
$GetGroups=Split(Join($GetGroups,Chr(10))+Chr(10)+$sChain,Chr(10))
EndIf
Next
Next
$GetGroups=Split(SubStr(Join($GetGroups,Chr(10)),2),Chr(10))
EndFunction
function IofSubStr($Str,$Find,$Start)
dim $
$=split(substr($Str,$Start),$Find)
$IofSubStr=iif(0=ubound($),0,len($[0])+$Start)
endfunction