How To: Restaurar e eliminar permanentemente utilizadores com Graph Powershell

Publicado a 2/27/2025 por Knowledge Inside em How-to
image

No How To deste mês vamos falar duma variante do Powershell, o Graph Powershell, que permite utilizar a API Microsoft Graph através de comandos Powershell. Vamos utilizar esta ferramenta para realizar as ações de restaurar e eliminar permanentemente utilizadores do 365, a última das quais o portal de administração não permite.

Uma das ferramentas mais utilizadas pelos administradores de Microsoft 365 é o portal de administração localizado em https://admin.microsoft.com/

Nele temos acesso aos diferentes centros de administração dos serviços Microsoft como Exchange Online, Sharepoint Online, Teams, entre outros e podemos realizar as mais variadas operações de gestão de forma fácil e intuitiva utilizando os diferentes portais. Dito isso, há certas funcionalidades que não estão disponíveis no portal, e para isso temos de utilizar outra poderosa ferramenta da Microsoft, o Powershell. Sendo uma ferramenta de linha de comandos perde a facilidade de utilização do portal, mas tem acesso a muitas funcionalidades que o portal não permite.

Isto pode ser útil quando por alguma razão de conformidade precisamos de apagar permanentemente um utilizador (ao utilizar o portal o mesmo fica num estado de soft delete em que pode ser recuperado durante 30 dias), ou quando por exemplo necessitamos de reutilizar um dos seus atributos noutro utilizador.

Este How To assume que já têm o módulo de Graph Powershell instalado.

1. Abrir uma janela de Powershell em modo elevado e utilizar o seguinte cmdlet: Connect-MgGraph -Scopes "User.ReadWrite.All". Será pedido que efetuem autenticação com uma conta de administração, e posteriormente será pedido que deem consentimento às permissões que a app pede:

 

2. Após darem permissão, devem correr o cmdlet Get-MgDirectoryDeletedItemAsUser para listarem os utilizadores soft-deleted, ou seja, que foram eliminados há menos de 30 dias. No nosso caso temos 3 nesta situação:
 

 

3. Para restaurarmos um user, devemos utilizar o cmdlet Restore-MgDirectoryDeletedItem -DirectoryObjectId $Id, substituindo a variável $Id pelo Id do utilizador a restaurar:

 

4.Se corrermos novamente o comando para listar os utilizadores apagados podemos ver que o utilizador que restauramos (TesteNS) já não se encontra listado:

 

5. Se por outro lado quisermos eliminar permanentemente um utilizador, devemos utilizar o cmdlet Remove-MgDirectoryDeletedItem juntamente com o ID do utilizador. 

 

6. Não recebemos qualquer confirmação do powershell que o utilizador foi permanentemente eliminado, mas se listarmos novamente os utilizadores vemos que já não se encontra nos soft deleted users.

 

Comments