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 :

Creation listes de distribution dynamiques via CSV [Exchange 2013]


Sujet :

Exchange Server

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 74
    Points : 43
    Points
    43
    Par défaut Creation listes de distribution dynamiques via CSV
    Bonjour,
    Je cherche à créer des listes dynamiques basées sur la propriété AD ville. J'y arrive à l'unité mais pas possible jusque là de le faire via un CSV.

    Voici mon code que j'ai essayé :

    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
    $csv = Import-Csv -Path "_1_Creation_Liste_Dynamique_par_ville.csv" -Delimiter ";"
    
    foreach($user in $csv) 
    { 
    #gestion des champs du fichier CSV
     
    $nomliste = $user.nomliste    # nom d'affichage de la liste
    $aliasliste = $user.aliasliste    # adresse email de la liste sans @ert-technologies.fr
    $villeliste = $user.villeliste     # valeur du champ AD Ville (City) passé en condition pour définir les membres de la liste créée. L'utilisateur AD qui possèdera cette valeur de champ AD sera 
    					  # membre de la liste de diffusion.
    
    New-DynamicDistributionGroup -Name $nomliste -Alias $aliasliste -OrganizationalUnit 'domain/OU' -RecipientFilter {((RecipientType -eq 'UserMailBox') -and (City -eq $villeliste))}
    
    }
    Contenu de mon csv avec une ligne d'exemple :
    nomliste;aliasliste;villeliste
    LISTE-NIORT3;liste.niort3;NIORT

    Le problème se situe au niveau de la variable $villeliste qui remplace NIORT par null dans la création de ma liste LISTE-NIORT3

    J'ai essayé plusieurs variantes : mettre 'NIORT' dans mon CSV ou '$villeliste' dans mon script mais ça ne fonctionne pas.

    Voici la commande originelle qui fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    New-DynamicDistributionGroup -Name "LISTE-NIORT3" -Alias "liste.niort3" -OrganizationalUnit 'domain/OU' -RecipientFilter {((RecipientType -eq 'UserMailBox') -and (City -eq 'NIORT'))}
    mes 3 variables sont donc les valeurs LISTE-NIORT3 et liste.niort3 entre doubles quotes et NIORT entre simples quotes

    Merci par avance pour votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    personne n'aurait une idée ?

  3. #3
    Membre chevronné
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Novembre 2004
    Messages
    1 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 284
    Points : 2 160
    Points
    2 160
    Par défaut
    Ton code powershell est bon.

    Regarde ici et prend le deuxième résultat (MSExchange.org) :

    Au cas ou la recherche google des deux mots ne fonctionne pas :

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 74
    Points : 43
    Points
    43
    Par défaut test
    Bonjour et merci pour le retour.

    A priori cela ne fonctionne pas où alors j'ai peut être mal compris ce qui était indiqué.

    j'ai remplacé dans mon code initial :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    New-DynamicDistributionGroup -Name $nomliste -Alias $aliasliste -OrganizationalUnit 'domain/ListeDiffusion' -RecipientFilter {((RecipientType -eq 'UserMailBox') -and (City -eq $villeliste))}
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    New-DynamicDistributionGroup -Name $nomliste -Alias $aliasliste -OrganizationalUnit 'Domain/ListeDiffusion' -RecipientFilter {((RecipientType -eq 'UserMailBox') -and (City -eq '$($villeliste)'))}
    donc remplacement de $villeliste par '$($villeliste)' comme dans l'exemple donné sur le lien.


    Si je vais sur Exchange suite à la création de ma liste et édite cette dernière. Dans la partie "appartenance" je vois la requête permettant l'attribution dynamique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ((((RecipientType -eq 'UserMailbox') -and (City -eq '$($villeliste)'))) -and (-not(Name -like 'SystemMailbox{*')) -and (-not(Name -like 'CAS_{*')) -and (-not(RecipientTypeDetailsValue -eq 'MailboxPlan')) -and (-not(RecipientTypeDetailsValue -eq 'DiscoveryMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'PublicFolderMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'ArbitrationMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'AuditLogMailbox')))
    on note bien que la gestion de la variable $villeliste ne passe pas et du coup j'ai 0 membres dans cette liste.

    En cas d'exécution manuel sans passer par un csv j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ((((RecipientType -eq 'UserMailbox') -and (City -eq 'NIORT'))) -and (-not(Name -like 'SystemMailbox{*')) -and (-not(Name -like 'CAS_{*')) -and (-not(RecipientTypeDetailsValue -eq 'MailboxPlan')) -and (-not(RecipientTypeDetailsValue -eq 'DiscoveryMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'PublicFolderMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'ArbitrationMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'AuditLogMailbox')))
    Ici j'ai logiquement 'NIORT' qui s'affiche.

  5. #5
    Membre chevronné
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Novembre 2004
    Messages
    1 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 284
    Points : 2 160
    Points
    2 160
    Par défaut
    Éventuellement tu peux passer par la première solution ou il faut en deux lignes.
    $RecipientFilter = "....

    Tu peux pour les test écrire $RecipientFilter en Write-Host ou dans un fichier pour voir exactement quel est le rendu et si vraiment ta variable ne s'affiche pas.
    Essaye t'en qu'à faire d'écrire aussi juste $villeliste aussi.

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 74
    Points : 43
    Points
    43
    Par défaut résolu
    à priori j'ai trouvé la solution :

    voici le code complet qui fonctionne :

    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
    Import-module activedirectory
    
    cd "C:\Scripts\Creation\SCRIPTS_MANAGEMENT\creation_liste_distribution"
    
    Write-host "######################################################" -ForegroundColor green
    Write-host "####     Creation de liste(s) de distribution dynamique(s)" -ForegroundColor green
    
    $csv = Import-Csv -Path "_1_Creation_Liste_Dynamique_par_ville.csv" -Delimiter ";"
    
    foreach($user in $csv) 
    { 
    #gestion des champs du fichier CSV
    $nomliste = $user.nomliste       # nom d'affichage de la liste
    $aliasliste = $user.aliasliste   # adresse email de la liste sans @ert-technologies.fr
    $villeliste = $user.villeliste   # valeur du champ AD Ville (City) passé en condition pour définir les membres de la liste créée. L'utilisateur AD qui possèdera cette valeur de champ AD sera 
    								 # membre de la liste de diffusion.
    $recipientFilter = "{((RecipientType -eq 'UserMailBox') -and (City -eq '$villeliste'))}"
    
    New-DynamicDistributionGroup -Name $nomliste -Alias $aliasliste -OrganizationalUnit 'ERTTECH.local/ListeDiffusion' -RecipientFilter $recipientFilter
    }
    J'ai passé en variable toute la requête RecipientFilter . cette variable englobe ma variable $villeliste entre petites quotes.

    merci pour les infos

  7. #7
    Membre chevronné
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Novembre 2004
    Messages
    1 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 284
    Points : 2 160
    Points
    2 160
    Par défaut
    Pas de soucis

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

Discussions similaires

  1. Listing <tr> dynamiquement via Jquery
    Par doncho23 dans le forum jQuery
    Réponses: 12
    Dernier message: 30/05/2012, 12h11
  2. creation liste dynamique
    Par psmpa dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/04/2009, 17h27
  3. Creation de liste d'objet dynamique
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 05/12/2008, 14h08
  4. Creation de reponse automatique pour une liste de distribution
    Par spynux dans le forum Exchange Server
    Réponses: 0
    Dernier message: 06/05/2008, 16h55
  5. [qmail] Creation des alias et liste de distribution
    Par sazpac dans le forum Debian
    Réponses: 0
    Dernier message: 22/01/2008, 15h38

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