4. Les outils d'administration d’Exchange Server 2007
4.1 Une nouvelle console d’administration
Microsoft Exchange 2007 peut bien entendu être administré à l'aide d'une
interface graphique. Cette interface se présente sous la forme d'une console MMC
version 3.0 et nommée Exchange Management Console (EMC). Voici les informations
à retenir concernant EMC :
- L'organisation de la console a été revue (en
comparaison avec la console "gestionnaire système" d'Exchange 2000/2003)
et est maintenant basée sur la notion de rôles
- Les destinataires doivent être crées et configurés dans cette
console (et non plus dans la console "Utilisateurs et
ordinateurs Active Directory")
- La section Toolbox de la console permet de lancer de
nombreux outils de dépannage et d'optimision comme Exchange Best
Practice Analyser, le gestionnaire de queues SMTP, le moniteur de
performances, l'interface de recherche des messages enregistrés par le suivi
des messages, l'outil de restauration de boîtes aux lettres...
- La console EMC est une surcouche d'EMS et se contente d'exécuter des
commandes PowerShell en arrière plan !
- De nombreuses manipulations ne sont pas réalisables dans la console et
doivent être faites via le Shell.
Voici un aperçu de cette console MMC :

4.2 Administration en ligne de commande à l’aide de PowerShell
Depuis Windows 2000, les possibilités offertes par l'invite
de commande Microsoft sont très critiquées par les administrateurs système. Ceci
est compréhensible lorsque l'on sait que l'invite de commande est un programme
censé émuler MS-DOS et reprenant ses fonctionnalités (avec bien entendu des
commandes plus récentes comme gpupdate ou netsh). Ces critiques étaient d'autant
plus vives et justifiées que les systèmes concurrents (les shells UNIX/Linux
pour ne pas les nommer ;) offrent un contrôle total du système et permettent
d'effectuer des modifications à très bas niveau (noyau du système notamment).
Pour rattraper son retard dans ce domaine, Microsoft a lancé
il y a plusieurs année le développement d'un véritable SHELL capable d'entrer en
compétition avec ceux des systèmes alternatifs. Ce travail vient d'aboutir,
puisque la version finale (RTM) de Windows Power Shell vient d'être terminée
(confère :
cette
actu du laboratoire).
Exchange Server 2007 apporte une extension au Shell de base
nommée Exchange Management Shell. Cette extension apporte de nombreuses
commandes supplémentaires dédiées à l'administration des services de
messageries. Toutes les fonctionnalités clés de Windows Power Shell sont bien
entendu supportées (complétion des commandes, complétion de paramètres,
utilisation de "pipes" et de scripts, administration à distance via un tunnel
SSL...).
Pour avoir une idée, des possibilités offertes par le Shell
Exchange, il suffit de taper la commande suivante "Get-Command >
c:\liste-des-commandes.txt". Cela vous permettra de récupérer la liste des
commandes dans un fichier texte (faites un clic droit sur
ce lien, puis choisissez "enregistrer sous"
pour télécharger un fichier texte contenant la liste). Ci-dessous voilà le retour de la
commande get-excommand qui ne renvoie que la liste des commandes liées à
Exchange (la capture est bien entendu tronquée vu le nombre impressionnant de
résultats !) :

Le Shell Exchange permet de réaliser de nombreuses actions non supportées par la console
:
-
Déplacer des boîtes aux lettres d’une forêt à l’autre
-
Configurer le filtrage des pièces jointes et les
fonctionnalités anti-spam du serveur de transport Hub
-
Créer et configurer les dossiers publics
-
Configurer les services POP3 et IMAP4
-
Modifier le niveau de journalisation d’un composant
-
Initialiser un groupe de stockage LCR
-
Créer des objets en masse (bulk insert)
-
Configurer le File Share Witness sur la ressource
Quorum d’un cluster CCR
-
Créer un fichier d’enregistrement pour le serveur de
périmètre (Edge Server)
-
Etc.
Pour obtenir de l'aide sur une commande, il faut utiliser la commande
Get-Help <nom-commande>. L'option -detailed permet
d'obtenir un maximum d'informations (des exemples de commandes sont généralement
proposés). Voici un exemple :

Pour lister les serveurs Exchange de l'organisation, il
suffit de saisir la commande Get-ExchangeServer. Ici la commande est
suivi d'un pipe (caractère "|") avec la commande Format-Table de manière
à afficher seulement trois propriétés (nom du serveur, rôles installés et
édition).

4.3 PowerShell en pratique
Déclaration et utilisation des variables
Pour créer une variable à l'aide de PowerShell, il suffit de la
définir avec le préfixe $ puis de lui affecter une valeur. On peut par exemple
créer une variable nommée $current-process et y stocker la liste de tous les
processus en mémoire. Voici la commande exacte à saisir pour arriver à ce
résultat :
- $current_process = Get-Process
On peut ensuite travailler sur notre variable $current-process et récupérer
un certain nombre d'informations comme :
- Le nombre de processus avec la propriété $current-process.count
- La liste de tous les processus (Id et nom) dans un tableau avec la
commande $current-process | Format-Table Id,Name
- Etc...
Opérateurs de comparaison & conditions
Pour émettre une condition avec PowerShell, on peut utiliser les opérateurs
If, ElseIf et Else. Voici un exemple de boucle :
$current_process = Get-Process
If ($current_process.count -lt 50)
{
Write-Host "La charge du serveur est
faible";
}
Elseif (($current_process.count -ge 50) -and ($current_process.count
-lt 80))
{
Write-Host "La charge du serveur est
moyenne";
}
Else
{
Write-Host "La charge du serveur est
élevée";
}
les principaux opérateurs conditionnels sont -and, -or et
-not. Les opérateurs de comparaisons sont regroupés dans le tableau
ci-dessous :
|
Opérateur |
Description |
Exemple |
|
-lt |
inférieur à (less than) |
$int = 5 //on définit un entier
$int -lt 8 //renvoi True |
|
-le |
inférieur ou égal à (less than or equal to) |
$int = 5 //on définit un entier
$int -le 8 //renvoi True |
|
-gt |
supérieur à (greater than) |
$int = 5 //on définit un entier
$int -gt 8 //renvoi False |
|
-ge |
supérieur ou égal à (greater than or equal to) |
$int = 5 //on définit un entier
$int -ge 8 //renvoi False |
|
-eq |
égal à (equal
to) |
$int = 5 //on
définit un entier
$int -eq 8 //renvoi False |
|
-ne |
non égal à (non equal to) |
$int = 5 //on définit un entier
$int -ne 8 //renvoi True |
|
-contains |
permet de savoir
si un élément lambda est présent ou non dans une collection ou un
tableau |
$var =
"Matthieu MARTINEAU", "Loïc THOBOIS", "Saïda AZIRI", "Vincent TROTTIER"
//on définit une collection
$var -contains "Matthieu Martineau" //renvoi True
$var -contains "Matt" //renvoi False
$var -contans "Matt*" //renvoi False |
|
-notcontains |
inverse de -contains |
$var = "Matthieu MARTINEAU", "Loïc THOBOIS", "Saïda AZIRI", "Vincent
TROTTIER" //on définit une collection
$var -contains "Matthieu Martineau" //renvoi False
$var -contains "Matt" //renvoi True
$var -contans "Matt*" //renvoi True |
|
-like |
permet de savoir si une chaîne de caractère lamdba est incluse dans une autre
chaîne (proche de -match) |
$string = "Matthieu MARTINEAU" //on définit une chaîne de caractère
$string -like "MAR" //renvoi False
$string -like "MAR*" //renvoi False
$string -like "*MAR*" //renvoi True |
|
-notlike |
iverse de -like |
$string = "Matthieu MARTINEAU" //on définit une chaîne de caractère
$string -notlike "MAR" //renvoi True
$string -notlike "MAR*" //renvoi True
$string -notlike "*MAR*" //renvoi False |
|
-match |
permet de savoir si une chaîne de caractère lamdba est incluse dans une autre
chaîne (proche de -like) |
$string = "Matthieu MARTINEAU" //on définit une chaîne de caractère
$string -match "MAR" //renvoi True
$string -match "MAR*" //renvoi True
$string -match "*MAR*" //renvoi une erreur ! |
|
-notmatch |
inverse de -match |
$string = "Matthieu MARTINEAU" //on définit une chaîne de caractère
$string -notmatch "MAR" //renvoi False
$string -notmatch "MAR*" //renvoi False
$string -notmatch "*MAR*" //renvoi une erreur |
Utilisation des boucles
PowerShell permet aussi de créer des boucles de type While, Do While, For
ou Foreach. Voici deux exemples basiques de boucles :
$var = 1 // on crée et on instancie une variable à 1
while ($var -le 50) {$var; $var += 1} // tant que la variable est
inférieure ou égale à 50 on affiche la variable, puis on l'incrémente de 1
for ($var = 1; $var -le 50; $i++) // à chaque itération la variable
$var s'incrémente de 1 - la valeur initiale de $var est 1 et sa valeur limite
est 50 {$var} // à chaque itération on affiche la valeur de la variable
4.4 Création et utilisation de scripts avec PowerShell
PowerShell permet de créer et d'exécuter des scripts. Cela
s'avère extrêmement pratique à l'usage pour enregistrer une suite de commandes
complexe ou bien pour enregistrer une ligne de commande utilisée usuellement.
Les scripts PowerShell sont enregistrés au format texte avec l'extension *.PS1.
Par défaut l'exécution des scripts est bloquée. Si vous ne
modifiez pas ce comportement, un message d'erreur s'affichera au lancement du
shell (cf. capture d'écran ci-dessous) :
Il est possible de configurer le système pour autoriser
l'exécution de scripts sachant qu'une distinction est faite entre les scripts
qui sont signés numériquement et ceux que ne le sont pas. Pour vérifier la
configuration de votre Shell, il suffit de saisir la commande Get-ExecutionPolicy.
Voici toutes les stratégies d'exécution de scripts possibles :
-
Restricted : mode par défaut, tous les scripts
sont bloqués
-
AllSigned : seuls les scripts signés numériquement
sont autorisés (veillez à bien vérifier l'auteur du script au niveau de la
signature car un pirate peut très bien signer des scripts malicieux)
-
RemoteSigned : tous les scripts locaux sont
autorisés, les scripts téléchargés depuis Internet doivent être signés
-
Unrestricted : tous les scripts (locaux et
provenant d'Internet) peuvent être exécutés qu'ils soient signés ou non
Pour exécuter des scripts de manière sécurisée, il est
recommandé d'utiliser la stratégie AllSigned (cette reconfiguration peut
être effectuée avec la commande Get-ExecutionPolicy AllSigned). Précision
pour les utilisateurs de Windows VISTA : la commande Get-ExecutionPolicy
requiert des droits administrateur; il faudra donc lancer PowerShell en mode
administrateur (en faisant un clic droit sur l'icône de PowerShell, puis en
sélectionnant Run as Administrator).
Si vous n'êtes pas en mesure de signer vos scripts ou bien si
vous souhaitez vous affranchir de cette étape, vous pouvez passer en mode
RemoteSigned même si cette configuration est moins sécurisée que la
précédente.
Pour créer un script vous pouvez utiliser n'importe quel éditeur de texte (notepad...).
Voici un exemple simple de script :

Pour exécuter ce script, il suffit d'utiliser le préfixe
.\ en indiquant ensuite le chemin du script. Voilà ce que cela donne avec le
script ci-dessus :

Si vous souhaitez aller plus loin, vous pouvez consulter le
Script Center Microsoft qui contient de nombreux exemples de scripts.
Voici les deux liens intéressants :
Enfin des scripts préconfigurés sont présents dans le
répertoire d'installation d'Exchange Server 2007 (confère capture d'écran
ci-dessus). Ces scripts ont été inclus de manière à simplifier la configuration
des éléments les plus délicats (dossiers publics, fonctionnalités antispam...).

4.5 Installer les outils d'administration Exchange sur une station de
travail
Il est possible d'installer les outils d'administration Exchange Server 2007
sur une workstation. Pour cela il faut s'assurer que la machine répond à tous
les prérequis logiciels, puis lancer le setup d'Exchange. Trois
cas se présentent :
- Si le poste exécute Windows XP Professionnel 32 bits, vous devez
utiliser les sources de la version d'essai 32 bits d'Exchange Server 2007
- Si le poste exécute Windows XP Professionnel 64 bits, vous devez
utiliser les sources de la version de production 64 bits d'Exchange Server
2007
- Si le poste exécute Windows Vista les outils d'administration ne
peuvent pas être installés et ce, quelle que soir l'édition (business,
enterprise, ultimate...) ou le noyau (32 ou 64 bits) utilisé
La non compatibilité avec Windows Vista est assez étonnante... gageons
qu'elle sera corrigée avec le SP1. Dans le cas d'une station de travail sous
Vista, Microsoft recommande d'utiliser le bureau à distance et de lancer les
outils directement sur le serveur (confère
cet article de la base de connaissances Microsoft).
Sommaire
1. Introduction à Microsoft Exchange Server 2007
1.1 Historique d'Exchange Server
1.2 Les nouveautés d'Exchange Server 2007
1.3 Introduction à la notion de rôle
1.4 Considérations sur les architectures messageries basées sur Exchange 2007
1.5 Les différentes éditions d'Exchange Server 2007
1.6 Exchange Server 2007 et virtualisation
1.7 Evaluer gratuitement Exchange Server 2007
2. Pré-requis à Exchange et préparation de l'annuaire
2.1 Configuration minimale pour exécuter Exchange 2007
2.2 Considérations sur le matériel et les performances
2.3 Les prérequis logiciels
2.4 Interactions entre Exchange et Active Directory
2.5 Préparation d'Active Directory en vue du déploiement d'Exchange Server 2007
2.6 Préparation de l'annuaire dans une infrastructure monodomaine
3. Installation et mise à jour d’Exchange Server 2007
3.1 Installation d’Exchange Server 2007
3.2 Installation d'Exchange Server 2007 sans assistance
3.3 Points à vérifier après l'installation d'un serveur Exchange 2007
3.4 Migration vers Exchange Server 2007
4. Les outils d'administration d’Exchange Server 2007
4.1 Une nouvelle console d’administration
4.2 Administration en ligne de commande à l’aide de PowerShell
4.3 PowerShell en pratique
4.4 Création et utilisation de scripts avec PowerShell
4.5 Installer les outils d'administration Exchange sur une station de travail
5. Tâches administratives usuelles
5.1 Gestion des groupes de stockage et des banques
5.2 Les différents types de destinataires
5.3 Gestion des boîtes aux lettres
5.4 Création de boîtes aux lettres en masse (bulk insert)
5.5 Gestion des listes d'adresses
5.6 Gestion des dossiers publics
5.7 Gestion des accès POP3 et IMAP4
5.8 Gestion du routage des messages
5.9 Sauvegarde d'un serveur Exchange 2007
6. Les clients de messagerie nouvelle génération
6.1 Introduction : Exchange Server 2007 et mobilité
6.2 Le couple Outlook 2007 / Exchange 2007
6.3 Principe de fonctionnement de la fonction "autoconnect"
6.4 L’interface Web Outlook Web Access
6.5 Configuration d'OWA côté serveur
6.6 Mise en oeuvre d'Outlook Anywhere
6.7 ActiveSync : les nouveautés
6.8 Précisions sur la configuration du CAS
7. La messagerie unifiée avec Exchange Server 2007
7.1 Qu'est ce que la messagerie unifiée (UM) ?
7.2 Installation du rôle "messagerie unifiée" et ajout de langues supplémentaires
7.3 Configuration de la messagerie unifiée (UM)
7.4 Vérification de la configuration à l'aide du TestPhone
7.5 Présentation d'Outlook Voice Mail
7.6 Messagerie unifiée et mobilité (ActiveSync, OWA)
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|