Conexión a PowerShell de cumplimiento de seguridad &
Este artículo contiene instrucciones sobre cómo conectarse a PowerShell de cumplimiento de seguridad & mediante el módulo de PowerShell Exchange Online con o sin autenticación multifactor (MFA).
El módulo Exchange Online PowerShell usa la autenticación moderna para conectarse a todos los entornos de PowerShell relacionados con Exchange en Microsoft 365: Exchange Online PowerShell, PowerShell de cumplimiento de seguridad & y PowerShell de Exchange Online Protection (EOP) independientes. Para obtener más información sobre el módulo de PowerShell Exchange Online, consulte Acerca de la Exchange Online módulo de PowerShell.
Nota:
La versión 2.0.5 y versiones anteriores se conocen como el módulo Exchange Online PowerShell V2 (abreviado como módulo EXO V2). La versión 3.0.0 y posteriores se conocen como el módulo Exchange Online PowerShell V3 (abreviado como módulo EXO V3).
Para conectarse a PowerShell de cumplimiento de seguridad & para la automatización, consulte Autenticación de solo aplicación para scripts desatendidos.
Para usar el módulo de PowerShell remoto Exchange Online anterior (el módulo V1) para conectarse a PowerShell de cumplimiento de seguridad & mediante MFA, consulte Módulo V1: Conexión a PowerShell de cumplimiento de seguridad & mediante MFA. Tenga en cuenta que esta versión anterior del módulo se terminará por retirar.
¿Qué necesita saber antes de empezar?
Los requisitos para instalar y usar el módulo se describen en Instalación y mantenimiento de la Exchange Online módulo de PowerShell.
Nota:
PowerShell de cumplimiento de seguridad & todavía requiere autenticación básica en WinRM, como se describe en Requisitos previos para el módulo de PowerShell Exchange Online. Los cmdlets de la API de rest que permiten desactivar la autenticación básica en WinRM aún no están disponibles para el cmdlet Connect-IPPSSession. Para obtener más información, consulte Novedades para el módulo EXO V3).
Después de conectarse, los cmdlets y parámetros a los que tiene o no tiene acceso se controlan mediante el control de acceso basado en roles (RBAC). Para más información, vea Permisos en el portal de Microsoft 365 Defender y Permisos en el portal de cumplimiento de Microsoft Purview.
Paso 1: Carga del módulo de PowerShell Exchange Online
Nota:
Si el módulo ya está instalado, normalmente puede omitir este paso y ejecutar Connect-IPPSSession sin cargar manualmente primero el módulo.
Después de instalar el módulo, abra una ventana de PowerShell y cargue el módulo ejecutando el siguiente comando:
Import-Module ExchangeOnlineManagement
Paso 2: Conexión y autenticación
Nota:
Es probable que se produzca un error en los comandos de conexión si la ruta de acceso del perfil de la cuenta que usó para conectarse contiene caracteres especiales de PowerShell (por ejemplo, $
). La solución alternativa consiste en conectarse con una cuenta diferente que no tenga caracteres especiales en la ruta de acceso del perfil.
El comando que necesita ejecutar usa la sintaxis siguiente:
Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]
Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Connect-IPPSSession.
<UPN> es su cuenta en formato de nombre principal de usuario (por ejemplo,
navin@contoso.onmicrosoft.com
).Los valores ConnectionUri y AzureADAuthorizationEndpointUri necesarios dependen de la naturaleza de la organización de Microsoft 365. Los valores comunes se describen en la tabla siguiente:
Entorno ConnectionUri AzureADAuthorizationEndpointUri Microsoft 365 o Microsoft 365 GCC No aplicable* No aplicable** Microsoft 365 GCC High https://ps.compliance.protection.office365.us/powershell-liveid/
https://login.microsoftonline.us/common
Microsoft 365 DoD https://l5.ps.compliance.protection.office365.us/powershell-liveid/
https://login.microsoftonline.us/common
Office 365 operado por 21Vianet https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
https://login.chinacloudapi.cn/common
* El valor
https://ps.compliance.protection.outlook.com/powershell-liveid/
necesario también es el valor predeterminado, por lo que no es necesario usar el parámetro ConnectionUri en entornos de Microsoft 365 o Microsoft 365 GCC.** El valor
https://login.microsoftonline.com/common
necesario también es el valor predeterminado, por lo que no es necesario usar el parámetro AzureADAuthorizationEndpointUri en entornos de Microsoft 365 o Microsoft 365 GCC.Si está detrás de un servidor proxy, puede usar el parámetro PSSessionOption en el comando de conexión. En primer lugar, ejecute este comando:
$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>
, donde <Value> esIEConfig
,WinHttpConfig
oAutoDetect
. A continuación, use el valor$ProxyOptions
del parámetro PSSessionOption . Para obtener más información, consulte New-PSSessionOption.Dependiendo de la naturaleza de la organización, es posible que pueda omitir el parámetro UserPrincipalName en el paso siguiente. En su lugar, escriba el nombre de usuario y la contraseña o seleccione las credenciales almacenadas después de ejecutar el comando Connect-IPPSSession. Si esto no funciona, necesitará usar el parámetro UserPrincipalName.
Si no está utilizando MFA, debería poder usar el parámetro Credential en lugar del parámetro UserPrincipalName. En primer lugar, ejecuta el comando
$Credential = Get-Credential
, escriba su nombre de usuario y contraseña y luego usa el nombre variable para el parámetro Credential (-Credential $Credential
). Si esto no funciona, necesitará usar el parámetro UserPrincipalName.
Conexión a PowerShell de cumplimiento de seguridad & con un símbolo del sistema de inicio de sesión interactivo
Los ejemplos siguientes funcionan en Windows PowerShell 5.1 y PowerShell 7 para cuentas con o sin MFA:
Este ejemplo se conecta a Seguridad & PowerShell de cumplimiento en una organización GCC de Microsoft 365 o Microsoft 365:
Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com
Este ejemplo se conecta a Seguridad & PowerShell de cumplimiento en una organización de Microsoft GCC High:
Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
Este ejemplo se conecta a Seguridad & PowerShell de cumplimiento en una organización del DoD de Microsoft 365:
Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
Este ejemplo se conecta a Seguridad & PowerShell de cumplimiento en una Office 365 operada por la organización 21Vianet:
Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
En la ventana de inicio de sesión que se abre, escriba su contraseña y, después, haga clic en Iniciar sesión.
Nota:
En PowerShell 7, el inicio de sesión único (SSO) basado en explorador se usa de forma predeterminada, por lo que el símbolo del sistema de inicio de sesión se abre en el explorador web predeterminado en lugar de en un cuadro de diálogo independiente.
Solo MFA: Se genera y se entrega un código de verificación basándose en la opción de respuesta de comprobación que se ha configurado para su cuenta (por ejemplo, un mensaje de texto o la aplicación Microsoft Authenticator de su dispositivo).
En la ventana de comprobación que se abre, escriba el código de comprobación y, después, haga clic en Verificar.
Conexión a PowerShell de cumplimiento de seguridad & sin un símbolo del sistema de inicio de sesión (scripts desatendidos)
Para obtener instrucciones completas, consulte Autenticación de solo aplicación para scripts desatendidos en Exchange Online PowerShell y PowerShell de cumplimiento de seguridad&.
Conexión a PowerShell de cumplimiento de seguridad & en organizaciones de clientes
Los procedimientos de esta sección requieren la versión 3.0.0 o posterior del módulo.
En PowerShell de cumplimiento de seguridad & , debe usar AzureADAuthorizationEndpointUri con el parámetro DelegatedOrganization .
Para obtener más información, sobre asociados y organizaciones de clientes, consulte los temas siguientes:
- ¿Qué es el programa Proveedor de soluciones en la nube (CSP)?.
- Introducción a los privilegios de administrador delegados pormenorizadas (GDAP)
En este ejemplo se conecta a las organizaciones de clientes en los siguientes escenarios:
Conéctese a una organización de clientes mediante una cuenta de CSP.
Conéctese a una organización de clientes mediante un GDAP.
Conéctese a una organización de clientes como usuario invitado.
Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com -DelegatedOrganization adatum.onmicrosoft.com -AzureADAuthorizationEndpointUri https://ps.compliance.protection.outlook.com/powershell-liveid/
Paso 3: Desconectar cuando haya terminado
Asegúrese de desconectar la sesión cuando haya terminado. Si cierra la ventana de PowerShell sin desconectar la sesión, podría usar todas las sesiones disponibles y tendrá que esperar a que expiren las sesiones. Para desconectar la sesión, ejecute el siguiente comando.
Disconnect-ExchangeOnline
Para desconectarse silenciosamente sin un símbolo del sistema de confirmación, ejecute el siguiente comando:
Disconnect-ExchangeOnline -Confirm:$false
Nota:
Es probable que se produzca un error en el comando disconnect si la ruta de acceso del perfil de la cuenta que usó para conectarse contiene caracteres especiales de PowerShell (por ejemplo, $
). La solución alternativa consiste en conectarse con una cuenta diferente que no tenga caracteres especiales en la ruta de acceso del perfil.
¿Cómo sabe que se ha conectado correctamente?
Los cmdlets de PowerShell de cumplimiento de seguridad & se importan en la sesión de Windows PowerShell local y se realiza un seguimiento mediante una barra de progreso. Si no recibe ningún error, se ha conectado correctamente. Una prueba rápida consiste en ejecutar un cmdlet de PowerShell de cumplimiento de seguridad & , por ejemplo, Get-RetentionCompliancePolicy, y ver los resultados.
Si surgen errores, compruebe los siguientes requisitos:
Un problema habitual es una contraseña incorrecta. Vuelva a realizar los tres pasos y preste especial atención al nombre de usuario y la contraseña que usa.
Para ayudar a evitar ataques de denegación de servicio (DoS), está limitado a cinco conexiones remotas de PowerShell abiertas a PowerShell de cumplimiento de seguridad & .
La cuenta que usa para conectarse debe estar habilitada para PowerShell remoto. Para obtener más información, vea Habilitar o deshabilitar el acceso a PowerShell de Exchange Online.
Debe abrir el tráfico del puerto TCP 80 entre su equipo local y Microsoft 365. Probablemente esté abierto, pero es un aspecto que se debe tener en cuenta si la directiva de acceso a Internet de su organización es restrictiva.
Es posible que no pueda conectarse si la dirección IP del cliente cambia durante la solicitud de conexión. Esto puede ocurrir si su organización usa un grupo de traducción de direcciones de red (SNAT) de origen que contiene varias direcciones IP. El error de conexión tiene un aspecto similar al siguiente:
Error en la solicitud del Shell remoto de Windows con el identificador> shellId <porque no se encontró el shell en el servidor. Las posibles causas son: el ShellId especificado es incorrecto o el shell ya no existe en el servidor. Proporcione el ShellId correcto o cree un nuevo Shell y vuelva a intentar la operación.
Para solucionar el problema, use un grupo de SNAT que contenga una sola dirección IP o forze el uso de una dirección IP específica para las conexiones al punto de conexión de PowerShell de cumplimiento de seguridad & .