Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo contiene instrucciones sobre cómo conectarse a PowerShell de seguridad & cumplimiento mediante el módulo Exchange Online PowerShell con o sin autenticación multifactor (MFA).
El módulo Exchange Online PowerShell usa la autenticación moderna para conectarse a Exchange Online PowerShell y a PowerShell de seguridad & cumplimiento. Para obtener más información sobre el módulo de PowerShell de Exchange Online, consulte Acerca del módulo de PowerShell de Exchange Online.
Para conectarse a Security & Compliance PowerShell para la automatización, consulte Autenticación de solo aplicación para scripts desatendidos.
¿Qué necesita saber antes de empezar?
Los requisitos para instalar y utilizar el módulo se describen en Requisitos previos para el módulo de PowerShell de Exchange Online y sistemas operativos compatibles con el módulo de PowerShell de Exchange Online.
Después de conectarse, el control de acceso basado en roles (RBAC) controla los cmdlets y parámetros a los que tiene o no tiene acceso. Para obtener más información, consulte Permisos en el portal de Microsoft Defender y Permisos en el portal Microsoft Purview.
Paso 1: Cargar el módulo de PowerShell de Exchange Online
Nota:
Si el módulo ya está instalado, normalmente puede omitir este paso y ejecutar Connect-IPPSSession sin cargar primero manualmente 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: Conectar y autenticar
Nota:
Es probable que se produzca un error en los comandos de conexión si la ruta de perfil de la cuenta que usó para conectarse contiene caracteres especiales de PowerShell (por ejemplo,
$). La solución alternativa es conectarse con una cuenta diferente que no tenga caracteres especiales en la ruta de acceso del perfil.Si tiene previsto ejecutar cmdlets de eDiscovery (*-ComplianceSearch o New-ComplianceSearchAction), la conexión debe cumplir los siguientes requisitos:
Versión 3.9.0 (agosto de 2025) o posterior del módulo de PowerShell de Exchange Online.
El comando connect debe incluir el modificador EnableSearchOnlySession .
Si la conexión de PowerShell de seguridad & cumplimiento no cumple estos requisitos, recibirá el siguiente error al intentar ejecutar cmdlets de eDiscovery:
Please close the current PowerShell session and open a new session using Connect-IPPSSession with the -EnableSearchOnlySession flag. This requires using ExchangeOnlineManagement v3.9.0 or higher.
El comando que necesita ejecutar usa la sintaxis siguiente:
Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions] [-EnableSearchOnlySession]
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 necesarios de ConnectionUri y AzureADAuthorizationEndpointUri dependen de la naturaleza de su organización de Microsoft 365. Los valores comunes se describen en la lista siguiente:
-
Microsoft 365 o Microsoft 365 GCC:
-
ConnectionUri: Ninguno. El valor
https://ps.compliance.protection.outlook.com/powershell-liveid/requerido también es el valor predeterminado, por lo que no es necesario usar el parámetro ConnectionUri en entornos Microsoft 365 o GCC de Microsoft 365. -
AzureADAuthorizationEndpointUri: Ninguno. El valor
https://login.microsoftonline.com/organizationsrequerido , pero también es el valor predeterminado, por lo que no es necesario usar el parámetro AzureADAuthorizationEndpointUri en entornos Microsoft 365 o Microsoft 365 GCC.
-
ConnectionUri: Ninguno. El valor
-
Microsoft 365 GCC High:
-
ConnectionUri:
https://ps.compliance.protection.office365.us/powershell-liveid/ -
AzureADAuthorizationEndpointUri:
https://login.microsoftonline.us/organizations*
-
ConnectionUri:
-
Microsoft 365 DoD:
-
ConnectionUri:
https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -
AzureADAuthorizationEndpointUri:
https://login.microsoftonline.us/organizations*
-
ConnectionUri:
-
Office 365 ofrecido por 21Vianet:
-
ConnectionUri:
https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -
AzureADAuthorizationEndpointUri:
https://login.chinacloudapi.cn/organizations*
-
ConnectionUri:
* El valor AzureADAuthorizationEndpointUri que termina en
/organizationssolo permite cuentas profesionales o educativas. El valor de URI anterior que termina en/commonsigue funcionando, pero podría pedirle que elija entre una cuenta personal y una cuenta profesional o educativa. Recomendamos el valor URI en escenarios empresariales donde se deben excluir las/organizationscuentas de consumidor.-
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. Primero, ejecute este comando:
$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, donde <el valor> esIEConfig,WinHttpConfigoAutoDetect. A continuación, use el valor$ProxyOptionsdel 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.
Conéctese a PowerShell de seguridad & cumplimiento con un mensaje 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 PowerShell Seguridad y Cumplimiento en una organización de Microsoft 365 o Microsoft 365 GCC:
Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.comEste ejemplo se conecta a PowerShell Seguridad y Cumplimiento en una organización Microsoft GCC High:
Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizationsEste ejemplo se conecta a PowerShell Seguridad y Cumplimiento en una organización de Microsoft 365 DoD:
Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizationsEste ejemplo se conecta a PowerShell Seguridad y Cumplimiento en una organización de Office 365 operada por 21Vianet:
Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/organizations
En la ventana de inicio de sesión que se abre, escriba la contraseña y, a continuación, seleccione Iniciar sesión.
Nota:
En PowerShell 7, el inicio de sesión único (SSO) basado en el explorador se usa de forma predeterminada, por lo que el mensaje de inicio de sesión se abre en el explorador web predeterminado en lugar de un cuadro de diálogo independiente.
Solo MFA: se genera y entrega un código de verificación en función de la opción de respuesta configurada para su cuenta (por ejemplo, un mensaje de texto o la aplicación Microsoft Authenticator en su dispositivo).
En la ventana de comprobación que se abre, escriba el código de verificación y, a continuación, seleccione Verificar.
Conectarse a PowerShell de seguridad & cumplimiento sin un mensaje 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 Seguridad & Cumplimiento de PowerShell.
Conéctese a PowerShell de seguridad & cumplimiento en organizaciones de clientes
Los procedimientos descritos en esta sección requieren la versión 3.0.0 o posterior del módulo.
En Security & Compliance PowerShell, debe usar AzureADAuthorizationEndpointUri con el parámetro DelegatedOrganization .
Para obtener más información sobre partners y organizaciones de clientes, consulte los siguientes artículos:
- ¿Qué es el programa Proveedor de soluciones en la nube (CSP)?
- Introducción a los privilegios de administración delegada pormenorizados (GDAP)
Este ejemplo conecta a organizaciones de clientes en los siguientes escenarios:
Conéctese a una organización cliente mediante una cuenta de CSP.
Conéctese a una organización cliente mediante un GDAP.
Conéctese a una organización cliente como invitado.
Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com -DelegatedOrganization adatum.onmicrosoft.com -AzureADAuthorizationEndpointUri https://login.microsoftonline.com/adatum.onmicrosoft.com
Paso 3: Desconéctate cuando hayas 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ía que esperar a que expiren. Para desconectar la sesión, ejecute el siguiente comando:
Disconnect-ExchangeOnline
Para desconectarse silenciosamente sin una solicitud de confirmación, ejecute el siguiente comando:
Disconnect-ExchangeOnline -Confirm:$false
Nota:
Es probable que se produzca un error en el comando de desconexión si la ruta de perfil de la cuenta que usó para conectarse contiene caracteres especiales de PowerShell (por ejemplo, $). La solución alternativa es conectarse con una cuenta diferente que no tenga caracteres especiales en la ruta de acceso del perfil.
¿Cómo sabe si se ha conectado correctamente?
Los cmdlets de PowerShell Seguridad y Cumplimiento se importan a su sesión local de Windows PowerShell y se siguen mediante una barra de progreso. Si no se muestra ningún error, la conexión se habrá establecido correctamente. Una prueba rápida es ejecutar un cmdlet de PowerShell Seguridad y Cumplimiento, 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.
La cuenta que usa para conectarse debe estar habilitada para PowerShell. 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.
Las conexiones basadas en REST a Security & Compliance PowerShell requieren el módulo PowerShellGet. Por dependencia, el módulo PowerShellGet requiere el módulo PackageManagement. Obtendrá errores si intenta conectarse sin tener ambos módulos instalados. Por ejemplo, es posible que vea el siguiente error:
El término 'Update-ModuleManifest' no se reconoce como el nombre de un cmdlet, una función, un archivo de script o un programa ejecutable. Compruebe la ortografía del nombre o, si se ha incluido una ruta, asegúrese de que la ruta es correcta e inténtelo de nuevo.
Para obtener más información sobre los requisitos de los módulos PowerShellGet y PackageManagement, consulte PowerShellGet para conexiones basadas en REST en Windows.
Es posible que no pueda conectarse si la dirección IP del cliente cambia durante la solicitud de conexión. El error se produce si su organización usa un grupo de Traducción de direcciones de red de origen (SNAT) con varias direcciones IP. El error de conexión tiene un aspecto similar al siguiente:
Se produjo un error en la solicitud del shell remoto de Windows con el id>. de 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 resolver este problema, siga uno de los pasos siguientes:
- Use un grupo SNAT que contenga una sola dirección IP.
- Forzar el uso de una dirección IP específica para las conexiones al punto de conexión de PowerShell Seguridad & cumplimiento.