Script per individuare, spostare e disabilitare oggetti Computer più vecchi di 90 giorni

Modificare l’unità organizzativa prima di eseguire lo script, e regolare la data di ultimo login a seconda delle esigenze.

Eseguire lo script come amministratore


Import-Module ActiveDirectory

# Imposta le variabili
$inactiveDays = 90
$targetOU = “OU=Computer Disabilitati,DC=dominio,DC=com”

# Ottieni la data di riferimento per l’inattività
$inactiveDate = (Get-Date).AddDays(-$inactiveDays)

# Ottieni tutti i computer attivi su Active Directory
$activeComputers = Get-ADComputer -Filter {Enabled -eq $true} -Properties LastLogonDate

# Scansiona i computer attivi per individuare quelli inattivi
foreach ($computer in $activeComputers) {
$lastLogonDate = $computer.LastLogonDate

# Verifica se il computer è inattivo
if ($lastLogonDate -lt $inactiveDate) {
# Disabilita il computer
Disable-ADAccount -Identity $computer

# Sposta il computer nell’unità organizzativa specificata
Move-ADObject -Identity $computer -TargetPath $targetOU

Write-Host “Il computer $($computer.Name) con Last Logon $lastLogonDate è stato disabilitato e spostato nell’OU $targetOU.”
}
}

Script per individuare, spostare e disabilitare oggetti Utente più vecchi di 90 giorni

Modificare l’unità organizzativa prima di eseguire lo script, e regolare la data di ultimo login a seconda delle esigenze.

Eseguire lo script come amministratore

# Imposta il percorso dell’unità organizzativa “Disabilitati” (aggiorna con il percorso corretto)
$disabilitatiOU = “OU=Disabilitati,DC=esempio,DC=com”

# Ottieni la data odierna meno 90 giorni
$dataLimite = (Get-Date).AddDays(-90)

# Filtra e individua gli utenti con data di ultimo accesso più vecchia di 90 giorni
$utentiDaDisabilitare = Get-ADUser -Filter {Enabled -eq $true -and LastLogonDate -lt $dataLimite} -Properties LastLogonDate

# Sposta gli utenti nell’unità organizzativa “Disabilitati” e disabilita gli account
foreach ($utente in $utentiDaDisabilitare) {
Write-Host “Disabilitazione dell’utente: $($utente.SamAccountName)”

# Disabilita l’account dell’utente
Disable-ADAccount -Identity $utente

# Sposta l’utente nell’unità organizzativa “Disabilitati”
Move-ADObject -Identity $utente.DistinguishedName -TargetPath $disabilitatiOU
}

Write-Host “Processo completato.”

Leave A Comment