Conectarse a todos los servicios de Microsoft 365 en una sola ventana de Windows PowerShell

Cuando usa PowerShell para administrar Microsoft 365, puede tener varias sesiones de PowerShell abiertas al mismo tiempo. Es posible que tenga diferentes ventanas de PowerShell para administrar cuentas de usuario, SharePoint Online, Exchange Online, Microsoft Teams, características de Microsoft Defender para Office 365 (seguridad) y características de cumplimiento de Microsoft Purview.

Este escenario no es óptimo para la administración de Microsoft 365, porque no se pueden intercambiar datos entre esas ventanas para la administración entre servicios. En este artículo se describe cómo usar una única instancia de PowerShell para administrar las cuentas de Microsoft 365, Exchange Online, SharePoint Online, Microsoft Teams y las características del cumplimiento de Defender para Office 365 Microsoft Purview.

Nota:

Actualmente, este artículo solo contiene los comandos para conectarse a la nube mundial (+GCC). Las notas brindan vínculos a artículos sobre cómo conectarse a otras nubes de Microsoft 365.

Antes de empezar

Antes de poder administrar todo Microsoft 365 desde una sola instancia de Windows PowerShell, tenga en cuenta los siguientes requisitos previos:

  • La cuenta profesional o educativa de Microsoft 365 que use debe ser un miembro del rol de administrador de Microsoft 365. Para obtener más información, vea Sobre los roles de administrador. Este es un requisito de PowerShell para Microsoft 365, pero no necesariamente para todos los demás servicios de Microsoft 365.

  • Puede usar las siguientes versiones de Windows de 64 bits:

    • Windows 11

    • Windows 10

    • Windows 8.1 o Windows 8

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 2012 R2 o Windows Server 2012

    • Windows 7 Service Pack 1 (SP1)*

    • Windows Server 2008 R2 SP1*

      * Debe instalar Microsoft .NET Framework 4.5. x y, a continuación, Windows Management Framework 3.0 o 4.0. Para obtener más información, vea Windows Management Framework.

  • Debe instalar los módulos necesarios para Microsoft Entra ID, Exchange Online, Defender para Office 365, cumplimiento de Microsoft Purview, SharePoint Online y Teams:

  • PowerShell debe configurarse para ejecutar scripts firmados para Exchange Online, Defender para Office 365 y cumplimiento de Microsoft Purview. Ejecutar el siguiente comando en una sesión de PowerShell con privilegios elevados (una sesión de PowerShell que se abre seleccionando Ejecutar como administrador).

    Set-ExecutionPolicy RemoteSigned
    

Pasos de conexión

Siga estos pasos para conectarse a todos los servicios de una sola ventana de PowerShell.

  1. Abra Windows PowerShell.

  2. Ejecute este comando y escriba las credenciales de su cuenta profesional o educativa de Microsoft 365.

    $credential = Get-Credential
    
  3. Ejecute este comando para conectarse a Microsoft Entra ID mediante el SDK de PowerShell de Microsoft Graph.

    Nota:

    El módulo de PowerShell de Azure Active Directory (AzureAD) está en desuso y se reemplaza por el SDK de PowerShell de Microsoft Graph. Puede usar el SDK de PowerShell de Microsoft Graph para acceder a todas las API de Microsoft Graph. Para más información, consulte Introducción al SDK de PowerShell de Microsoft Graph.

    Consulte también Instalación del SDK de PowerShell de Microsoft Graph y Actualización de PowerShell de Azure AD a PowerShell de Microsoft Graph para obtener información sobre cómo instalar y actualizar a PowerShell de Microsoft Graph, respectivamente.

    El SDK de PowerShell de Microsoft Graph admite dos tipos de autenticación: acceso delegado y acceso solo a la aplicación. En este ejemplo, usará el acceso delegado para iniciar sesión como usuario, conceder el consentimiento al SDK para que actúe en su nombre y llamar a Microsoft Graph.

    Para obtener más información sobre el uso del acceso solo a la aplicación para escenarios desatendidos, consulte Uso de la autenticación de solo aplicación con el SDK de PowerShell de Microsoft Graph.

    Determinación de los ámbitos de permisos necesarios

    Cada API de Microsoft Graph está protegida por uno o varios ámbitos de permisos. El usuario que inicia sesión debe dar su consentimiento a uno de los ámbitos necesarios para las API que planea usar. En este ejemplo, usaremos las siguientes API.

    • Enumere a los usuarios para encontrar el identificador de usuario del usuario que ha iniciado sesión.
    • Enumerar joinedTeams para obtener los equipos de los que el usuario es miembro.
    • Enumere los canales para obtener los canales en un equipo.
    • Envíe un mensaje para enviar un mensaje al canal de un equipo.

    El ámbito de permiso User.Read.All habilita las dos primeras llamadas y el ámbito Group.ReadWrite.All habilita el resto. Estos permisos requieren una cuenta de administrador.

    Para obtener más información sobre cómo determinar qué ámbitos de permisos necesitará, consulte Uso de Find-MgGraphCommand.

    Conectarse a Microsoft Graph

    Para conectarse a la organización de Microsoft 365, ejecute el siguiente comando con ámbitos de permiso de ejemplo:

    Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"
    

    El símbolo del sistema le pide que vaya a una página web para iniciar sesión con sus credenciales. Una vez hecho esto, el comando indica que se ha realizado correctamente con un mensaje Bienvenido a Microsoft Graph! Solo tiene que iniciar sesión una vez por sesión. Actualmente no se admite el paso de credenciales al Connect-MgGraph cmdlet.

    Sugerencia

    Puede agregar permisos de forma accretively si repite el comando Connect-MgGraph con los nuevos ámbitos de permisos.

  4. Ejecute estos comandos para conectarse a SharePoint Online. Especifique el nombre de la organización para su dominio. Por ejemplo, para "litwareinc.onmicrosoft.com", el valor del nombre de la organización es "litwareinc".

    $orgName="<for example, litwareinc for litwareinc.onmicrosoft.com>"
    Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
    Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $Credential
    
  5. Ejecute estos comandos para conectarse a Exchange Online.

    Import-Module ExchangeOnlineManagement
    Connect-ExchangeOnline -ShowProgress $true
    

    Nota:

    Para conectarse a Exchange Online para las nubes de Microsoft 365 que no sean mundiales, consulte Conectarse a Exchange Online PowerShell.

  6. Ejecute estos comandos para conectarse a Seguridad y cumplimiento de PowerShell.

    $acctName="<UPN of the account, such as belindan@litwareinc.onmicrosoft.com>"
    Connect-IPPSSession -UserPrincipalName $acctName
    

    Nota:

    Para conectarse a Seguridad y cumplimiento de PowerShell para nubes de Microsoft 365 que no sean mundiales, consulte Conectarse a Seguridad y cumplimiento de PowerShell.

  7. Ejecute estos comandos para conectarse a Teams PowerShell.

    Import-Module MicrosoftTeams
    $credential = Get-Credential
    Connect-MicrosoftTeams -Credential $credential
    

    Nota:

    El conector en línea del cliente de Skype® Empresarial actualmente forma parte del módulo más reciente de Windows PowerShell de Teams. Si usa la versión pública más reciente de Teams PowerShell, no es necesario que instale el conector en línea de cliente de Skype® Empresarial.

    Para conectarse a nubes de Microsoft Teams que no sean mundiales, consulte Connect-MicrosoftTeams.

Cerrar la ventana de PowerShell

Para cerrar la ventana de PowerShell, ejecute este comando para quitar las sesiones activas de SharePoint Online, Teams, Defender para Office 365 y cumplimiento de Microsoft Purview:

Disconnect-SPOService; Disconnect-MicrosoftTeams; Disconnect-ExchangeOnline

Consulte también