Última hora de logon de todos os usuários - servidor RDP não em um domínio

1

Estou tentando obter uma lista de "horário do último logon" de "todos os usuários" no Windows Server 2012, mas atualmente só sei como listar um único login de usuário, que é:

net user username | findstr /B /C:"Last logon"

Alguma idéia?

* P.S. Essa finalidade apenas dos servidores é hospedar as conexões RDP; não vinculado a um domínio / AD.

    
por 16o1denRatio 13.07.2016 / 20:25

3 respostas

3

Para usuários locais , você pode usar o Powershell com ADSI da seguinte forma.

$comp=[adsi]"WinNT://$($env:ComputerName)"
$users = $comp.Children | ?{ $_.SchemaClassName -eq 'User' }
$users | select @{L="Name";E={$_.psbase.Properties.Name.Value}},@{L="LastLogin";E={$_.psbase.Properties.LastLogin.Value}}
    
por 13.07.2016 / 20:46
1

Se você estiver em um domínio, crie um script de powershell como esse;

Import-Module ActiveDirectory

function Get-ADUsersLastLogon()
{
  $dcs = Get-ADDomainController -Filter {Name -like "*"}
  $users = Get-ADUser -Filter *
  $time = 0
  $exportFilePath = "c:\lastLogon.csv"
  $columns = "name,username,datetime"

  Out-File -filepath $exportFilePath -force -InputObject $columns

  foreach($user in $users)
  {
    foreach($dc in $dcs)
    { 
      $hostname = $dc.HostName
      $currentUser = Get-ADUser $user.SamAccountName | Get-ADObject -Server $hostname -Properties lastLogon

      if($currentUser.LastLogon -gt $time) 
      {
        $time = $currentUser.LastLogon
      }
    }

    $dt = [DateTime]::FromFileTime($time)
    $row = $user.Name+","+$user.SamAccountName+","+$dt

    Out-File -filepath $exportFilePath -append -noclobber -InputObject $row

    $time = 0
  }
}

Get-ADUsersLastLogon

Extraído de

    
por 13.07.2016 / 20:43
1

Eu encontrei um problema parecido há um tempo atrás. Este foi o código que produziu os resultados que eu precisava. Funciona mesmo para contas locais.

$adsi = [ADSI]"WinNT://$env:COMPUTERNAME" $adsi.Children | where {$_.SchemaClassName -eq 'user'} | ft name,lastlogin

Parabéns a Anthony Howell em esta discussão .

    
por 13.07.2016 / 22:20