PowerShell. Remove-ADUser

Продолжаем чистить авгиевы конюшни.

В компании, где пользователей чуть больше пятиста, в AD числилось более 2000 пользователей. Непорядок.

Соответственно, выгрузил всех пользователей в список, который отправил админиСраторам и HR (хер) менеджерам.

Первые указали системные и служебные учетные записи, которые не используются, вторые - уволившихся сотрудников.

Далее немного ручной работы админиСраторам - поставить статус disabled для учетных записей, которые указали в HR и ненужных сервисных учетных записей.

После великий и могучий PowerShell.

Выбираем пользователей со статусом Enabled: False, чтобы оценить масштаб трагедии:

Get-ADUser -Filter {Enabled -eq "False"} | Select Name, UserPrincipalName, distinguishedName |
Export-Csv c:\false_user.csv -NoTypeInformation -Encoding UTF8

Затем пользователей удаляем: 

Search-ADAccount -AccountDisabled | where {$_.ObjectClass -eq 'user'} | Remove-ADUser

К сожалению не было времени придумывать PS скрипт, чтобы не затрагивал системные учетные записи, типа Guest, которая также была со статусом Enabled: False - посему параметр  -Confirm:$false для удаления учетных записей неприменим.

После процедуры выводим на экран учетные записи со статусом disabled - это системные учетные записи: 

Get-ADUser -Filter {Enabled -eq "False"} | Select Name, UserPrincipalName, distinguishedName

Их будет совсем немного. После всего этого не мешает сделать еще одну проверку с помощью отдела кадров - все ли пользователи удалены, выгрузив список пользователей со статусом Enabled: True

Get-ADUser -Filter {Enabled -eq "True"} | Select Name, UserPrincipalName, distinguishedName |
Export-Csv c:\true_user.csv -NoTypeInformation -Encoding UTF8

Проверяем и радуемся порядку в AD.

Берегите себя.