2015-11-26 4 views
0

(Извините, если мой английский плохой, я французский парень).Powershell для запроса ActiveDirectory

Я пытаюсь автоматизировать некоторые задачи на своем AD, и я искал команды powershell, которые могли бы отображать пользователей, которые не подключались последние три месяца. Я пробовал использовать атрибут lastlogontimestamp, но я не могу заставить его работать. Вот что моя команда на самом деле выглядит следующим образом:

$date = new-object System.DateTime -ArgumentList @(2015,8,1,0,0,0) 
Get-ADUser -Filter { -not (LastLogonTimeStamp -le "$date") } 

Любые идеи?

+0

(Не беспокойтесь о вашем английском языке, что очень хорошо в любом случае). Пожалуйста, объясните в максимально возможной степени, что ваша попытка на самом деле делает и что вы ожидаете от нее. – vonPryz

+0

Я пытался определить учетные записи, которые я мог забыть отключить. – Djidane37

ответ

0

Атрибут lastLogonTimestamp хранится как 64-разрядное целое число, представляющее временную метку FILETIME.

Вы можете конвертировать DateTime объект в таком формате С ToFileTime() method.

Я хотел бы предложить, используя Get-Date cmdlet вместо New-Object System.DateTime

# Current time -3 months: 
$Threshold = (Get-Date).AddMonths(-3).ToFileTime() 

# Retrieve the users 
Get-ADUser -LDAPFilter "(&(lastlogontimestamp < $Threshold))" 
+0

Отлично работает! спасибо, это именно то, что я хотел. – Djidane37

Смежные вопросы