Page 1 sur 1
[..] Recuperation du login script
Posté : jeu. 02 oct. 2008 14:10
par zerrokooll
Bonjour,
Je viens de decouvrir Autoit, et je m'amuse comme un petit fou...
Je souhaiteras savoir comment faire pour recuperer le nom du login script utiliser par mes utilisateur, via l'active directory.
Peut on se connecter à l'AD via un script et, ensuite, peut on recuperer un parametre precis d'un compte utilisateur ?
Merci pour votre aide.
Z.
Re: Recuperation du login script
Posté : jeu. 02 oct. 2008 20:16
par L4crymal
Ça sent le petit pirate à plein nez lol
je rigole
Tient ces macros peuvent déjà te donner pas mal d'infos :
http://www.autoitscript.fr/autoit3/docs/macros.htm
Re: [..] Recuperation du login script
Posté : mar. 07 oct. 2008 08:00
par jackymb
Bonjour,
Je te fournis un morceau de code en exemple, qui récupère les adresse Mail des utilisateurs.
Il faut adapter le domaine & L'ou en fonction de tes Besoins.
Tu peux aller voir sur le site :
http://www.selfadsi.org pour avvoir les attributs des utilisateurs.
► Afficher le texte
Code : Tout sélectionner
dim $icpt, $iCptMail
;Creation Objet Connexion
Local $objCommand = ObjCreate("ADODB.Command")
Local $objConnection = ObjCreate("ADODB.Connection")
; Liaison avec L'AD
$objConnection.Provider = "ADsDSOObject"
$objConnection.Open ("Active Directory Provider")
$objCommand.ActiveConnection = $objConnection
Local $strDom = "dc=MonDomaine,dc=net" ; A Mofifier
Local $strOU = "OU=Comptabilite,OU=Users," ; A Mofifier
Local $strFilter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=*))"
Local $strAttributes = "cn,sAMAccountName,displayName,sn,distinguishedName,mail"
Local $strQuery = "<GC://" $strOU & $strDom & ">;" & $strFilter & ";" & $strAttributes & ";subtree"
;msgbox(0,"", $strQuery)
; Parametrage
$objCommand.CommandText = $strQuery
$objCommand.Properties ("Page Size") = 100
$objCommand.Properties ("Timeout") = 30
$objCommand.Properties ("Cache Results") = False
$ADS_SCOPE_SUBTREE = 2
$objCommand.Properties ("searchscope") = $ADS_SCOPE_SUBTREE
;Recuperation des information
Local $objRecordSet = $objCommand.Execute
$icpt = 0
$iCptMail = 0
;Explore les enregistrement, ET Affiche certaines infos
While Not $objRecordSet.EOF
$strName = $objRecordSet.Fields ("sAMAccountName").Value
$strCN = $objRecordSet.Fields ("cn").value
$strdisplayName = $objRecordSet.Fields ("displayName").value
$strSN = $objRecordSet.Fields ("SN").value
$strdistinguishedName = $objRecordSet.Fields ("distinguishedName").value
; msgbox(0,"",$strdistinguishedName)
$strMail = $objRecordSet.Fields ("Mail").value
if $strmail <> "" Then
$iCptMail = $iCptMail + 1
ConsoleWrite($strName & "---" & $strCN & "---" & $strdisplayName & "---" & $strMail & @CRLF) ; Affiche les infos
endIf
$iCpt = $iCpt + 1
$objRecordSet.MoveNext
WEnd
ConsoleWrite ("nb User : " & $icpt & @crlf)
ConsoleWrite ("nb Mail : " & $icptMail & @crlf)
$objConnection.Close
$objConnection = ""
$objCommand = ""
$objRecordSet = ""
Bonne Utilisation. JackyMB