Найти неактивных пользователей в группе активных каталогов? - PullRequest
1 голос
/ 17 марта 2020

Я хочу найти неактивных пользователей в группе AD, которая не использовала ни один из серверов с прошлого года. Я не хочу, чтобы найти неактивных пользователей для всей AD только определенную c группу. Любая команда PowerShell, которая может сделать это?

Я пытался:

Get-AdGroupMember -identity “Groupname” –AccountInactive -DateTime ‘1/12020’ –ResultPageSize 2000 –ResultSetSize $null | 
?{$_.Enabled –eq $True} | select name | 
Export-CSV -path 

, и я также пробовал следующее:

Get-AdGroupMember -identity “Groupname” | select name, lastlogon 

В первом случае, это дает мне ошибка, которая не распознает параметры AccountInnactive и Datetime, а со второй командой таблица lastlogon пуста

1 Ответ

2 голосов
/ 18 марта 2020
$DaysInactive = 90  
$time = Get-Date 
Get-ADGroupMember "*GroupName*" -Recursive | get-aduser -Properties lastlogon | 
where {[DateTime]::FromFileTime($_.LastLogon) -lt ($time).Adddays(-($DaysInactive)) -and $_.enabled -eq $true } | 
select name,@{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}

В приведенном выше примере мы отправляем результаты от Get-ADGroupMember до get-aduser, явно запрашивая сведения о последнем логике (с -properties lastlogon), поскольку это не одно из свойств по умолчанию, которое командлет отображает для этого атрибута. не имеют значения без него.

Мы еще больше сузим наши результаты, передав результаты из команд get-aduser в where-object, применяя наши сравнения дат. Для сравнения даты мы сначала преобразовываем значение lastlogon в [DateTime] [DateTime]::FromFileTime($_.LastLogon) того же типа, который используется Get-Date, что позволяет нам сравнивать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...