Utiliser la réponse de l’applet de commande de l’environnement de ligne de commande Exchange Management Shell
Découvrez comment utiliser la réponse d’une applet de commande Exchange Management Shell dans votre application gérée Exchange.
S’applique à : Exchange Online | Exchange Server 2013 | Office 365
Chaque applet de commande Exchange Management Shell retourne une ou plusieurs instances PSObject qui fournissent une vue cohérente de n’importe quel objet dans l’environnement Exchange Management Shell. Cet article fournit des informations sur l’utilisation des propriétés d’une instance PSObject pour retourner les valeurs de propriété de l’objet API Exchange Server 2013 sous-jacent.
Conditions préalables à l’utilisation des réponses d’applet de commande
Pour utiliser les réponses d’applet de commande, vous avez besoin d’une référence à l’espace de noms System.Automation.Management .
Remarque
Lorsque vous utilisez Visual Studio pour créer une application, vous devez ajouter une référence à l’assembly System.Mangagement.Automation.dll au projet. Vous pouvez trouver l’assembly dans l’un des emplacements suivants :
- Pour les systèmes d’exploitation Windows XP et Windows Vista, le répertoire d’installation de Windows PowerShell ($PSHOME).
- Pour les systèmes d’exploitation Windows 7 et Windows 8, le dossier suivant : Windows\assembly\GAC_MSIL\System.Management.Automation.
Windows PowerShell l’espace d’exécution distant
Exchange Management Shell utilise des fonctionnalités de Windows PowerShell distantes pour toutes les commandes, même les commandes exécutées sur le serveur local. Par conséquent, toutes les réponses des applets de commande Exchange Management Shell sont du code XML sérialisé. Cela signifie que bien que l’objet response indique le type d’objet Exchange utilisé pour générer la réponse, l’objet response ne peut pas être converti en type d’objet Exchange ; au lieu de cela, vous devez utiliser le conteneur de propriétés exposé par l’objet response pour obtenir les valeurs du type d’objet Exchange.
Le conteneur de propriétés dans l’objet de réponse contient une paire clé/valeur pour chaque propriété publique ou méthode dans le type d’objet Exchange. L’objet response contient le nom du type d’objet Exchange sous-jacent ; vous pouvez utiliser ce nom pour déterminer le type d’objet Exchange représenté par l’objet response afin de pouvoir extraire la propriété appropriée. Chaque valeur du conteneur de propriétés inclut également des informations de type afin que vous puissiez convertir la valeur de propriété en type managé approprié.
Utiliser la réponse de cmdlet
La classe PSObject expose les trois propriétés publiques suivantes qui contiennent les valeurs de l’objet API Exchange 2013 sous-jacent : Propriétés, Méthodes et Membres. Chaque propriété exposée par l’objet API Exchange 2013 a une paire clé/valeur correspondante dans les propriétés Propriétés et Membres . Votre application peut indexer la collection Properties par le nom d’une propriété pour récupérer la valeur de la propriété.
Vous pouvez utiliser la propriété TypeNames de l’instance PSObject pour déterminer le type de l’objet Exchange sous-jacent qui est encapsulé par l’instance PSObject . La propriété TypeNames est une collection de chaînes qui contient la hiérarchie d’objets du type représenté. Vous pouvez utiliser ces noms pour déterminer l’objet représenté par l’instance PSObject afin de pouvoir extraire la propriété appropriée.
L’exemple de code suivant utilise la réponse d’applet de commande pour imprimer le contenu de la collection Properties d’une instance PSObject sur la console. L’exemple de code nécessite une référence à l’espace de noms System.Automation.Management .
foreach (PSPropertyInfo propertyInfo in psObject.Properties)
{
Console.WriteLine(string.Format("{0}: {1}",
propertyInfo.Name, propertyInfo.Value);
}
For Each PropertyInfo As PSProperty In ObjectInfo.Properties
Console.WriteLine(String.Format("{0}: {1}", PropertyInfo.Name, PropertyInfo.Value))
Next