break on
;setconsole('hide')
$fh = FreeFileHandle()
$file = "list.txt"
$result=""
if not open ($fh, $file)
$line = ReadLine($fh)
while not @error
$line=split($line,";")
if open(3, "result.log", 5)=0
$user = $line[0]
$oldGroup = $line[1]
if MemberOf($oldgroup,$user)=1
$result="isMember"
else
$result = "NotMember"
endif
$x = WriteLine(3, $user+";"+$oldGroup+";"+$result+@CRLF)
else
? "Error result.log"
endif
close(3)
loop
else
"Error list.txt"+@CRLF
endif
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;FONCTIONS (DO NOT MODIFY)
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Function MemberOf($Groupe, OPTIONAL $User)
If ($User = "")
$User = @USERID
EndIf
$LDAPGroupe = ""
$oLDAPGroupe = CreateObject("NameTranslate")
If Not(@ERROR)
$oLDAPGroupe.Init(3, "")
If Not(@ERROR)
$oLDAPGroupe.Set(3,"@DOMAIN\"+$Groupe)
If Not(@ERROR)
$LDAPGroupe = $oLDAPGroupe.Get(1)
EndIf
EndIf
EndIf
$oGroupe = GetObject("LDAP://" + $LDAPGroupe)
If Not(@ERROR)
For Each $Objet In $oGroupe.Members
Select
Case $Objet.Class = "group"
$Result = MemberOf($Objet.cn, $User)
If ($Result = 1)
$MemberOf= 1
Return
EndIf
Case $Objet.Class = "user"
If ($Objet.samAccountName == @USERID)
$MemberOf= 1
Return
EndIf
EndSelect
Next
EndIf
$MemberOf = 0
EndFunction