[UPDATE] Exchange 2010: les commandes Powershell utiles
Voici quelques commandes utiles et fréquemment utilisées. Bien entendu, rendez-vous ici pour obtenir l’ensemble des commandes pour administrer Exchange 2010.
Depuis l’apparition de Powershell, son utilisation est de plus en plus employée au sein des produits Microsoft et Exchange ne déroge pas à cette règle. D’ailleurs, si l’administration basique peut être réalisée par l’interface d’Exchange, less fonctionnalités les plus avancées sont disponibles en Powershell. Pour rappel, Powershell repose sur du .NET et WINRM 2.0 en se connecte via IIS. Voici le fonctionnement de RBAC (rôle based access control):
Je ne m’éternise pas à ce sujet, Technet est là pour ça… Voici donc les commandes les plus usitées:
Les contacts
Créer un contact
Enable-MailContact -Identity "Cédric GEORGEOT" -Alias cgeorgeot -ExternalEmailAddress [email protected]
Désactiver un contact
Disable-MailContact -Identity cgeorgeot
Changer l’Alias
Set-MailContact -Identity cgeorgeot -Alias georgeot
Les groupes
Créer un groupe « from scratch »
New-DistributionGroup -Name 'Ventes' -Type 'Distribution' -OrganizationalUnit 'mondomaine.local/UO' -SamAccountName 'Ventes' -DisplayName 'Ventes' -Alias 'Ventes'
Créer un groupe de distribution
Enable-DistributionGroup -Identity “Domaine\Marketing" -Alias MKTG
Enable -DistributionGroup -Identity 'mondomaine.local/UO/Ventes' -DisplayName 'Ventes' -Alias 'Ventes'
Désactiver un groupe
Disable-DistributionGroup -Identity MKTG
Disable-DistributionGroup -Identity 'mondomaine.local/UO/Ventes'
Modification de l’Alias d’un groupe
Set-DistributionGroup -Identity MKTG -Alias Marketing_Corp
Ajout d’un utilisateur en tant que membre d’un groupe
Add-DistributionGroupMember -Identity MKTG -Member cgeorgeot
Add-DistributionGroupMember -Identity 'mondomaine.local/UO/Ventes' -Member 'mondomaine.local/Ventes/cgeorgeot'
Liste les membres d’un groupe
Get-DistributionGroupMember -Identity MKTG
Get-DistributionGroupMember -Identity 'mondomaine.local/UO/Ventes'
Modification d’un groupe Windows
Set-Group -Identity MTKG -DisplayName “Marketing"
Création d’un groupe de distribution dynamique (englobe les membres d’une UO)
New-DynamicDistributionGroup -Name DMKTG -Alias DMKTG -OrganizationalUnit VOTREOU -IncludedRecipients MailboxUsers
Modification du nom affiché d’un groupe dynamique
Set-DynamicDistributionGroup -Identity DMKTG -DisplayName DynamicMarktingGroup
Retirer un utilisateur d’un groupe de distribution
Remove-DistributionGroupMember -Identity 'mondomaine.local/UO/Ventes' -Member 'mondomaine.local/Ventes/cgeorgeot'
Les boites
Activer une boîte aux lettres pour un utilisateur AD
Enable-Mailbox -Identity domaine\cgeorgeot -Database MailboxDatabase
Créer une boîte aux lettres
New-Mailbox -Name 'nomaffiché' -Alias 'alias' -OrganizationalUnit 'UO' -UserPrincipalName 'login' -SamAccountName 'ancienlogin' -FirstName '' -Initials '' -LastName '' -Database 'votreserveur\nomdevotrebanquee' [-Room <$false|$true> | -Equipment <$false|$true>
Désactiver une boîte
Disable -Mailbox -Identity cgeorgeot
Modification de l’Alias
Set-Mailbox -Identity cgeorgeot -Alias cedricgeorgeot
Export d’une boîte (SP1)
New-MailboxExportRequest -Mailbox cgeorgeot -FilePath "\\monserveur\monpartage\cgeorgeot.pst"
Import de PSTs à partir d’un partage (SP1)
Dir \\monserveur\monpartage\*.pst | %{ New-MailboxImportRequest -Name RecoveredPST -BatchName Recovered -Mailbox $_.BaseName -FilePath $_.FullName -TargetRootFolder SubFolderInPrimary}
Liste des boîtes aux lettres et les quotas associés
Get-Mailbox | Format-Table alias, *quota
Liste les boîtes d’une database
Get-Mailbox -Database MailboxDatabase
Liste les boîtes d’un serveur Exchange
Get-Mailbox -Server Server
Liste les statistiques des boîtes d’une database
Get-MailboxStatistics -Database MailboxDatabase
Liste les statistiques des boîtes d’un serveur
Get-MailboxStatistics -Server Server
Déplacement d’un boîte aux lettres
New-MoveRequest -Identity 'cgeorgeot'-TargetDatabase databasenumero2
Liste les demandes des déplacement en cours/attente
Get-MoveRequest
L’historique des déplacements d’une boîte
Get-MoveRequestStatistics -Identity cgeorgeot
Activer la modération sur une boîte aux lettres
enable-mailbox mondomaine.local/UO/cgeorgeot –Arbitration
Attacher une boite déconnectée
Connect-Mailbox -Identity "cgeorgeot" -Database "mabanque" -User "MONDOMAINE\cgeorgeot" -Alias "cgeorgeot"
Donner des permissions Accès total à un utilisateur sur une boîte aux lettres
Add-MailboxPermission –Identity 'CN=cgeorgeot,OU=votreUO,DC=mondomaine,DC=local' –User 'MONDOMAINE\Administrateur' –AccessRights 'FullAccess'
Enlever des permissions Accès total à un utilisateur sur une boîte aux lettres
Remove-MailboxPermission –Identity 'CN=cgeorgeot,OU=votreUO,DC=mondomaine,DC=local' –User 'MONDOMAINE\Administrateur' –AccessRights 'FullAccess' –InheritanceType 'All'
Ajouter des permissions de délégation
Add-ADPermission –Identity 'CN=cgeorgeot,OU=votreUO,DC=mondomaine,DC=local' –User 'MONDOMAINE\Administrateur' –ExtendedRights 'Send-As'
Enlever des permissions de délégation
Remove-ADPermission –Identity 'CN=cgeorgeot,OU=votreUO,DC=mondomaine,DC=local' –User 'MONDOMAINE\Administrateur ExtendedRights 'Send-As' –InheritanceType 'All' –ChildObjectTypes $null –InheritedObjectTypes $null -Properties $null
Personnalisation des messages QUOTA
Affichage d’un message personnalisé (selon la valeur: WarningMailboxUnlimitedSize, WarningPublicFolderUnlimitedSize, WarningMailbox, WarningPublicFolder, ProhibitSendMailbox, ProhibitPostPublicFolder, et ProhibitSendReceiveMailbox => http://technet.microsoft.com/fr-fr/library/aa996357.aspx)
New-SystemMessage -QuotaMessageType ProhibitSendMailbox -Text "Message à afficher" -Language Fr
Modification du message ProhibitSendMailbox
Set-SystemMessage Fr\ProhibitSendMailbox -Text "Nouveau message à afficher"
Liste le(s) message(s) pour la valeur ProhibitSendMailbox
Get-SystemMessage Fr\ProhibitSendMailbox
Supprimer un message
Remove-SystemMessage Fr\ProhibitSendMailbox
Archivage
Activer l’archivage d’une boîte
Enable-Mailbox mondomaine.local/UO/cgeorgeot –Archive
Désactiver l’archivage d’une boîte aux lettres
Disable-Mailbox mondomaine.local/UO/cgeorgeot –Archive
Stockage
Création d’une database
New-MailboxDatabase -Name mabanquedinformation -Server monserveur
Création d’un quota IssueWarningQuota sur la banque
Set-MailboxDatabase -Identity mabanquedinformation -IssueWarningQuota 500MB
Liste des boîtes d’une banque
Get-MailboxDatabase -Server monserveur
Montage/démontage d’un banque d’information
Mount-Database -Identity MailboxDatabase Dismount-Database -Identity MailboxDatabase
Connecteurs
Création d’un connecteur d’envoi
New-SendConnector -Name SendConnector -AddressSpaces enovatic.com
Modification d’un connecteur d’envoi
Set-SendConnector -Identity SendConnector -AddressSpaces e-novatic.fr
Création d’un connecteur de réception
New-ReceiveConnector -Name Connecteurreception -RemoteIPRanges 192.168.1.1-192.168.1.10 -Bindings 0.0.0.0:25
Application d’une taille de message maximale pour un connecteur
Set-ReceiveConnector -Identity Connecteurreception -MaxMessageSize 20MB
File d’attente – QUEUE
Stoppe une file d’attente
Suspend-Queue -Identity monserver\Queue
Reprendre une file d’attente
Resume-Queue -Identity monserveur\Queue
Liste les emails d’une file
Get-Message -Identity monserver\Queue\Message
Stoppe la réception de messages
Suspend-Message -Identity monserver\Queue\Message
Arrêt de toutes les files d’attente
Get-Queue | Suspend-Queue
Suppression des messages d’une file
Delete-Message -Identity monserver\Queue\Message
Serveurs
Liste des serveurs Exchange
Get-ExchangeServer
Liste des serveurs Exchange d’un domaine
Get-ExchangeServer -Domain enovatic.com
Liste détaillée des serveurs Exchange
Get-ExchangeServer -Status | Format-List
Divers 😉
Activer la licence de votre Exchange
Set-ExchangeServer –Identity 'nomdevotreserveurServerName’ –ProductKey 'votrecle'
Activer un quota de 2 Go avec avertissement à 900 Mo
set-mailbox mondomaine.local/UO/cgeorgeot -ArchiveQuota '2GB' -ArchiveWarningQuota '900MB'
Obtenir des statistiques sur un serveur, une banque, ….
Get-MailboxStatistics -Server 'votreserveur'Get-MailboxStatistics -Database 'banqueinformation'Get-MailboxStatistics –Identity 'mondomaine\cgeorgeot' | format-listGet-MailboxStatistics -Database 'banqueinformation' | format-table DisplayName, TotalItemSize, TotalDeletedItemSize, Database, ServerName
Créer une banque d’information
New-MailboxDatabase –Server "monserveur" –Name "manouvellebanque" -EdbFilePath "C:\monchemin\manouvellebanque.edb" -LogFolderPath "D:\monchemin\manouvellebanque"
Voici également le lien vers le Script Center Microsoft dédié à Exchange 2010 et d’autres ressources sans le Quick Reference.
Je travaille actuellement en tant qu’Enterprise Architect pour le groupe CAPGEMINI. Acteur et expert communautaire reconnu depuis de nombreuses années, j’anime ce site autour des technologies Microsoft, des thématiques du Cloud, des infrastructures, … Je suis également à l’origine de nombreuses publications dans la presse IT.
Bonjour,
C’est fort intéressant, il y a un lien qui est HS et il traiterai du point suivant:
je souhaite connaitre comment affecter des boites aux lettres supplémentaires à des utilisateurs deja existants depuis exchange 2007?
Pas depuis Outlook, mais directement depuis le serveur.
cdt
Sébastien
Bonjour,
Les 2 liens du bas fonctionnent correctement (http://bit.ly/wDRcJ6 et http://bit.ly/xp33ko)…
Connect-MailBox devrait vous aider à connecter des BAL => http://bit.ly/xKjIWW
Bonjour,
super interressant comme page,
mais y a t’il un moyen de lire des mails sur une boite au lettre ?
car j’aimerais récupérer des mails pour les inserré dans un fichier Excell, est ce possible svp ?
Il faut ajouter des autorisations au niveau de la BAL, par contre, d’un point de vue légal attention !!!
Quel est le but exact ?
Bonjour,
J’ai un serveur Exchange 2010 et je souhaiterais connaitre une commande PowerShell qui peut exporter les utilisateurs des boîtes aux lettres que j’ai créés dans un fichier CSV.
Pouvez-vous m’aider ?
Merci d’avance !
Voici un site traitant votre requête http://www.powershellcommunity.org/Forums/tabid/54/aft/2818/Default.aspx
très intéressant votre site. Grand merci pour les tuto