Petit post vite fait sur les dsquery pour ceux qui font des requêtes ad
Code : Tout sélectionner
Declare dsget(dsquery.s)
Declare checkgroup(output.s)
Global UserLu.s
Procedure AD(id.s) ;
requete = RunProgram("dsquery"," user -domain mondomain.fr.blabla -samid " + id,"", #PB_Program_Open|#PB_Program_Read|#PB_Program_Hide )
If requete
While ProgramRunning(requete)
output.s = ReadProgramString(requete)
If output <> ""
PrintN( output )
; Debug output
dsget(output)
EndIf
Wend
CloseProgram(requete)
EndIf
EndProcedure
Procedure dsget(dsquery.s)
requete2 = RunProgram("dsget"," user " + dsquery + " -memberof","", #PB_Program_Open|#PB_Program_Read )
;Debug "dsget user " + dsquery + " - hmdir"
a = -1
If requete2
output.s = ""
While ProgramRunning(requete2)
output.s = output + ReadProgramString(requete2)
Wend
CloseProgram(requete2)
checkgroup(output.s)
EndIf
EndProcedure
Procedure checkgroup(output.s)
;Debug output
FileSeek(0,0)
While Eof(0) = 0
GroupLu.s = ReadString(0)
;Debug GroupLu
If FindString(output,GroupLu,1,#PB_String_NoCase)
Debug GroupLu + ";" + UserLu
WriteStringN(2,GroupLu + Chr(9)+ UserLu)
EndIf
Wend
EndProcedure
If ReadFile(0, "groups.txt")
If ReadFile(1, "users.txt")
If CreateFile(2, "resultat.txt")
OpenConsole()
PrintN("Lancement du script")
WriteStringN(2,"Group AD" +Chr(9) +"Login")
While Eof(1) = 0
UserLu.s = ReadString(1)
PrintN("check de " + UserLu)
ad(UserLu)
Wend
PrintN("Scan termine")
CloseFile(0)
Else
MessageRequester("Erreur", "Impossible de créer le fichier Resultat.csv", #PB_MessageRequester_Ok )
End
EndIf
Else
MessageRequester("Erreur", "Impossible d'ouvrir le fichier users.txt", #PB_MessageRequester_Ok )
End
EndIf
Else
MessageRequester("Erreur", "Impossible d'ouvrir le fichier groups.txt", #PB_MessageRequester_Ok )
End
EndIf