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

  • Михаил
  • 12 мин. на прочтение
  • 115
  • 12 Dec 2014
  • 12 Dec 2014

Иногда требуется выяснить, кто из пользователей в данный момент работает на удаленном компьютере. Это очень просто сделать с помощью PowerShell и WMI.

При входе в систему пользователя запускается экземпляр процесса explorer.exe, поэтому узнав, кто является владельцем этого процесса мы выясним и то, кто в данный момент находится в системе. Для этого создаем скрипт следующего содержания:

$ComputerName = Read-Host ″Enter remote computer name″
 $credential = Get-Credential
Get-WMIObject Win32_Process -filter ‘name=″explorer.exe″’ -computername $computername -Credential $credential |
 ForEach-Object {
 $owner = $_.GetOwner()
 ‘{0}\{1}’ -f $owner.Domain, $owner.User} |
 Sort-Object |
 Get-Unique |
 ForEach-Object {
 $rv = 1 | Select-Object ComputerName, User
 $rv.ComputerName = $computername
 $rv.User = $_
 $rv
 }

Запускаем скрипт, указываем имя компьютера, учетные данные для подключения и получаем список пользователей, залогинившихся на этом компьютере.

 

Вот так просто, и не требуется никаких дополнительных оснасток.