Partilhar via


Habilitar ou desabilitar o acesso ao Exchange Online PowerShell

O PowerShell do Exchange Online é a interface administrativa que permite aos administradores gerir a parte do Exchange Online de uma organização do Microsoft 365 a partir da linha de comandos (incluindo muitas funcionalidades de segurança no Exchange Online Protection e no Microsoft Defender para Office 365).

Por predefinição, todas as contas no Microsoft 365 têm permissão para utilizar o PowerShell do Exchange Online. Este acesso não dá aos utilizadores capacidades administrativas numa organização. Ainda estão limitados pelo controlo de acesso baseado em funções (RBAC) (por exemplo, podem configurar definições na sua própria caixa de correio ou gerir grupos de distribuição que possuem, mas não muito mais).

Os administradores podem utilizar os procedimentos neste artigo para desativar ou ativar a capacidade de um utilizador se ligar ao PowerShell do Exchange Online.

Do que você precisa saber para começar?

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

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

  • Tem de lhe ser atribuídas permissões antes de poder efetuar os procedimentos neste artigo. Você tem as seguintes opções:

    • RBAC do Exchange Online: associação nos grupos de funções Gestão da Organização ou Gestão de Destinatários .
    • Microsoft Entra RBAC: a associação nas funções administrador do Exchange ou Administrador* Global dá aos utilizadores as permissões e permissões necessárias para outras funcionalidades no Microsoft 365.

    Importante

    Com a pressa de desativar rapidamente e globalmente o acesso ao PowerShell na sua organização com base na cloud, tenha cuidado com comandos como, por Get-User | Set-User -EXOModuleEnabled $false exemplo, sem considerar contas de administrador. Utilize os procedimentos neste artigo para remover seletivamente o acesso ao PowerShell ou preservar o acesso para quem precisar dele através da 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 -EXOModuleEnabled $false.

    Se bloquear acidentalmente o acesso ao PowerShell, crie uma nova conta de administrador no centro de administração do Microsoft 365 e, em seguida, utilize essa conta para conceder acesso ao PowerShell através dos procedimentos neste artigo.

    * A Microsoft recomenda que utilize funções com menos permissões. A utilização de contas com permissões mais baixas ajuda a melhorar a segurança da sua organização. O Administrador Global é uma função altamente privilegiada que deve ser limitada a cenários de emergência quando não pode utilizar uma função existente.

  • Para obter informações detalhadas sobre a sintaxe do filtro OPATH no Exchange Online, consulte Informações adicionais sobre 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 desativa o acesso ao PowerShell do Exchange Online para o utilizador david@contoso.onmicrosoft.com.

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

Este exemplo permite o acesso ao PowerShell do Exchange Online para o utilizador chris@contoso.onmicrosoft.com.

Set-User -Identity chris@contoso.onmicrosoft.com -EXOModuleEnabled $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 utilizadores com base num atributo existente: este método pressupõe que todas as contas de utilizador de destino partilham um atributo filtráveis exclusivo. Alguns atributos, como Título, Departamento, informações de endereço e número de telefone, estão disponíveis apenas a partir do cmdlet Get-User . Outros atributos, como CustomAttribute1 a CustomAttribute15, só estão disponíveis no cmdlet Get-Mailbox .
  • Utilizar uma lista de utilizadores específicos: depois de gerar a lista de utilizadores específicos, pode utilizar essa lista para desativar o respetivo acesso ao PowerShell do Exchange Online.

Filtrar usuários com base em um atributo existente

Para desativar o acesso ao PowerShell do Exchange Online para qualquer número de utilizadores com base num atributo existente, utilize a seguinte sintaxe:

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

$<VariableName> | foreach {Set-User -Identity $_.WindowsEmailAddress -EXOModuleEnabled $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 -EXOModuleEnabled $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 $_ -EXOModuleEnabled $false}

O exemplo seguinte utiliza o ficheiro de texto C:\O meu Documents\NoPowerShell.txt para identificar os utilizadores pelas respetivas contas. O ficheiro de texto tem de conter uma conta em cada linha da seguinte forma:

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

Depois de preencher o ficheiro de texto com as contas de utilizador que pretende atualizar, execute os seguintes comandos:

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

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

Ver o estado de acesso do PowerShell do Exchange Online para utilizadores

Para ver o estado de acesso do PowerShell para um utilizador específico, substitua <UserIdentity> pelo nome ou nome principal de utilizador (UPN) do utilizador e execute o seguinte comando:

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

Para apresentar o estado de acesso do PowerShell do Exchange Online para todos os utilizadores, execute o seguinte comando:

Get-User -ResultSize unlimited | Format-Table -Auto DisplayName,EXOModuleEnabled

Para apresentar todos os utilizadores que não têm acesso ao PowerShell do Exchange Online, execute o seguinte comando:

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

Para apresentar todos os utilizadores que têm acesso ao PowerShell do Exchange Online, execute o seguinte comando:

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