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

Scripts/Batch Discussion :

Exportation de boite aux lettres et de nom d'utilisateurs [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut Exportation de boite aux lettres et de nom d'utilisateurs
    Bonjour à tous,

    Je souhaite exporter l'intégralité de mes boites aux lettres via la console Exchange Online en powershell :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-EXOMailbox -ResultSize unlimited -RecipientTypeDetails "UserMailBox" | select UserPrincipalName

    Jusque là tout va bien, je récupère bien mes différentes adresses mails depuis les UPNs.

    Le problème qui suit, c'est de récupérer la partie "Nom" et "Prénom" afin de les comparer pour savoir si c'est une boite mail générique ou bien une boite mail nominative. Mais de quel manière le faire ?? j'ai tenté :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    get-exomailbox | get-user

    mais ce get-user me pose quelques soucis d'incohérence donc je me suis dit que j'allais utiliser l'AD pour récupérer mes informations vu que j'ai les UPNs :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ADUser -Filter * | where-object {$_.UserPrincipalName -match $mailbox} | select @{N="Prenom";E={$_.GivenName}},@{N="Nom";E={$_.SurName}},@{N="Adresse mail"; E={$_.UserPrincipalName}}, @{N="Groupe"; E={$_.UserPrincipalName.split("@")[1]}}, @{N="Type"; E={ if (($_.GivenName -notlike "") -and ($_.Surname -notlike "") -and ($_.GivenName -notmatch $_.Surname)){"personnel"}Else {"générique"}}}, @{N="Langue"; E={$_.UserPrincipalName.split(".")[-1]}} | Export-Csv -Path "C:\Temp\export_mailbox.csv" -Encoding UTF8 -NoTypeInformation

    Je pense que mon problème est dans le where-object, c'est ce qui me paraît le plus logique mais je ne trouve pas ce qu'il me faut pour intégrer ma précédente commande pour récupérer les mailbox et la suivante pour récupérer les autres informations qui vont me permettre de mettre en forme mon CSV.

    Auriez-vous des suggestions à me proposer ?

    Merci de vos réponses.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Bonjour,

    C'est quoi $mailbox ?
    Sur quoi doit se faire la jointure (correspondance) ?

    Un exemple du premier export pourrait aider

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut
    Bonjour ericlm128,

    C'est quoi $mailbox ?
    ha oui pardon, c'est la première commande get-exomailbox

    Sur quoi doit se faire la jointure (correspondance) ?
    Sur le UserPrincipalName puisque j'extrait cette info de l'exomailbox et je souhaite dans mon exemple requêter l'AD en fonction du UserPrincipalName. Mais peut-être qu'une autre solution que l'AD est envisageable, comme AzureAD ? d'où mon post sur ce forum.

    Un exemple du premier export pourrait aider
    j'obtient la liste suivante :

    "UserPrincipalName"
    "utilisateur@nomdomain.fr"
    "utilisateur2@nomdomain2.com"

    etc...

    Ce qui ressemble fortement à un format Objet Powershell, comme une commande classique que l'on exécuterai pour extraire des informations. (Si je ne me trompe pas dans les termes)

    Merci pour votre réponse rapide.

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je ne suis pas très calé en azure ad mais je pense qu'il faut vérifier si les attributs dont tu as besoin son synchronisé.
    Si c'est le cas le mieux est de tout faire dans azure ad.
    Si ce n'est pas le cas nous ferons la correspondance avec ton ad.

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut
    Il y a bien une synchro avec Azure AD mais le problème c'est qu'il existe des utilisateurs qui n'ont pas de boites mails, d'où l'intérêt de faire une extraction directement avec get-exomailbox.

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Oui je me doute, mais la question porte sur la synchronisation des attributs qui t'intéressent (nom, prénom)

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut
    Ha pardon, oui tout à fait, je viens de vérifier à l'instant et j'ai bien les informations présentes sur mon interface d'administration AzureAD. En revanche, je ne trouve pas l'information en powershell avec un :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    get-AzureADUser -objectId OIDdel'utilisateur

    En effet, je retrouve l'ObjectID, le DisplayName, l'UPN (UserPrincipalName) et le UserType. Je n'ai pas d'attribut -properties * par exemple pour afficher tout. Il existe un -all mais je n'ai pas compris son utilisation.

    D'où le fait de me tourner vers l'AD

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    J'ai fait un test sur mon AzureAD

    Je récupère correctement les informations avec cette ligne de commande

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-AzureADUser -ObjectId eric.lm@net.fr | Select-Object GivenName, Surname, UserPrincipalName

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    GivenName Surname    UserPrincipalName      
    --------- -------    -----------------      
    eric      lm         eric.lm@net.fr

  9. #9
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut
    ha bien vu ! Je ne pensais pas que l'adresse mail en OID fonctionnait ! je récupère également ces informations avec votre commande.

    Maintenant, comment l'exploiter ? je me retrouve tout de même dans la même situation que mon Get-AdUser.. Comment joindre le Get-EXOMailbox avec le get-AzureADUser ?

  10. #10
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut
    Pardon j'ai répondu un peu vite sans avoir eu le temps d'exploiter cette information.

    j'ai l'impression d'avoir trouvé ce qu'il me faut via la commande suivante :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-EXOMailbox -ResultSize unlimited -RecipientTypeDetails "UserMailBox" | select UserPrincipalName | Get-AzureADUser -ObjectId {$_.UserPrincipalName} | select @{N="Prenom";E={$_.GivenName}},@{N="Nom";E={$_.SurName}},@{N="Adresse mail"; E={$_.UserPrincipalName}}, @{N="Groupe"; E={$_.UserPrincipalName.split("@")[1]}}, @{N="Type"; E={ if (($_.GivenName -notlike "") -and ($_.Surname -notlike "") -and ($_.GivenName -notmatch $_.Surname)){"personnel"}Else {"générique"}}}, @{N="Langue"; E={$_.UserPrincipalName.split(".")[-1]}} | Export-Csv -Path "C:\Temp\export_mailbox.csv" -Encoding UTF8 -NoTypeInformation

    Merci pour cette information qui m'a permis d'avancer sur ma démarche !

  11. #11
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Super
    Tu coup tu as les informations recherchées ?

  12. #12
    Membre chevronné
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mai 2020
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2020
    Messages : 288
    Par défaut
    Tout à fait, j'ai tout ce que je voulais

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

Discussions similaires

  1. [exchange server 2007], taille boite aux lettres.
    Par valoche51_2 dans le forum Exchange Server
    Réponses: 4
    Dernier message: 27/06/2007, 11h53
  2. récupération mail boite aux lettres
    Par Gary_Stoupy dans le forum Access
    Réponses: 11
    Dernier message: 22/01/2007, 12h15
  3. Boites aux lettres de MS Exchange 5.5
    Par Safaritn dans le forum Exchange Server
    Réponses: 1
    Dernier message: 03/01/2007, 11h19
  4. Outlook 2003 plusieurs boite aux lettres
    Par Destiny dans le forum Outlook
    Réponses: 4
    Dernier message: 31/10/2006, 21h31
  5. Outlook 2003 plusieurs boite aux lettre
    Par Destiny dans le forum Outlook
    Réponses: 1
    Dernier message: 26/10/2006, 17h49

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