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.”