Habilitar ou desabilitar o acesso ao Exchange Online PowerShell

Exchange Online PowerShell é a interface administrativa que permite que os administradores gerenciem o Exchange Online parte de uma organização do Microsoft 365 da linha de comando (incluindo muitos recursos de segurança em Proteção do Exchange Online e Microsoft Defender para Office 365).

Por padrão, todas as contas no Microsoft 365 podem usar Exchange Online PowerShell. Esse acesso não oferece aos usuários recursos administrativos em uma organização. Eles ainda são limitados pelo RBAC (controle de acesso baseado em função) (por exemplo, eles podem configurar configurações em sua própria caixa de correio ou gerenciar grupos de distribuição que possuem).

Os administradores podem usar os procedimentos neste artigo para desabilitar ou habilitar a capacidade do usuário de se conectar ao Exchange Online PowerShell.

Do que você precisa saber para começar?

  • Tempo estimado para concluir cada procedimento: menos de 5 minutos

  • Os procedimentos neste artigo estão disponíveis apenas no Exchange Online PowerShell. Para se conectar ao PowerShell do Exchange Online, confira Conectar ao PowerShell do Exchange Online.

  • Você precisa receber permissões para fazer os procedimentos neste artigo. Você tem as seguintes opções:

    Importante

    Na pressa de desabilitar rapidamente e globalmente o acesso do PowerShell em sua organização, cuidado com comandos como Get-User | Set-User -RemotePowerShellEnabled $false sem considerar contas de administrador. Use os procedimentos neste artigo para remover seletivamente o acesso remoto do PowerShell ou preservar o acesso para aqueles que precisam dele usando a seguinte sintaxe no comando de remoção global: Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -RemotePowerShellEnabled $false.

    Se você acidentalmente se bloquear do acesso do PowerShell, crie uma nova conta de administrador no Centro de administração do Microsoft 365 e use essa conta para dar a si mesmo acesso ao PowerShell usando os procedimentos neste artigo.

  • Para obter informações detalhadas sobre a sintaxe do filtro OPATH no Exchange Online, consulte Informações adicionais de sintaxe OPATH.

Dica

Está com problemas? Peça ajuda nos fóruns do Exchange. Visite os fóruns em: Exchange Online ou Proteção do Exchange Online.

Habilitar ou desabilitar o acesso ao PowerShell remoto para um usuário

Este exemplo desabilita o acesso ao Exchange Online PowerShell para o usuário david@contoso.onmicrosoft.com.

Set-User -Identity david@contoso.onmicrosoft.com -RemotePowerShellEnabled $false

Este exemplo permite o acesso a Exchange Online PowerShell para o usuário chris@contoso.onmicrosoft.com.

Set-User -Identity chris@contoso.onmicrosoft.com -RemotePowerShellEnabled $true

Desabilitar o acesso ao PowerShell remoto para vários usuários

Para impedir o acesso ao PowerShell remoto para um grupo específico de usuários existentes, você tem as seguintes opções:

  • Filtrar usuários com base em um atributo existente: esse método pressupõe que todas as contas de usuário de destino compartilhem um atributo filtravel exclusivo. Alguns atributos, como Title, Department, informações de endereço e número de telefone, ficam visíveis apenas quando você usa o cmdlet Get-User. Outros atributos, como CustomAttribute1-15, ficam visíveis somente quando você usa o cmdlet Get-Mailbox.

  • Use uma lista de usuários específicos: depois de gerar a lista de usuários específicos, você pode usar essa lista para desabilitar o acesso a Exchange Online PowerShell.

Filtrar usuários com base em um atributo existente

Para desabilitar o acesso ao Exchange Online PowerShell para qualquer número de usuários com base em um atributo existente, use a seguinte sintaxe:

$<VariableName> = <Get-Mailbox | Get-User> -ResultSize unlimited -Filter <Filter>

$<VariableName> | foreach {Set-User -Identity $_.WindowsEmailAddress -RemotePowerShellEnabled $false}

Este exemplo remove o acesso ao PowerShell remoto para todos os usuários cujo atributo Title contém o valor "Sales Associate".

$DSA = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (Title -like 'Sales Associate*')"

$DSA | foreach {Set-User -Identity $_.WindowsEmailAddress -RemotePowerShellEnabled $false}

Usar uma lista de usuários específicos

Para desabilitar o acesso ao PowerShell remoto para uma lista de usuários específicos, use a sintaxe a seguir.

$<VariableName> = Get-Content <text file>

$<VariableName> | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}

O exemplo a seguir usa o arquivo de texto C:\My Documents\NoPowerShell.txt para identificar os usuários por suas contas. O arquivo de texto deve conter uma conta em cada linha da seguinte maneira:

akol@contoso.onmicrosoft.com
tjohnston@contoso.onmicrosoft.com
kakers@contoso.onmicrosoft.com

Depois de preencher o arquivo de texto com as contas de usuário que deseja atualizar, execute os seguintes comandos:

$NoPS = Get-Content "C:\My Documents\NoPowerShell.txt"

$NoPS | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}

Exibir o status de acesso do PowerShell Exchange Online para usuários

Para exibir o acesso do PowerShell status para um usuário específico, substitua <UserIdentity> pelo nome ou nome da entidade de usuário (UPN) do usuário e execute o seguinte comando:

Get-User -Identity "<UserIdentity>" | Format-List RemotePowerShellEnabled

Para exibir o status de acesso do PowerShell Exchange Online para todos os usuários, execute o seguinte comando:

Get-User -ResultSize unlimited | Format-Table -Auto Name,DisplayName,RemotePowerShellEnabled

Para exibir todos os usuários que não têm acesso ao Exchange Online PowerShell, execute o seguinte comando:

Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'

Para exibir todos os usuários que têm acesso ao Exchange Online PowerShell, execute o seguinte comando:

Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'