Último login de computador conhecido

3

Eu tenho usado o seguinte comando para gerar o último login conhecido de uma lista de computadores configurados para o descomissionamento. O script funciona, mas apenas no DC atualmente conectado. Como posso obtê-lo para percorrer todos os DCs na rede.

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

    
por JJJJNR 01.06.2017 / 12:59

2 respostas

3

Com base no seu PS existente, você quer algo para ajudar a determinar computadores antigos no AD.

Você pode executar o PS aqui :

# 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

Ou meu favorito pessoal de longa data da JoeWare:

link

    
por 01.06.2017 / 14:28
4

Você vai querer usar a propriedade 'lastlogontimestamp' em vez de 'lastlogon'.

LastLogonTimeStamp é um valor que é replicado entre todos os DCs, mas não é um valor exato. É configurável, mas (por último eu sabia) o padrão era replicar se a data replicada fosse mais de 14 dias.

Se você estiver procurando por contas de máquina obsoletas (digamos que tenham mais de 60 dias), você terá 14 dias para isso.

    
por 04.06.2017 / 15:06