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?
Os requisitos para instalar e utilizar o módulo estão descritos em Instalar e manter o módulo do PowerShell do Exchange Online.
Observação
As ligações remotas do PowerShell são preteridas no PowerShell de Conformidade & de Segurança. Para obter mais informações, veja Descontinuação do Protocolo RPS (Remote PowerShell) no PowerShell de Conformidade do & de Segurança.
As ligações à API REST no módulo Exchange Online do PowerShell V3 requerem os módulos PowerShellGet e PackageManagement. Para obter mais informações, veja PowerShellGet para ligações baseadas em REST no Windows.
Depois de se conectar, os cmdlets e parâmetros aos quais você tem ou não acesso são controlados pelo controle de acesso baseado em função (RBAC). Para obter mais informações, veja Permissões no portal do Microsoft Defender e Permissões no portal de conformidade do Microsoft Purview.
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.
- ConnectionUri: Nenhum. O valor
- Microsoft 365 GCC High:
- ConnectionUri:
https://ps.compliance.protection.office365.us/powershell-liveid/
- AzureADAuthorizationEndpointUri:
https://login.microsoftonline.us/common
- ConnectionUri:
- Microsoft 365 DoD:
- ConnectionUri:
https://l5.ps.compliance.protection.office365.us/powershell-liveid/
- AzureADAuthorizationEndpointUri:
https://login.microsoftonline.us/common
- ConnectionUri:
- Office 365 operado pela 21Vianet:
- ConnectionUri:
https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
- AzureADAuthorizationEndpointUri:
https://login.chinacloudapi.cn/common
- ConnectionUri:
- Microsoft 365 ou Microsoft 365 GCC:
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
,WinHttpConfig
ouAutoDetect
. 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
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
Na janela de entrada exibida, insira sua senha e, em seguida, clique em Entrar.
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.
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.
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:
- O que é o programa Fornecedor de Soluções Cloud (CSP)?.
- Introdução aos privilégios de administrador delegado granulares (GDAP)
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.