Olá Você já sentiu a necessidade de organizar o seu active directory, sendo mais específico, procurar, desabilitar e mover os usuários inativos ou desligados da empresa ?
Pois bem abaixo apresentamos o script em powershell que faz justamente isso.
Ele procura os usuários inativos, e aqui você escolhe o intervalo, nós definimos como 100 dias de inatividade, sem seguida ele os desativa, prefiro desativar e não deletá-los, por questões de necessidades futuras, em seguida ele move os usuários para uma unidade organizacional chamada Inativos.
# Arquivos Contas inativas
# Definir variaveis
$Domain = "DC=contoso, DC=local"
# Dias inativos
$InactiveDays = 100
$InactiveDate = (Get-Date).AddDays(-$InactiveDays)
$DisabledUsers = Get-ADUser -Filter {LastLogonTimeStamp -lt $InactiveDate -and Enabled -eq $false} -Properties LastLogonTimeStamp | Select-Object Name, SamAccountName, DistinguishedName, LastLogonTimeStamp
# Imprima na tela os colaboradores desabilitados
$DisabledUsers | Format-Table
# Criar um arquivo .csv com os colaboadores desabilitados
$DisabledUsers | Export-Csv -Path "C:\temp\arquivo.csv" -NoTypeInformation
# Desabilitar usuarios
Get-ADUser -Filter {LastLogonTimeStamp -lt $InactiveDate} -Properties LastLogonTimeStamp | Disable-ADAccount
# Criar se não houver uma unidade organizaciona chamada "Inativos"
if (!(Get-ADOrganizationalUnit -Filter {Name -eq "Inativos"} -SearchBase "$Domain")) {
New-ADOrganizationalUnit -Name "Inativos" -Path $Domain
}
# Mover as contas desabilitadas para o Unidade Organizacional "Inativos"
$DisabledUsers | ForEach-Object {Move-ADObject $_.DistinguishedName -TargetPath "OU=Inativos,$Domain"}
Postado em Março 28, 2023