Последний известный вход в систему на компьютере

Я использовал следующую команду для вывода последнего известного имени входа в список компьютеров, установленных для вывода из эксплуатации. Сценарий работает, но только на контроллере домена, на котором в данный момент выполнен вход. Как заставить его циклически проходить через все контроллеры домена в сети.

Get-Content C: \ noresponse.csv | Foreach-Object {Get-ADComputer $ _ -Properties LastLogonDate} | SortLastLogonDate | FT Name, LastLogonDate -Autosize | Out-File C: \ TempComputerLastLogonDa

2
задан 2 June 2017 в 13:22
2 ответа

Исходя из существующей PS, вы хотите, чтобы что-то помогло определить старые компьютеры в AD.

Вы можете запустить PS здесь :

# Gets time stamps for all computers in the domain that have NOT logged in since after specified date 
# Mod by Tilo 2013-08-27 
import-module activedirectory  
$domain = "domain.mydom.com"  
$DaysInactive = 90  
$time = (Get-Date).Adddays(-($DaysInactive)) 

# Get all AD computers with lastLogonTimestamp less than our time 
Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp | 

# Output hostname and lastLogonTimestamp into CSV 
select-object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} | export-csv OLD_Computer.csv -notypeinformation

Или мой личный давний фаворит от JoeWare:

http://www.joeware.net/freetools/tools/oldcmp/

2
ответ дан 3 December 2019 в 09:32

Вы захотите использовать свойство lastlogontimestamp, а не lastlogon.

LastLogonTimeStamp - это значение, которое реплицируется среди всех контроллеров домена, но это не точное значение. Его можно настраивать, но (насколько мне известно) по умолчанию репликация выполняется, если дата репликации превышает 14 дней.

Если вы ищете устаревшие учетные записи компьютеров (скажем, старше 60 дней), вы добавите 14 дней. на это.

3
ответ дан 3 December 2019 в 09:32

Теги

Похожие вопросы