Usar la respuesta del cmdlet de Shell de administración de Exchange
Obtenga información sobre cómo usar la respuesta de un cmdlet del Shell de administración de Exchange en la aplicación administrada de Exchange.
Se aplica a: Exchange Online | Exchange Server 2013 | Office 365
Cada cmdlet del Shell de administración de Exchange devuelve una o varias instancias de PSObject que proporcionan una vista coherente de cualquier objeto en el entorno del Shell de administración de Exchange. En este artículo se proporciona información sobre cómo usar las propiedades de una instancia de PSObject para devolver los valores de propiedad del objeto de API subyacente Exchange Server 2013.
Requisitos previos para usar respuestas de cmdlet
Para usar las respuestas de cmdlet, necesita una referencia al espacio de nombres System.Automation.Management .
Nota:
Cuando se usa Visual Studio para crear una aplicación, debe agregar una referencia al ensamblado System.Mangagement.Automation.dll al proyecto. Puede encontrar el ensamblado en una de las siguientes ubicaciones:
- En los sistemas operativos Windows XP y Windows Vista, el directorio de instalación de Windows PowerShell ($PSHOME).
- En los sistemas operativos Windows 7 y Windows 8, la siguiente carpeta: Windows\assembly\GAC_MSIL\System.Management.Automation.
Windows PowerShell espacio de ejecución remoto
El Shell de administración de Exchange usa características de Windows PowerShell remotas para todos los comandos, incluso los comandos que se ejecutan en el servidor local. Como resultado, todas las respuestas de los cmdlets del Shell de administración de Exchange se serializan XML. Esto significa que, aunque el objeto de respuesta indica el tipo de objeto de Exchange que se usó para generar la respuesta, el objeto de respuesta no se puede convertir al tipo de objeto de Exchange; en su lugar, debe usar el contenedor de propiedades que expone el objeto de respuesta para obtener los valores del tipo de objeto de Exchange.
El contenedor de propiedades del objeto de respuesta contiene un par clave-valor para cada propiedad pública o método del tipo de objeto de Exchange. El objeto de respuesta contiene el nombre del tipo de objeto de Exchange subyacente; puede usar este nombre para determinar el tipo de objeto de Exchange representado por el objeto de respuesta para que pueda extraer la propiedad adecuada. Cada valor del contenedor de propiedades también incluye información de tipo para que pueda convertir el valor de propiedad en el tipo administrado adecuado.
Usar la respuesta cmdlet
La clase PSObject expone las tres propiedades públicas siguientes que contienen los valores del objeto de API subyacente de Exchange 2013: Properties, Methods y Members. Cada propiedad expuesta por el objeto de API de Exchange 2013 tiene un par clave-valor correspondiente en las propiedades Propiedades y Miembros . La aplicación puede indexar la colección Properties por el nombre de una propiedad para recuperar el valor de la propiedad.
Puede usar la propiedad TypeNames de la instancia de PSObject para determinar el tipo del objeto de Exchange subyacente encapsulado por la instancia de PSObject . La propiedad TypeNames es una colección de cadenas que contiene la jerarquía de objetos del tipo representado. Puede usar estos nombres para determinar el objeto representado por la instancia de PSObject de modo que pueda extraer la propiedad adecuada.
En el ejemplo de código siguiente se usa la respuesta del cmdlet para imprimir el contenido de la colección Properties de una instancia de PSObject en la consola. El ejemplo de código requiere una referencia al espacio de nombres 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