Active Directory Aktif Olmayan Hesabları Pasife Çekme/Silme

Aktif dizinde belli bir günden uzun süredir oturum açılmayan bilgisayarları silmek için aşağıdaki scriptten yararlanabilirsiniz.

Import-Module ActiveDirectory

# En son oturum açmadan beri geçen süreyi ayarlıyoruz.

$DaysInactive = 90
$InactiveDate = (Get-Date).Adddays(-($DaysInactive))

#——————————-
# PASİF BİLGİSAYARLARI BULMA
#——————————-
#90 gündür giriş yapılmamış bilgisayarlar için alttaki komut kullanılır. (Bu süreyi yukarıdaki DaysInactive kısmından değiştirebilirsiniz.)

$Computers = Get-ADComputer -Filter { LastLogonDate -lt $InactiveDate -and Enabled -eq $true } -Properties LastLogonDate | Select-Object Name, LastLogonDate, DistinguishedName

 

# Hiç giriş yapılmamış bilgisayarlar için aşağıdaki komut kullanılır.

$Computers = Get-ADComputer -Filter { LastLogonDate -notlike “*” -and Enabled -eq $true } -Properties LastLogonDate | Select-Object Name, LastLogonDate, DistinguishedName

# Raporu csv’ye yazdırma

$Computers | Export-Csv C:\PasifBilgisayarlar.csv -NoTypeInformation

#——————————-
# AKTİF OLMAYAN BİLGİSAYARLARA YAPILACAK İŞLEMLER
#——————————-
# Yukarıda raporladığımız bilgisayarlar için iki seçenek mevcut ya bilgisayarları pasife alacağız ya da sileceğiz. Hangi  işlemi yapacaksanız o komut parçasıyla devam edeceksiniz.

# Bilgisayarları Pasife Alma

ForEach ($Item in $Computers){
$DistName = $Item.DistinguishedName
Set-ADComputer -Identity $DistName -Enabled $false
Get-ADComputer -Filter { DistinguishedName -eq $DistName } | Select-Object Name, Enabled
}

# Bilgisayarları Silme

ForEach ($Item in $Computers){
Remove-ADComputer -Identity $Item.DistinguishedName -Confirm:$false
Write-Output “$($Item.Name) – Deleted”
}

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir