Active Directory: Apagar um utilizador usando o PowerShell

Neste tutorial, vamos ver como eliminar um utilizador de um diretório Active Directory no PowerShell.

Remove-ADUserÀ primeira vista, isto é bastante fácil utilizando o Cmdlet, mas vai ver que há várias formas de o fazer.

Como já deve ter percebido, para eliminar um utilizador, vamos utilizar o CmdletRemove-ADUsere o parâmetro-Identitypara indicar o utilizador a eliminar.

-Identity permitirá identificar o utilizador através de um dos seguintes identificadores:

  • sAMAccountName
  • objectSid
  • objectGUID
  • DN (Nome Distinto)

A eliminação de um utilizador requer confirmação; para evitar a confirmação, basta adicionar isto ao comando: -Confirm $True

Neste tutorial, vamos trabalhar (ou melhor, eliminar) o utilizador Pierre Kiroule.

Como pode ver, o sAMAccountName e o UserPrincipalName (UPN) são diferentes.

Os comandos a seguir devem ser adaptados ao seu ambiente.

Vamos lá, vamos iniciar a eliminação do utilizador. Aqui está o comando:

Remove-ADUser -Identity pierre

É bastante simples, não é?

Se quiserem criar um script, podem armazenar o utilizador numa variável:

$User = "pierre"
Remove-ADUser -Identity $User

O problema com o sAMAccountName é que este pode ser truncado se for demasiado longo… o que pode ser incómodo. Se quiser usar o UPN, que muitas vezes é idêntico ao endereço de e-mail, terá de proceder de forma diferente.

Primeiro, é necessário procurar o utilizador com o comandoGet-ADUsere concatená-lo com Remove-ADUser.

Eliminar um utilizador com o UserPrincipalName:

Get-ADUser -Filter {UserPrincipalName -eq "[email protected]"} | Remove-ADUser

Para criar o início de um script:

$UPN = "[email protected]"
Get-ADUser -Filter {UserPrincipalName -eq $UPN} | Remove-ADUser

Outro elemento a ter em conta, quando se pretende eliminar um objeto no Active Directory, é a proteção contra eliminações acidentais. Se esta estiver ativada, receberá uma mensagem de erro a indicar que não tem autorização.

Com o Powershell, vamos concatenar vários comandos para desativar a proteção e, em seguida, eliminar o utilizador.

Usando o sAMAccountName:

Get-ADUser pierre | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose

Usando o UserPrincipalName

Get-ADUser -Filter {UserPrincipalName -eq "[email protected]"} | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose

Agora já sabe como eliminar um utilizador doActive Directory com o PowerShell.

Para aprofundar, eis o início de um script:

<#
    Delete User From AD
#>
param(
    $User = ""
)

Import-Module ActiveDirectory


function ValidEmail { 
    param([string]$Email)

    try {
        $null = [mailaddress]$Email
        return $true
    }
    catch {
        return $false
    }
}

if( $User -eq ""){
    $User = Read-Host "User to delete ?"
}

$IsUPN = ValidEmail($User)

if($IsUPN){
    Get-ADUser -Filter {UserPrincipalName -eq $User} | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose
}else{
    Get-ADUser $User | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose
}
Romain Drouche
Romain Drouche
Arquiteto de Sistemas | MCSE: Infraestrutura Essencial
Especialista em infraestruturas de TI com mais de 15 anos de experiência na área. Atualmente, como Gestor de Projetos de Sistemas e Redes e especialista em Segurança de Sistemas de Informação (SSI), utilizo a minha expertise para garantir a fiabilidade e a segurança dos ambientes tecnológicos.

Deixe um comentário