04 Haziran 2020
Active Directory Aktif Olmayan Hesabları Pasife Çekme/Silme
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.
PowerShell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
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" } |