Partilhar via


Conectar-se ao PowerShell de Segurança e Conformidade

Este artigo contém instruções sobre como ligar ao PowerShell de Conformidade do & de Segurança com o módulo do PowerShell do Exchange Online com ou sem autenticação multifator (MFA).

O módulo do PowerShell do Exchange Online utiliza a autenticação moderna para ligar a todos os ambientes do PowerShell relacionados com o Exchange no Microsoft 365: PowerShell do Exchange Online, PowerShell de Conformidade & de Segurança e PowerShell autónomo do Exchange Online Protection (EOP). Para obter mais informações sobre o módulo do PowerShell do Exchange Online, veja Acerca do módulo do PowerShell do Exchange Online.

Para ligar ao PowerShell de Conformidade & de Segurança para automatização, veja Autenticação apenas de aplicações para scripts autónomos.

Do que você precisa saber para começar?

Passo 1: carregar o módulo do PowerShell do Exchange Online

Observação

Se o módulo já estiver instalado, normalmente pode ignorar este passo e executar Connect-IPPSSession sem carregar manualmente o módulo primeiro.

Depois de instalar o módulo, abra uma janela do PowerShell e carregue o módulo ao executar o seguinte comando:

Import-Module ExchangeOnlineManagement

Passo 2: Ligar e autenticar

Observação

Os comandos de ligação provavelmente falharão se o caminho do perfil da conta que utilizou para ligar contiver carateres especiais do PowerShell (por exemplo, $). A solução é ligar com uma conta diferente que não tenha carateres especiais no caminho do perfil.

O comando que você precisa executar usa a seguinte sintaxe:

Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]

Para obter informações detalhadas sobre a sintaxe e os parâmetros, confira Connect-IPPSSession.

  • <O UPN> é a sua conta no formato de nome principal de utilizador (por exemplo, navin@contoso.onmicrosoft.com).

  • Os valores connectionUri e AzureADAuthorizationEndpointUri necessários dependem da natureza da sua organização do Microsoft 365. Os valores comuns estão descritos na seguinte lista:

    • Microsoft 365 ou Microsoft 365 GCC:
      • ConnectionUri: Nenhum. O valor https://ps.compliance.protection.outlook.com/powershell-liveid/ necessário também é o valor predefinido, pelo que não precisa de utilizar o parâmetro ConnectionUri em ambientes do Microsoft 365 ou Microsoft 365 GCC.
      • AzureADAuthorizationEndpointUri: Nenhum. O valor https://login.microsoftonline.com/common necessário também é o valor predefinido, pelo que não precisa de utilizar o parâmetro AzureADAuthorizationEndpointUri em ambientes do Microsoft 365 ou Microsoft 365 GCC.
    • Microsoft 365 GCC High:
      • ConnectionUri: https://ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/common
    • Microsoft 365 DoD:
      • ConnectionUri: https://l5.ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/common
    • Office 365 operado pela 21Vianet:
      • ConnectionUri: https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
      • AzureADAuthorizationEndpointUri: https://login.chinacloudapi.cn/common
  • Se estiver atrás de um servidor proxy, pode utilizar o parâmetro PSSessionOption no comando de ligação. Primeiro, execute este comando: $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, em que <Value> é IEConfig, WinHttpConfigou AutoDetect. Em seguida, utilize o valor $ProxyOptions para o parâmetro PSSessionOption . Para saber mais, confira New-PSSessionOption.

  • Dependendo da natureza da sua organização, você poderá omitir o parâmetro UserPrincipalName na próxima etapa. Em vez disso, insira o nome de usuário e a senha ou selecione as credenciais armazenadas depois de executar o comando Connect-IPPSSession. Se não funcionar, será necessário usar o parâmetro UserPrincipalName.

  • Se não estiver usando a MFA, você pode usar o parâmetro Credential em vez do parâmetro UserPrincipalName. Primeiro, execute o comando $Credential = Get-Credential, insira seu nome de usuário e senha e use o nome da variável para o parâmetro Credential (-Credential $Credential). Se não funcionar, será necessário usar o parâmetro UserPrincipalName.

Ligar ao PowerShell de Conformidade & de Segurança com um pedido de início de sessão interativo

  1. Os exemplos seguintes funcionam no Windows PowerShell 5.1 e PowerShell 7 para contas com ou sem MFA:

    • Este exemplo se conecta ao PowerShell de Segurança e Conformidade em uma organização do Microsoft 365 ou Microsoft 365 GCC:

      Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com
      
    • Este exemplo se conecta ao PowerShell de Segurança e Conformidade em uma organização 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 exemplo se conecta ao PowerShell de Segurança e Conformidade em uma organização do Microsoft 365 DoD:

      Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
      
    • Este exemplo se conecta ao PowerShell de Segurança e Conformidade em um Office 365 operado pela organização 21Vianet:

      Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/common
      
  2. Na janela de entrada exibida, insira sua senha e, em seguida, clique em Entrar.

    Insira sua senha na janela Entrar na sua conta.

    Observação

    No PowerShell 7, o início de sessão único (SSO) baseado no browser é utilizado por predefinição, pelo que o pedido de início de sessão é aberto no browser predefinido em vez de numa caixa de diálogo autónoma.

  3. Apenas para MFA: um código de verificação é gerado e fornecido com base na opção de resposta de verificação que está configurada para sua conta (por exemplo, uma mensagem de texto ou o aplicativo Microsoft Authenticator em seu dispositivo).

    Na janela de verificação exibida, digite o código de verificação e, em seguida, clique em Verificar.

    Insira seu código de verificação na janela Entrar na sua conta.

Ligar ao PowerShell de Conformidade do & de Segurança sem um pedido de início de sessão (scripts sem supervisão)

Para obter instruções completas, consulte Autenticação apenas de aplicações para scripts autónomos no PowerShell do Exchange Online e No PowerShell de Conformidade & de Segurança.

Ligar ao PowerShell de Conformidade do & de Segurança em organizações de clientes

Os procedimentos nesta secção requerem a versão 3.0.0 ou posterior do módulo.

No PowerShell de Conformidade do & de Segurança, tem de utilizar o AzureADAuthorizationEndpointUri com o parâmetro DelegatedOrganization .

Para obter mais informações sobre parceiros e organizações de clientes, veja os seguintes tópicos:

Este exemplo liga-se às organizações de clientes nos seguintes cenários:

  • Ligue-se a uma organização de cliente com uma conta CSP.

  • Ligue-se a uma organização de cliente com um GDAP.

  • Ligue-se a uma organização de cliente como um utilizador convidado.

    Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com -DelegatedOrganization adatum.onmicrosoft.com -AzureADAuthorizationEndpointUri https://login.microsoftonline.com/adatum.onmicrosoft.com
    

Passo 3: Desligar quando tiver terminado

Certifique-se de que desliga a sessão quando terminar. Se fechar a janela do PowerShell sem desligar a sessão, pode utilizar todas as sessões disponíveis para si e tem de esperar que as sessões expirem. Para desligar a sessão, execute o seguinte comando:

Disconnect-ExchangeOnline

Para desligar automaticamente sem um pedido de confirmação, execute o seguinte comando:

Disconnect-ExchangeOnline -Confirm:$false

Observação

O comando desligar provavelmente falhará se o caminho do perfil da conta que utilizou para ligar contiver carateres especiais do PowerShell (por exemplo, $). A solução é ligar com uma conta diferente que não tenha carateres especiais no caminho do perfil.

Como sabe que se ligou com êxito?

Os cmdlets do PowerShell de Segurança e Conformidade são importados para sua sessão local do Windows PowerShell e rastreados por uma barra de progresso. Se não receber erros, terá ligado com êxito. Um teste rápido é executar um cmdlet do PowerShell de segurança e conformidade, por exemplo, Get-RetentionCompliancePolicy, e ver os resultados.

Caso você receba erros, verifique os seguintes requisitos:

  • Um problema comum é uma senha incorreta. Execute as três etapas novamente e preste muita atenção ao nome de usuário e à senha que você usa.

  • A conta que utiliza para ligar tem de estar ativada para o PowerShell. Para obter mais informações, confira Habilitar ou desabilitar o acesso ao PowerShell do Exchange Online.

  • O tráfego da porta TCP 80 precisa estar aberto entre seu computador local e o Microsoft 365. Provavelmente ele está aberto, mas é algo a ser considerado caso a sua organização tenha uma política de acesso à Internet restritiva.

  • As ligações baseadas em REST ao PowerShell de Conformidade do & de Segurança requerem o módulo PowerShellGet e, por dependência, o módulo PackageManagement, pelo que receberá erros se tentar ligar sem ter os mesmos instalados. Por exemplo, poderá ver o seguinte erro:

    O termo "Update-ModuleManifest" não é reconhecido como o nome de um cmdlet, função, ficheiro de script ou programa operável. Verifique a ortografia do nome ou, se um caminho foi incluído, verifique se o caminho está correto e tente novamente.

    Para obter mais informações sobre os requisitos do módulo PowerShellGet e PackageManagement, veja PowerShellGet for REST-based connections in Windows (PowerShellGet para ligações baseadas em REST no Windows).

  • Talvez você não consiga se conectar se o endereço IP do cliente for alterado durante a solicitação de conexão. Isso pode acontecer se sua organização usar um pool de SNAT (conversão de endereços de rede de origem) contendo vários endereços IP. O erro de conexão parece com o seguinte:

    O pedido para a Shell Remota do Windows com o ID> do ShellId <falhou porque a shell não foi encontrada no servidor. As possíveis causas são: o ShellId especificado está incorreto ou o shell não existe mais no servidor. Forneça o ShellId correto ou crie um novo shell e repita a operação.

    Para corrigir o problema, use um pool de SNAT que contenha um único endereço IP ou force o uso de um endereço IP específico para conexões com o ponto de extremidade do PowerShell de Conformidade e Segurança.