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

Exchange Server Discussion :

Comment Afficher les noms de la liste d'adresse dans l'ordre 'Nom Prénom' ?


Sujet :

Exchange Server

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Points : 59
    Points
    59
    Par défaut Comment Afficher les noms de la liste d'adresse dans l'ordre 'Nom Prénom' ?
    Bonjour,

    Nous utilisons Exchange server 2003 + AD. Dans la liste d'adresse globale, les noms sont affichés dans l'ordre 'Prénom Nom'. Je voudrais que les noms complets soient affichés en commençant par le nom 'Nom Prénom'.

    Dans la MOC Exchange 2003, on explique que avec ADSI Edit, on peut réaliser ce changement, mais cela ne s'appliquera qu'aux nouveaux comptes créés. Pour que cela s'applique également à tous les comptes existants, il faut utiliser un script.

    Connaissez vous le script qui permet de faire cela ?

    Merci.

  2. #2
    Membre expérimenté
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Points : 1 391
    Points
    1 391
    Par défaut
    salut , dans technet tu trouveras ton bonheur.

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Points : 59
    Points
    59
    Par défaut
    Salut Senji. Ce serait plus simple de me donner un ou plusieurs liens où je trouverai "mon bonheur". Avant de poster, j'ai fait des recherches. Et là dans technet, je n'ai rien trouvé. Merci d'être plus explicite.

  4. #4
    Membre expérimenté
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Points : 1 391
    Points
    1 391
    Par défaut
    t sur ? et pourquoi je trouve en 3 min?

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    
    
     optionexplicit
    
        
    
         dim oRoot
    
         dim oConnect, oCommand, rs
    
         dim strConfigurationContext
    
         dim oGAL
    
         dim strGalContainer
    
         dim strSearchRoot
    
         dim entry
    
        dim oSearchRoot
    
        
    
        'to get LDAP namespace
    
        set oRoot = GetObject("LDAP://RootDSE")
    
        strConfigurationContext = oRoot.Get("configurationNamingContext")
    
       
    
        'Open the global address list container
    
        strGalContainer = "LDAP://CN=All Global Address Lists,CN=Address Lists Container,CN=Contoso,CN=Microsoft Exchange,CN=Services, " & strConfigurationContext
    
        
    
        ' Iterate through global address lists. In this example, only the last one is used.
    
        foreach entry in GetObject(strGalContainer)
    
            set oGAL = entry
    
        next
    
       
    
        'Get the searchroot
    
        strSearchRoot = "LDAP://" & oRoot.Get("defaultNamingContext")
    
        
    
        'Using ADO to query the Active Directory for a particule user
    
        set oConnect = CreateObject("ADODB.Connection")
    
        set oCommand = CreateObject("ADODB.Command")
    
        
    
        'Open the connection
    
        oConnect.Provider = "ADsDSOObject"   
    
        oConnect.Open "Active Directory Provider"
    
        
    
        'Create a command object for this connection
    
        Set  oCommand.ActiveConnection = oConnect
    
        oCommand.CommandText = "SELECT samAccountName, givenName, sn FROM '" & strSearchRoot & "' WHERE msExchHideFromAddressLists <> true AND showInAddressBook = '" & oGal.Get("distinguishedName") & "' ORDER BY sAMAccountName ASC"
    
        
    
        'Create a recordset based on the ADO command
    
        set rs = oCommand.Execute
    
        
    
        while (not rs.EOF)
    
            wscript.echo rs.Fields("samAccountName") & " (" & rs.Fields("givenName") & " " & rs.Fields("sn") & ")"
    
            rs.MoveNext
    
        wend
    après t'as plus qu'à modifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wscript.echo rs.Fields("samAccountName") & " (" & rs.Fields("givenName") & " " & rs.Fields("sn") & ")"
    pour avoir ce que tu veux.

    ce script fonctionne pour le domaine par défaut.

    Si je te dis de chercher c'est pour comprendre. car je ne suis pas sûr que tu comprennes ce script ( je peux me tromper)

    bye

    Merci à H. K

    PS: je ne donnerai le lien, il faut de fois creuser une tombe pour chercher

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Points : 59
    Points
    59
    Par défaut
    Merci Senji,
    Mais franchement, tu ne m'aide pas. Tu dis ne pas être sûr que je comprenne le script. Pourquoi alors ne pas me permettre de le comprendre en me donnant les liens ? De toute évidence, je devrais modifier ton code pour l'adapter à mon domaine.

    On est sur un forum. Si j'y suis, c'est pour trouver de l'aide. Si tu ne veux pas donner l'aide dont j'ai besoin, ce n'est pas la peine de répondre. Si tu veux aider, fais le franchement.

    Pour l'instant, je ne suis pas plus avancé. Merci encore.

  6. #6
    Membre expérimenté
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Points : 1 391
    Points
    1 391
    Par défaut
    salut,

    avant de scripter, il faut comprendre ce que l'on veut scripter.

    les Address Lists d'Exchange ne sont pas stocké quelque part dans Exchange Store, non plus directement dans Active Directory. La seule chose qui est stocké dans la base de données d'Active Directory est un LDAP search filter qui correspond au nom du liste d'addresse
    Pour avoir un aperçu tu peux utiliser ADSI Edit, un outils qui consulte la base de donnée de l'Active directory.
    MAIS: Comme avec le regedit, l'usage abusif de cet outil peut affecter la stabilité de ton Active Directory. un homme averti en vaut deux!

    Quand je regarde mon serveur test sous le noeud
    CN=All Global Address Lists,CN=Address Lists Container,CN=MyTest,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=MyTest,DC=lan je peux voir toute la liste d'adresse. Dans la plupart des cas, il n'y aura qu'un seul.

    L'entrée CN=Default Global Address Lists a une propriété appelé purportedSearch qui contient le LDAP filter pour cet address list.

    sa valeur par défaut est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (& (mailnickname=*)​(|(&(objectCategory=person)​(objectClass=user)​ (!(homeMDB=*))​(!(msExchHomeServerName=*)))​ (&(objectCategory=person)​(objectClass=user)​(|(homeMDB=*)​ (msExchHomeServerName=*)))​(&(objectCategory=person)​ (objectClass=contact))​(objectCategory=group)​ (objectCategory=publicFolder)​ (objectCategory=msExchDynamicDistributionList)))

    ceci est la valeur par défaut du LDAP filter pour la liste d'adresse global utilisé par Recipient Update Service (RUS).

    Sous le noeud CN=All Address Lists tu trouveras les autres address lists. comme avec Global Address List, chaque liste a son propre noeud avec la propriété purportedSearch configuré pour son LDAP filter.

    cependant, c'est vraiment un parcours de combattant d'utiliser le LDAP filter. à la place, on va chercher d'une autre manière: Chaque élément qui est listé dans le global address book a un attribut nommé showInAddressbook. donc il serait plus rapide de faire une recherche du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (&(mailNickname=*)​(showInAddressBook=<dn of addressbook>))
    Donc à partir de ça on va juste remplacer le <dn of addressbook> avec le nom de l' address book que tu veux obtenir. Pour le global address book, ça sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=<Ton Organisation>,CN=Microsoft
    Exchange,CN=Services,CN=Configuration,DC=Paul,DC=com.
    ça c'est la requête pour recupérer le nom, et tu peux l'adapter si tu veux rajouter des choses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT samAccountName, givenName, sn FROM '" & strSearchRoot & "' WHERE msExchHideFromAddressLists <> true AND showInAddressBook = '" & oGal.Get("distinguishedName") & "' ORDER BY sAMAccountName ASC"
    Voilà le but du script. maintenant tu as suffisament d'informations pour l'adapter. Mais testes le déjà pour voir ce qu'il te retourne.
    si tu as d'autres questions, n'hésites pas.

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Points : 59
    Points
    59
    Par défaut
    Dans mon ADSI Edit, je ne vois pas "CN=All Global Address Lists", quelque soit le contexte que j'utilise (Domain, RootDSE, Configuration ou Schema). Où puis je trouver cette entrée ?

  8. #8
    Membre expérimenté
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Points : 1 391
    Points
    1 391
    Par défaut
    salut,

    c'est le chemin inverse de ce que j'ai indiqué là haut

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Points : 59
    Points
    59
    Par défaut
    OK, Effectivement, c'était l'inverse, et j'ai retrouvé la propriété purportedSearch. Bon maintenant, je ne sais pas quoi faire. Je n'ai jamais vraiment travaillé avec ADSI Edit si ce n'est au cours Exchange, et je voudrais te demander de m'aider à bien comprendre comment procéder.

    Je n'ai pas compris à partir d'ici:
    cependant, c'est vraiment un parcours de combattant d'utiliser le LDAP filter. à la place, on va chercher d'une autre manière: Chaque élément qui est listé dans le global address book a un attribut nommé showInAddressbook. donc il serait plus rapide de faire une recherche du genre:
    Code :

    (&(mailNickname=*)​(showInAddressBook=<dn of addressbook>))

    Donc à partir de ça on va juste remplacer le <dn of addressbook> avec le nom de l' address book que tu veux obtenir. Pour le global address book, ça sera
    Code :

    CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=<Ton Organisation>,CN=Microsoft
    Exchange,CN=Services,CN=Configuration,DC=Paul,DC=com.

    ça c'est la requête pour recupérer le nom, et tu peux l'adapter si tu veux rajouter des choses
    Code :

    "SELECT samAccountName, givenName, sn FROM '" & strSearchRoot & "' WHERE msExchHideFromAddressLists <> true AND showInAddressBook = '" & oGal.Get("distinguishedName") & "' ORDER BY sAMAccountName ASC"
    Où et comment je procède ? Je ne vois pas de showInAddressbook. Dois je comprendre que dans les propriétés de CN=Liste d'adresses globale par défaut je dois remplacer la valeur par défaut de la propriété purportedSearch par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (&(mailNickname=*)​(showInAddressBook=CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=<Ton Organisation>,CN=Microsoft
    Exchange,CN=Services,CN=Configuration,DC=Paul,DC=com))
    ? (j'ai juste remplacé <dn of addressbook>).

    Merci pour tes réponses.

  10. #10
    Membre expérimenté
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Points : 1 391
    Points
    1 391
    Par défaut
    salut,

    l'attribut showInAddressBook a deux but:
    1) un de permettre aux gens de voir la liste des personnes par le client MAPI ( outlook)
    2) permettre aux utilisateurs de resoudre les nom sur un client MAPI

    Dans ADSI Edit pour rechercher l'attribut showInAddressBook , fais ceci

    1. ouvres ADSIEDIT
    2. Développez Domain NC [server_dc.Tondomain.com]
    3. Développez contrôleur de domaine =Tondomain, DC = com
    4. Développez CN = Users <= l'OU où se trouve tes users
    5. Cliquez avec le bouton droit sur CN = User_Name, puis cliquez sur Propriétés .
    6. Dans la liste Sélectionnez une propriété à afficher , recherchez l'attribut showInAddressBook . Et tu veras sa valeur par défaut.

    Tout ça c'est pour t'expliquer le pourquoi du choix de cet attribut.
    Maintenant TOUT se passe dans le script!!!!!

    A toi de jouer.

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________

  11. #11
    Membre expérimenté
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Points : 1 391
    Points
    1 391
    Par défaut
    salut,

    aussi n'oublies pas de remplacer global address list container du script par le tient, tu connais le chemin maintenant avec ADSI EDIT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Open the global address list container
     
        strGalContainer = "LDAP://CN=All Global Address Lists,CN=Address Lists Container,CN=Contoso,CN=Microsoft Exchange,CN=Services, " & strConfigurationContext
    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________

Discussions similaires

  1. [Exchange 2010] Comment Afficher les noms de la liste d'adresse dans l'ordre 'Nom Prénom' ?
    Par tamyme dans le forum Exchange Server
    Réponses: 1
    Dernier message: 05/05/2011, 10h33
  2. Réponses: 8
    Dernier message: 22/04/2011, 21h27
  3. Comment afficher les noms de la liste h_addr_list
    Par sabakunosahara dans le forum Réseau
    Réponses: 3
    Dernier message: 28/02/2011, 16h29
  4. Réponses: 3
    Dernier message: 11/07/2007, 10h10
  5. Réponses: 2
    Dernier message: 27/09/2006, 11h35

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