IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Récupération Information Active Directory


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 161
    Par défaut Récupération Information Active Directory
    Bonsoir à tous,

    Je me permet de poster une petite requête si quelqu'un d'entre vous a ça en réserve

    Je suis actuellement à la recherche d'un script vbs qui va me récupérer la liste des utilisateurs dans Active Directory mais également les propriétés que je veux. Pour exemple, j'aimerai récupérer le user avec le champ Initiales.

    J'ai trouvé quelques scripts qui permettent de faire cela mais généralement le tout est enregistré dans un fichier xls, alors que je cherche à le récupérer en tant que txt.

    Du coup y a souvent des boucles spécifiques à la création de tableaux Excel etc. qui ne me permettent pas de créer le fichier txt sans avoir à vraiment toucher au code.

    Mes connaissances du vbs étant à la limite du /dev/null, si quelqu'un a un script sous son manteau, je suis preneur

    Par avance, merci.

    Ps : j'ai un peu regardé les scripts du site suivant :

    http://gallery.technet.microsoft.com/

    mais je n'ai pas trouvé mon bonheur car soit c'est enregistré en vbs, soit on récupère le user avec le mail mais pas le champ 'Initiales'

    Ex : http://gallery.technet.microsoft.com...5-8cdc60d0104d.

    Je pense qu'il y a moyen d'adapter le script pour faire ce que je veux mais je m'y connais vraiment pas assez pour le faire :'( )

    Thx again

    Edit :

    Voici le code qui me semble avoir l'information que je souhaite récupérer mais il est enregistré en xls :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    SET objRootDSE = GETOBJECT("LDAP://RootDSE") 
    strExportFile = "C:\temp\MyExport.xls"  
     
    strRoot = objRootDSE.GET("DefaultNamingContext") 
    strfilter = "(&(objectCategory=Person)(objectClass=User))" 
    strAttributes = "sAMAccountName,userPrincipalName,givenName,sn," & _ 
                                    "initials,displayName,physicalDeliveryOfficeName," & _ 
                                    "telephoneNumber,mail,wWWHomePage,profilePath," & _ 
                                    "scriptPath,homeDirectory,homeDrive,title,department," & _ 
                                    "company,manager,homePhone,pager,mobile," & _ 
                                    "facsimileTelephoneNumber,ipphone,info," & _ 
                                    "streetAddress,postOfficeBox,l,st,postalCode,c" 
    strScope = "subtree" 
    SET cn = CREATEOBJECT("ADODB.Connection") 
    SET cmd = CREATEOBJECT("ADODB.Command") 
    cn.Provider = "ADsDSOObject" 
    cn.Open "Active Directory Provider" 
    cmd.ActiveConnection = cn 
     
    cmd.Properties("Page Size") = 1000 
     
    cmd.commandtext = "<LDAP://" & strRoot & ">;" & strFilter & ";" & _ 
                                       strAttributes & ";" & strScope 
     
    SET rs = cmd.EXECUTE 
     
    SET objExcel = CREATEOBJECT("Excel.Application") 
    SET objWB = objExcel.Workbooks.Add 
    SET objSheet = objWB.Worksheets(1) 
     
    FOR i = 0 To rs.Fields.Count - 1 
                    objSheet.Cells(1, i + 1).Value = rs.Fields(i).Name 
                    objSheet.Cells(1, i + 1).Font.Bold = TRUE 
    NEXT 
     
    objSheet.Range("A2").CopyFromRecordset(rs) 
    objWB.SaveAs(strExportFile) 
     
     
    rs.close 
    cn.close 
    SET objSheet = NOTHING 
    SET objWB =  NOTHING 
    objExcel.Quit() 
    SET objExcel = NOTHING 
     
    Wscript.echo "Script Finished..Please See " & strExportFile

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 161
    Par défaut
    Peut-être que ce script va répondre à mes attentes.

    Je vais tester demain

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    On Error Resume Next 
     
    Const ADS_SCOPE_SUBTREE = 2 
     
    Set objConnection = CreateObject("ADODB.Connection") 
    Set objCommand =   CreateObject("ADODB.Command") 
    objConnection.Provider = "ADsDSOObject" 
    objConnection.Open "Active Directory Provider" 
    Set objCommand.ActiveConnection = objConnection 
     
    objCommand.Properties("Page Size") = 1000 
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
     
    objCommand.CommandText = _ 
        "SELECT AdsPath,givenName,SN,initials,title,telephoneNumber " _ 
            & "FROM 'LDAP://dc=fabrikam,dc=com' WHERE " _ 
                & "objectCategory='user'"   
    Set objRecordSet = objCommand.Execute 
    objRecordSet.MoveFirst 
     
    Do Until objRecordSet.EOF 
        Wscript.Echo objRecordSet.Fields("ADsPath").Value 
        Wscript.Echo objRecordSet.Fields("givenName").Value 
        Wscript.Echo objRecordSet.Fields("SN").Value 
        Wscript.Echo objRecordSet.Fields("initials").Value 
        Wscript.Echo objRecordSet.Fields("title").Value 
        Wscript.Echo _ 
            objRecordSet.Fields("telephoneNumber").Value 
        objRecordSet.MoveNext 
    Loop

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 161
    Par défaut
    Voici la solution si ca peut servir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    On Error Resume Next
     
    Const ADS_SCOPE_SUBTREE = 2
     
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    Set objCommand.ActiveConnection = objConnection
     
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
     
    objCommand.CommandText = _
    "SELECT Name,initials FROM 'LDAP://dc=developpez,dc=com' WHERE objectCategory='user'"
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
    Do Until objRecordSet.EOF
        Wscript.Echo objRecordSet.Fields("Name").Value & "  " & "Initiales: " & objRecordSet.Fields("initials").Value
        objRecordSet.MoveNext
    Loop
    ++ all

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération d'information à partir de l'Active Directory
    Par lesanglier dans le forum SharePoint
    Réponses: 4
    Dernier message: 16/12/2009, 14h33
  2. Réponses: 2
    Dernier message: 05/03/2008, 09h29
  3. Information Active Directory
    Par silverfab34 dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 14/01/2008, 15h28
  4. [Active Directory] Problème de récupération de photo
    Par Bizoo dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/04/2007, 13h50
  5. [LDAP] récupération login de l'utilisateur via Active Directory
    Par kcizth dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 21/12/2005, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo