Меню Закрыть

Получение информации о времени последней регистрации пользователя в домене (PowerShell last logon)

Небольшое добавление к предыдущей статье о получении времени последней регистрации (логона) пользователя в домене. После выхода Windows Server 2008 R2 и соответственного модуля Active Directory в PowerShell 2.0, стало возможным использовать простой скрипт для получения информации со всех контроллеров домена о времени последней регистрации пользователя.

Сам скрипт:

Import-Module ActiveDirectory

$threashold = (Get-Date).AddMonths(-3)
$dcs = Get-ADDomainController -Filter {Name -like "*"}
  $time = 0
  foreach($dc in $dcs)
  {
    $hostname = $dc.HostName
 $filter = "*"
    $user = Get-ADUser -Filter {Name -like $filter} |
            Get-ADObject -Properties lastLogon, DisplayName
  foreach($ull in $user)
     {
  $time = $ull.LastLogon
  $dt = [DateTime]::FromFileTime($time)
  if($dt -lt $threashold)
        {
      Write-Host $ull.displayName "last logged on at:" $dt
     }
  }
  }

С данным настройками скрипт вывод список пользователей со всех контроллеров домена, которые последний раз заходили в домен более трех месяцев назад.

Еще раз обращаю внимание, что скрипт будет работать только в Windows Server 2008 R2 или Windows 7!

4 комментария

    • Kvazar

      В данном скрипте нигде, но можно добавить это поле, чтобы выводилось с какого компа последний раз пользователь заходил.

    • Иван

      Сохранить сам с крипт в файл с расширением PS1.
      В bat файл внести строку:
      Powershell.exe -executionpolicy remotesigned -File C:\SCRIPTFILE.ps1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *