Microsoft Exchange Server 2010: Llegar a conocer el Shell de administración de Exchange

El Shell de administración de Exchange da control total sobre todos los aspectos de la infraestructura de Exchange, powered by Windows PowerShell.

Extraído de "Exchange 2010 – un práctico planteamiento," publicado por libros de la puerta roja (2009).

Jaap Wesselius

El Shell de administración de Exchange (EMS) es una interfaz de administración completa con la que puede administrar todos los aspectos de una organización de Exchange. El EMS es la interfaz de administración principal. Consola de administración de Exchange (EMC) se generan "encima" de él. Cada acción que realizar en el EMC se traducen sobre la marcha en un comando de EMS y se ejecuta.

En realidad, el EMS usa Windows PowerShell 2.0. Combinado con las capacidades de administración remota en Windows Server 2008 y Windows Server 2008 R2, puede administrar de forma remota el entorno de Exchange. El EMS es realmente un superconjunto de comandos que se basa en Windows PowerShell.

Además de la interfaz de línea de comandos, Windows PowerShell 2.0 también tiene un entorno integrado de secuencias de comandos, que es una interfaz gráfica de usuario integrada. Puede utilizar esto para crear fácilmente las secuencias de comandos de Windows PowerShell. También se integra con la administración remota de Windows, por lo que puede utilizar Windows PowerShell para administrar su entorno de Exchange 2010 mediante el protocolo HTTPS estándar de forma remota. Todo lo que necesita es una estación de trabajo o un servidor que ejecuta Windows PowerShell 2.0.

Activar el Shell

Cuando se inicia el EMS, básicamente verá un cuadro vacío con sólo un símbolo del sistema, exactamente igual que el símbolo del sistema de Windows. Para obtener una lista de comandos disponibles en esta etapa escribiendo el comando Get.

En beneficio de los administradores de GUI muerte, un comando de Windows PowerShell consta de dos partes: un sustantivo o verbo. Los verbos pueden ser instrucciones como get, set, nuevo, quitar, habilitar, deshabilitar y así sucesivamente. El componente sustantivo puede ser cualquier objeto en Exchange Server. Combinar sólo el nombre y el verbo como este:

  • Get-ExchangeServer: recuperar una lista de todos los servidores de Exchange 2010 en la organización.
  • Set-MailboxDatabase: establecer una propiedad en una base de datos de buzones.
  • Nuevo-buzón: crear un nuevo usuario con buzón habilitado.
  • Remove-Mailbox: eliminar un objeto de usuario y su buzón.

Si es nuevo en Windows PowerShell y desea obtener más información sobre los comandos, una búsqueda rápida en Web se convertirá de decenas de recursos de aprendizaje. También se puede iniciar después de la Windows PowerShell columnas en TechNet.

Ayuda de EMS

Si hay algo que sabe cuando se utiliza el EMS, consulte a la Guía de referencia rápida. Esto se encuentra en c:\Archivos de Files\Microsoft\ExchangeServer\v14\bin\en\ExQuick.htm. Contiene cmdlets más importantes y comunes y sus variables.

Si necesita ayuda sobre la marcha, puede utilizar la función de ayuda integrada en el EMS. Para obtener una lista de todos los elementos de ayuda disponibles, escriba "Ayuda *". Si necesita ayuda sobre un cmdlet específico, sólo tiene que escribir de ayuda y el nombre del cmdlet. Para obtener ayuda acerca de cómo habilitar a un usuario existente, por ejemplo, sólo escriba "help enable-mailbox".

La canalización

Otra gran característica en Windows PowerShell y el EMS es la canalización. Utiliza la salida de un cmdlet como entrada para un segundo. Esto puede reducir drásticamente la cantidad de trabajo que tiene que poner llevar a cabo tareas relativamente complejas. Está limitado sólo por su ingenio.

Por ejemplo, si desea mover todos los buzones en una base de datos de buzón llamado "Mailbox Database 1988197524" a otra base de datos de buzón llamado "0823751426 de base de datos de buzones", utilice el siguiente comando:

Get-Mailbox –Database "Mailbox Database 1988197524" | New-MoveRequest –TargetDatabase "Mailbox Database 0823751426"

Esto sucede lo siguiente:

–Database de Get-Mailbox "Base de datos de buzones de correo 1988197524" recupera una lista de todos los buzones en este base de datos determinada. El resultado de este cmdlet se utiliza como entrada del segundo cmdlet — la petición en línea para mover buzones a la base de datos. También puede utilizar consultas más específicas. Por ejemplo, para obtener una lista de todos los buzones cuyo nombre comience por "Carlos", utilizaría el siguiente comando:

Get-Mailbox | where-object {$_. name –like "Chris*"}

A continuación, puede utilizarla como entrada para una solicitud para mover todos estos buzones a otra base de datos:

Get-Mailbox | where-object {$_. name –like "Chris*"} | New-MoveRequest ' –TargetDatabase "Mailbox Database 0823751426"

Creación usuarios de masiva

Puede ser muy útil, especialmente cuando se necesita crear un lote de los buzones de prisa. Suponga que tiene una unidad organizativa (OU) denominada "Sales" en Active Directory, que contiene 100 objetos de usuario. Este comando creará un buzón para cada usuario en esta unidad organizativa:

Get-User –OrganizationalUnit "Sales" | Enable-Mailbox –Database "Mailbox Database 0823751426"

Cuando hay varias unidades organizativas denominadas "Ventas", tiene que especificar la ruta completa de la unidad organizativa que desea utilizar:

Get-User –OrganizationalUnit "E14.local/Account/Sales" | Enable-Mailbox –Database "Mailbox Database 0823751426"

También puede filtrar el resultado del comando Get-User con el parámetro – Filter. Por ejemplo, para habilitar el buzón para todos los usuarios cuyo atributo company está establecido a "Inframan", escriba el siguiente comando:

Get-User –Filter {(Company –eq "Inframan")} | Enable-Mailbox –Database "Mailbox Database 0823751426"

Si desea ser aun más específico, por ejemplo, para habilitar el buzón para todos los usuarios cuyo atributo company se establece en "Inframan" y cuyo atributo de departamento se establece en "Interna", escriba el siguiente comando:

Get-User –Filter {(Company –eq "Inframan") -AND (Department –eq "Intern")} | Enable-Mailbox –Database "Mailbox Database 0823751426"

Las operaciones siguientes están disponibles para la opción – Filter:

  • - y
  • O bien
  • -no
  • -eq (igual a)
  • -ne (no es igual)
  • -lt (menor que)
  • -gt (mayor que)
  • -like (comparación de cadenas)
  • -notlike (comparación de cadenas)

En algunos casos, le resultará útil para importar una lista de usuarios desde un archivo CSV. Puede importar estos tipos de listas de otro de Active Directory o incluso una aplicación de recursos humanos. Es relativamente fácil importar un archivo CSV mediante Windows PowerShell. Lo único que necesita tener en cuenta es que la opción Password micontraseña – no acepta la entrada de texto sin cifrar. Tiene que convertir la entrada en este campo en una cadena segura:

$Database="Mailbox Database 1563944384" $UPN="e2010.local" $users = import-csv $args[0] function SecurePassword([string]$password) { $secure = new-object System.Security.SecureString $password.ToCharArray() | % { $secure.AppendChar($_) } return $secure }foreach ($i in $users) { $sp = SecurePassword $i.password $upn = $i.FirstName + "@"+ $upn $display = $i.FirstName + " "+ $i.LastName New-Mailbox -Password $sp -Database $Database -UserPrincipalName $UPN -Name $i.FirstName -FirstName $i.FirstName -LastName $i.LastName -OrganizationalUnit $i.OU }

En las tres primeras líneas, hay tres parámetros establecidos. Estos parámetros se utilizan durante la creación real del usuario y el buzón. El archivo se lee en un bucle ForEach y se crean los usuarios reales y los buzones de medida que avanza el bucle.

La función SecurePassword lee la contraseña del archivo CSV de salida y lo convierte en una cadena segura, que se utiliza, a su vez, como la entrada de contraseña durante la creación de los usuarios. El propio archivo CSV tiene el formato siguiente:

FirstName, LastName, Password, OU Jaap, Wesselius, Pass1word, Accounts Michael, Francis, Pass1word, Accounts Michael, Smith, Pass1word, Accounts John, Doe, Pass1word, Accounts

Para que pueda utilizar esta secuencia de comandos, guarde el archivo de secuencia de comandos como "create.ps1" en un directorio como c:\scripts. También necesitará guardar el archivo de salida CSV como users.csv en el mismo directorio. Usar la secuencia de comandos, abra un símbolo del sistema de Windows PowerShell, vaya al directorio c:\scripts y escriba el siguiente comando:

. \create.ps1 users.csv

Estas técnicas le ayudará a obtener el mejor uso de la EMS y utilizar parte de la potencia de Windows PowerShell administrar su infraestructura de Exchange.

Jaap Wesselius

Jaap Wesseliuses el fundador de consultores en DM, una empresa con un fuerte enfoque en soluciones de mensajería y colaboración. Después de trabajar en Microsoft desde hace ocho años, Wesselius decidió cometer más de su tiempo a la Comunidad de Exchange en los Países Bajos, dando como resultado un premio MVP de Exchange Server en 2007. También es un colaborador habitual en el grupo de usuarios de comunicaciones unificadas holandés y autor de regular para hablar de Simple.

Obtener más información sobre "Exchange 2010 – un enfoque práctico" en red-gate.com/our-company/about/book-store.

Contenido relacionado