В крупных организациях управление учетными записями пользователей в Active Directory может оказаться сложной задачей. Со временем сотрудники могут покинуть компанию или сменить роль, что приведет к неактивности учетных записей пользователей. Эти неактивные учетные записи представляют угрозу безопасности и могут потреблять ценные ресурсы, если ими не управлять должным образом. В этой статье блога мы рассмотрим различные методы с использованием PowerShell для идентификации неактивных учетных записей в Active Directory и управления ими.
Метод 1: LastLogonTimestamp
Один из способов определить, является ли учетная запись неактивной, — проверить атрибут LastLogonTimestamp. Этот атрибут хранит дату и время последнего успешного входа в систему для каждой учетной записи пользователя. Сравнивая это значение с указанным порогом, мы можем определить неактивные аккаунты.
$thresholdDate = (Get-Date).AddDays(-90) # Define the threshold date (e.g., 90 days ago)
$inactiveAccounts = Get-ADUser -Filter {LastLogonTimestamp -lt $thresholdDate} -Properties LastLogonTimestamp
Метод 2: LastLogonDate
Другой подход — использовать свойство LastLogonDateвместо LastLogonTimestamp. Атрибут LastLogonDateотражает дату последнего входа в систему для учетной записи пользователя, что может быть более точным в определенных сценариях.
$thresholdDate = (Get-Date).AddDays(-90) # Define the threshold date (e.g., 90 days ago)
$inactiveAccounts = Get-ADUser -Filter {LastLogonDate -lt $thresholdDate}
Метод 3: PasswordLastSet
Неактивные учетные записи также можно определить, проверив атрибут PasswordLastSet. Если пароль учетной записи не менялся в течение длительного периода, это может указывать на неактивность.
$thresholdDate = (Get-Date).AddDays(-180) # Define the threshold date (e.g., 180 days ago)
$inactiveAccounts = Get-ADUser -Filter {PasswordLastSet -lt $thresholdDate}
Метод 4: отключенные учетные записи
Неактивные учетные записи пользователей часто отключаются во избежание несанкционированного доступа. Вы можете получить отключенные аккаунты, используя свойство Enabled.
$inactiveAccounts = Get-ADUser -Filter {Enabled -eq $false}
Метод 5: неактивные компьютеры
Помимо учетных записей пользователей вы также можете определить неактивные учетные записи компьютеров. Атрибут LastLogonTimestampможно использовать для поиска неиспользуемых учетных записей компьютеров.
$thresholdDate = (Get-Date).AddDays(-365) # Define the threshold date (e.g., 1 year ago)
$inactiveComputers = Get-ADComputer -Filter {LastLogonTimestamp -lt $thresholdDate} -Properties LastLogonTimestamp
Управление неактивными учетными записями в Active Directory имеет решающее значение для обеспечения безопасности и оптимизации ресурсов. В этой статье мы рассмотрели различные методы PowerShell для идентификации неактивных учетных записей на основе таких атрибутов, как LastLogonTimestamp, LastLogonDate, PasswordLastSetи Enabled. Регулярно запуская эти сценарии, вы можете заранее управлять неактивными учетными записями и обеспечивать целостность среды Active Directory.