Commandes Powershell utiles dans l’administration d’Exchange 2010

memo-powershell

Note : ce billet s’adresse en premier lieu aux étudiants auxquels je donne en ce moment cours sur Exchange 2010 mais peut très bien servir à vous rafraîchir la mémoire…

CE BILLET N’EST QU’AU STADE DE BROUILLON

On a vu au fil du cours tout un tas de petites commandes qu’il peut être bon de rassembler ici. Vous aurez sans doute besoin de les ré-utiliser dans les futurs scripts que vous aurez à faire, notamment pour l’évaluation.

Comme je suis un mec sympa, votre formateur, mais aussi et avant tout étudiant, je vous propose ici une liste des différentes commandes Powershell que nous avons rencontré en cours. Elles sont listées dans leur ordre d’apparition dans le cours. Cet article sera mis à jour suite au prochains modules !

Rappels à propos de Powershell

Et oui avant de commencer il serait quand même bon de savoir de quoi on parle.

Microsoft Windows PowerShell est un langage de scripting introduit par Microsoft avec Windows 7 / Windows Server 2008 afin de faire face aux nouveaux défis impossibles à relever avec l’ancienne console MS-DOS. C’est un langage orienté objet reposant sur le framework .NET, dont vous allez pouvoir utiliser pratiquement tous les objets.

Sa syntaxe est très simple puisqu’elle repose toujours sur le principe suivant :

Verbe-Nom -param1 valeur1 -param2 valeur2

Où :

  • Verbe est le verbe de l’action que l’on souhaite réaliser (exemple : Set)
  • Nom est le nom de l’action à réaliser (exemple: Service)
  • ParamX les paramètres de la commande invoquée et valeur leur valeur

Exemple :

Set-Service NetTcpPortSharing -StartupType Automatic

Permet de configurer le service de partage de ports TCP de telle sorte qu’il se lance automatiquement au démarrage de la machine.

PowerShell fonctionne avec un système de modules que l’on importe en fonction du rôle ou de la fonctionnalité que l’on souhaite configurer. L’ajout de nouveaux rôles par exemple demande l’import du module ServerManager avec la commande suivante :

Import-Module ServerManager

Mémo des commandes PowerShell utiles à l’administration d’Exchange Server 2010

Autorités de certification, génération et signature de certificats

Nous avons été amené pour commencer à manipuler le certificat que notre organisation Exchange doit utiliser pour chiffrer un certain nombre de communication avec nos utilisateurs. Un certificat a été généré pour notre organisation et signé par notre propre autorité de certification. Je reviendrai dans un prochain billet sur toutes ces notions.

Les commandes suivantes doivent être utilisées dans le shell Exchange et non le shell PowerShell.

Pour générer un certificat, nous aurions pu utiliser la commande suivante, en lieu et place de l’interface graphique. Mon organisation s’appelle DECIPLEX 🙂

New-ExchangeCertificate -FriendlyName 'DECIPLEX Exchange' -GenerateRequest -PrivateKeyExportable $true -KeySize '2048' -SubjectName 'C=FR,S="Bretagne",L="Rennes",O="DECIPLEX",OU="Networks",CN=pop.deciplex.com' -DomainName 'webmail.deciplex.com','mail.deciplex.com','autodiscover.deciplex.com','pop.deciplex.com','imap.deciplex.com' -Server 'W2K12R2-FULL'

Les opération de signature par l’autorité de certification et d’ajout dans l’organisation Exchange se font en graphique, je n’ai pas jugé utile de rechercher les commandes correspondantes… Par contre l’assignation de services à ce certificat (POP, SMTP, Web…) aurait très bien pu se faire avec :

Enable-ExchangeCertificate -Server 'W2K12R2-FULL' -Services 'IMAP, POP, IIS, SMTP' -Thumbprint 'CB71F579D8B7A936B7B1E64DC1FABF67EEDD5A5C'

Voilà pour les certificats 🙂

Gestion des fonctionnalités relatives au rôle d’accès client (CAS)

Ce sont les différentes démos que j’ai faites sur le CAS, notamment avec la configuration des MailTips :

Set-OrganizationConfig -MailTipsAllTipsEnabled $true
Set-OrganizationConfig -MailTipsLargeAudienceThreshold 50
Set-OrganizationConfig -MailTipsExternalRecipientsTipsEnabled $true
Set-OrganizationConfig -MailTipsGroupMetricsEnabled $true
Set-Mailbox "Administrateur" -MailTip "Délai de réponse moyen : 10min."

Vous trouverez plus de détails sur la page Technet relative aux MailTips.

Gestion des bases de données

Retrouvez toute la gestion de vos bases de données, avec en vrac :

# Créer un base de données
new-mailboxdatabase -Server 'W2K12R2-FULL' -Name 'DECIPLEX-EDB1' -EdbFilePath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\DECIPLEX-EDB1\DECIPLEX-EDB1.edb' -LogFolderPath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\DECIPLEX-EDB1'
# Monter /démonter une base de données
Mount-Database "DECIPLEX-EDB1"
Dismount-Database "DECIPLEX-EDB1"
# Déplacer une base de données
move-DatabasePath -Identity 'DECIPLEX-EDB1' -EdbFilePath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\DECIPLEX-EDB1\DECIPLEX-EDB1.edb' -LogFolderPath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\DECIPLEX-EDB1'
# Supprimer une base de données
Remove-MailboxDatabase -Identity "DECIPLEX-EDB1"

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email