Administrar Office 365 con PowerShell
Los componentes principales de Office 365 son Exchange Online, Lync Online y SharePoint Online, todos se ejecutan sobre Windows Azure Active Directory, como se muestra en la siguiente figura:
Todos los servicios se pueden administrar desde el Portal Microsoft Online. Cuando inicie sesión en el portal, podrá seleccionar los distintos servicios en Administrador en el panel de navegación. También es posible administrar Office 365 usando PowerShell, pero todos los servicios requieren un enfoque o módulo diferente.
Administrar Windows Azure Active Directory mediante PowerShell
Para administrar Windows Azure Active Directory con PowerShell, debe instalar el módulo Azure Active Directory para Windows PowerShell (versión de 64 bits), pero antes de poder usarlo también debe instalar el Asistente de inicio de sesión de Microsoft Online Services.
Cuando los tenga instalados, puede abrir PowerShell en su máquina y conectarse a Azure Active Directory usando los siguientes comandos:
$Cred = Get-Credentials
Connect-MsolService $Cred
Con este módulo de PowerShell están disponibles los comandos relacionados con Microsoft Online (Msol). Para obtener una descripción general de estos comandos, puede utilizar el comando Get-Command. Filtre por el nombre de los comandos (*msol*) y envíelos a un archivo, así:
Get-Command | Where {$_.Name -like "*msol*"} | Out-File C:\Temp\MsolCommands.txtCuando usa el bloc de notas para abrir este archivo, puede examinar los resultados:
Puede usar el comando Get-MsolDomain para recuperar una lista de todos los dominios disponibles en su Office 365. En nuestro entorno de prueba, solo hay un dominio adicional, el dominio inframan.nl que agregamos en la publicación de blog anterior como se muestra en la siguiente figura:
De manera similar, puede usar el comando Get-MsolUser para recuperar todos los usuarios en Windows Azure Active Directory. La ejecución del comando Get-Msoluser en nuestro entorno de prueba muestra todos los usuarios que se crearon en la publicación anterior del blog:
Puede encontrar más información sobre la administración de Azure Active Directory mediante PowerShell en la siguiente página de MSDN: https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx
Administrar Exchange Online mediante PowerShell
Cuando desee administrar Exchange Online mediante PowerShell, no es necesario instalar un módulo independiente para PowerShell. Solo tiene que configurar una sesión remota de PowerShell en Exchange Online y todos los comandos se transfieren automáticamente al PowerShell local.
Para configurar una sesión remota de PowerShell, puede usar los siguientes comandos en una ventana de PowerShell local:
$ExCred = Get-Credential admin@inframan.onmicrosoft.com
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $ExCred -Authentication Basic -AllowRedirection
Import-PSSession $SessionCuando se configura la sesión, todos los comandos de Exchange están disponibles. Por ejemplo, cuando se ejecutan los comandos Get-Mailbox, todos los buzones de correo creados en Exchange Online que están disponibles se muestran en la consola. En mi entorno de prueba, puede ver que los buzones de correo están distribuidos en Ámsterdam (el nombre del servidor comienza con "am") y Dublín (el nombre del servidor comienza con "db"), como se muestra en la siguiente figura:
Para cerrar la sesión remota de PowerShell, puede utilizar el comando Remove-PSSession $Session.
Puede encontrar más información sobre Exchange Online PowerShell en TechNet: https://technet.microsoft.com/en-us/library/jj200677(v=exchg.150).aspx
Administrar Lync Online mediante PowerShell
El primer paso para administrar Lync Online mediante PowerShell es instalar el módulo Lync Online Connector, que se puede descargar desde http://go.microsoft.com/fwlink/?LinkId=294688. Una vez instalado, puede utilizar los siguientes comandos para importar Lync Online Connector y configurar una sesión con Lync Online:
Import-Module LyncOnlineConnector
$LyncCred = Get-Credential admin@inframan.onmicrosoft.com
$Session = New-CsOnlineSession -Credential $LyncCred
Import-PSSession $SessionTodos los comandos relacionados con Lync Online ahora están disponibles. Por ejemplo, para recuperar todas las cuentas habilitadas para Lync en el entorno de prueba, podemos usar el comando Get-CsOnlineUser como se muestra en la siguiente figura:
Puede encontrar más información sobre el uso de Windows PowerShell para administrar Lync Online en TechNet: https://technet.microsoft.com/en-us/library/dn362831(v=ocs.15).aspx
Administrar SharePoint Online mediante PowerShell
En este momento nos estamos acostumbrando, pero para administrar SharePoint Online mediante PowerShell es necesario instalar el Shell de administración de SharePoint Online. Puede descargarlo desde el sitio de descargas de Microsoft: http://go.microsoft.com/fwlink/p/?LinkId=255251. Esto instalará un Shell de administración de SharePoint Online (dedicado).
Para configurar una sesión en SharePoint Online, puede utilizar los siguientes comandos:
$SPCred = Get-Credential admin@inframan.onmicrosoft.com
Connect-SPOService -Url https://inframan-admin.sharepoint.com -Credential $SPCredClaramente visible es el Shell de administración de SharePoint Online en comparación con un símbolo del sistema de PowerShell normal. También tenga en cuenta el color de fondo diferente.
Para recuperar una lista de colecciones de sitios disponibles en su entorno de SharePoint Online, puede utilizar el comando Get-SPOSite como se muestra en la siguiente figura:
Puede encontrar más información sobre Windows PowerShell para SharePoint Online en TechNet: https://technet.microsoft.com/en-us/library/fp161362.aspx
Resumen
Además del portal en línea de Microsoft habitual, también puede utilizar PowerShell para administrar los componentes principales de su entorno Office 365. Cada servicio tiene un enfoque ligeramente diferente, pero al instalar los módulos de PowerShell adecuados, puede hacerlo todo desde un símbolo del sistema de PowerShell local.
En la siguiente publicación del blog entraré más en detalle sobre las diversas posibilidades.