Conectarse a Office 365 con PowerShell puede ser un problema a veces. Tienes que recordar constantemente diferentes comandos y módulos. Cambiemos eso.
En este artículo, aprenderá a conectarse a Office 365 con PowerShell. Para ello, utilice el módulo Azure AD PowerShell para gráficos y el módulo Azure Active Directory para Windows PowerShell.
Tabla de Contenidos
Requisitos previos
Para consultar cualquiera de los ejemplos de este tutorial, asegúrese de tener lo siguiente con anticipación:
- Windows PowerShell 5.1 (Se instala de forma predeterminada en Windows 7 y versiones posteriores)
- Un inquilino de Office 365
- Asistente de inicio de sesión de Microsoft Online Services para profesionales de TI RTW
¿Por qué dos módulos de Azure AD?
Al trabajar con Office 365 con PowerShell, es probable que tenga que usar dos módulos diferentes. Utilizará Azure Active Directory PowerShell para Graph con el nombre de módulo AzureAD y Azure Active Directory module para Windows PowerShell con el nombre de módulo MSOnline.
AzureAD y MSOnline le permiten trabajar con servicios de Office 365 utilizando PowerShell, ¿por qué dos? AzureAD es el sucesor de MSOnline y de lo que puedo deducir reemplazará a MSOnline en algún momento. Toda la funcionalidad nueva está en el módulo AzureAD, pero todavía hay algo de superposición con el módulo MSOnline.
Encontrará tareas como la administración de usuarios, grupos y administración de licencias que aún existen en el módulo MSOnline.
Conexión a Office 365 con el módulo AzureAD
Para conectarse a Office 355 con PowerShell mediante el módulo AzureAD, primero deberá instalarlo. Puede hacerlo ejecutando Install-Module AzureAD
desde una sesión administrativa de PowerShell.
Todos los sustantivos de todos los comandos del módulo AzureAD tienen el prefijo AzureAD.
Una vez que tenga el módulo instalado, ejecute el cmdlet Connect-AzureAD
. Una vez hecho esto, PowerShell le pedirá su ID y contraseña de Microsoft (cuenta de trabajo o escuela). Una vez autenticado, podrá usar todos los comandos del módulo.
Conectarse a Office 365 con el módulo MSOnline
Conectarse a Office 365 con PowerShell mediante el módulo MSOnline requiere un poco más de esfuerzo. Suponiendo que tenga instalado el paquete de software RTW del Asistente de inicio de sesión de Microsoft Online Services para profesionales de TI:
- Instale el módulo MSOnline desde la Galería de PowerShell ejecutando desde una consola administrativa de PowerShell.
Install-Module MSOnline
2. Una vez instalado el módulo, ejecute Get-Module
para asegurarse de que PowerShell pueda encontrar el módulo.
3. Por último, ejecute el cmdlet Connect-MsolService
para autenticarse en Azure AD. Esto le pedirá su credencial de Office 365.
En lugar de ejecutar
Connect-MsolService
por sí solo, como se muestra arriba, también puede usar el parámetroCredential
. Puede hacer esto porque ya lo ha capturado en la variable$cred
. Esto evitará que aparezca el cuadro emergente de autenticación.
Conectarse a Office 365 (Exchange) con PowerShell
Si necesita conectarse a Exchange Online, debe realizar un conjunto de pasos. Ahora necesitará establecer una sesión de comunicación remota implícita de PowerShell para que todos los comandos de Exchange Online estén disponibles.
A continuación encontrará el código de PowerShell para crear una credencial, compilar la sesión e importar los comandos en la sesión actual.
Relacionado: Comunicación remota de PowerShell: La guía definitiva
El fragmento de código que aparece a continuación almacena el nombre de usuario y la contraseña de Office 365 en un objeto de credenciales mediante el cmdlet Get-Credential
. A continuación, utiliza esa credencial para establecer una sesión de comunicación remota de PowerShell al URI de Exchange e importa la sesión remota a la sesión local.
La comunicación remota implícita es el término utilizado para referirse a la importación de comandos remotos en una sesión local.
PS> $cred = Get-CredentialPS> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $cred -Authentication Basic -AllowRedirectionPS> Import-PSSession $Session -DisableNameChecking
Si la importación de la sesión va bien sin mensajes de error, ahora ejecute Get-AcceptedDomain
para asegurarse de que sus dominios se muestren.
Una vez que haya terminado, desconecte y elimine la PSSession ejecutando Remove-PSSession $Session
.
Si necesita conectarse a Exchange Online a través de MFA, Microsoft proporciona una excelente guía titulada Conectar a Exchange Online PowerShell mediante autenticación Multifactor.
Resumen
Office 365 tiene muchos servicios, pero afortunadamente, puede administrarlos todos con PowerShell. Una vez que haya instalado ambos módulos y se haya conectado mediante los comandos Connect
, estará en camino de administrar Office 365 con PowerShell.