> Tech > Initiation à  Exchange Management Shell

Initiation à  Exchange Management Shell

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

La notion de provider n’est pas la seule chose impressionnante avec PowerShell. Il y a le snap-in ! C’est une librairie chargeable par PowerShell étendant ses fonctionnalités. C’est ainsi que nous en venons à Exchange 2007 ! En effet, afin d’administrer des serveurs Exchange 2007, un Snap-in contenant près de

Initiation à  Exchange Management Shell

400 Cmdlets dédiées à Exchange 2007 a été crée !

Après l’installation des outils d’administration, nous pouvons charger notre snap-in Exchange avec la commande suivante : Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin Ou bien, si vous lancez directement la console Exchange, le snap-in sera automatiquement chargé. Nous pouvons donc maintenant utiliser les Cmdlets dédiées à Exchange. Dans les prochains articles, nous administrerons Exchange 2007 avec PowerShell rôle serveur par rôle serveur. Mais il faut bien commencer par quelques bases !

Par conséquent, avant de rentrer dans le vif du sujet, nous devons au préalable passer par la case « langage objet » : surtout, pas de panique ! Rien de très compliqué. Dans la première partie de cet article, nous avons très brièvement comparé PowerShell avec les shells UNIX/Linux. Il y a cependant une énorme, gigantesque différence : alors que les commandes Unix/Linux ne retournent que du texte et l’affiche sur la sortie standard, PowerShell retourne des objets.

Mais qu’est ce qu’un objet ? C’est un ensemble de propriétés et de méthodes ! D’accord, ce n’est pas forcément plus clair… Si on compare un objet à une boîte alors les propriétés seraient par exemple sa couleur ou bien sa forme et les méthodes, les actions associées à cette boîte : fermer le couvercle, ouvrir le couvercle, etc…

Nous allons pouvoir modifier les propriétés et appeler les méthodes des objets ceci grâce au Framework .Net. En effet, PowerShell expose cette librairie afin que l’utilisateur puisse modifier les propriétés et utiliser les méthodes des objets. Mais concrètement ? Afin de récupérer la liste des services dont le nom contient le mot « exchange » nous allons utiliser un pattern (le caractère * remplace un ou plusieurs caractères).

Il est à noter que PowerShell n’est pas sensible à la casse (Figure 2). En mettant notre commande entre parenthèses, nous donnons la priorité à une instruction afin qu’elle soit interprétée en premier. Ensuite, dans notre exemple, nous avons ajouté un « point » suivi du mot « Count ». Ici, « Count » est une propriété de l’objet situé à gauche du « point ». Nous avons donc ici 17 services dont le nom contient le mot « exchange ».

Le fait de pouvoir manipuler des objets et non simplement du texte nous permet également d’appliquer des filtres précis : Get-Service –name ‘MSExchange*’ | Where- Object { $_.Status –eq ‘Stopped’ }

Cette commande liste les services dont le nom commence par « MS Exchange ». Le résultat de cette commande est une liste de services comme vu précédemment. On s’aperçoit ici qu’on utilise un « | » qui a exactement la même signification que sous les shells UNIX/Linux à savoir, le résultat de la commande à gauche du « pipe » est passé en paramètre à la commande à droite !

Par conséquent, le Cmdlet « Where-Object » utilise la liste de services passée par le « pipe » afin d’appliquer un filtre. Quel filtre ? Celui spécifié entre accolades : le statut du service doit être « Stopped ». Une dernière petite remarque… Il y a l’instruction suivante : « $_.Sta – tus » ; d’après ce que nous avons vu précédemment, ceci nous permet de récupérer la propriété « Status » de l’objet situé à gauche du « point ». Cet objet en question est symbolisé par « $_ » qui est successivement égal à chaque service de notre liste. On appelle cela une variable ; les variables en Power Shell sont préfixées par un « $ ». Un des aspects intéressant d’une variable est de mettre en cache les informations.

Il est possible de stocker en mémoire des objets afin de les traiter. Cela évite par exemple de faire plusieurs requêtes à un serveur et donc d’optimiser le traitement. Bien évidement, nous verrons cela en détail en temps voulu ! Nous savons maintenant que PowerShell est capable de filtrer sur les propriétés mais il peut également formater l’affichage grâce aux Cmdlets dédiées. Dans notre exemple (Figure 3), nous utilisons le Cmdlet « Format-Table » permettant d’afficher sous la forme d’un tableau la sortie d’une commande. Les colonnes de ce tableau sont les propriétés de l’objet que l’on passe en paramètre à notre Cmdlet.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010