В домене есть несколько компьютеров с Windows Server 2008 R2. Они используются как рабочие станции как для локального, так и для удаленного доступа. Как правильно собирать информацию о вошедших в систему пользователях? Включая:
Я хотел бы скомпилировать HTML-страницу с информацией, поэтому было бы здорово разработать сценарий для выполнения этой работы.
Например, PsLoggedOn
Утилита (SysInternals) не дает информации о состоянии (Активно / Отключено).
Диспетчер служб удаленных рабочих столов - отличный инструмент с графическим интерфейсом, особенно при добавлении всех машин в группу. Мне нужна та же информация через консольный интерфейс.
Вы можете просто проанализировать данные из Qwinsta. Вывод Qwinsta обычно выглядит примерно так:
PS C:\> qwinsta
SESSIONNAME USERNAME ID STATE TYPE DEVICE
services 0 Disc
console 1 Conn
>rdp-tcp#0 administrator 2 Active rdpwd
rdp-tcp 65536 Listen
Следующие запросы для RDP-подключений по "SESSIONNAME":
$sessionInfo = qwinsta | foreach { (($_.trim() -replace "\s+",","))} | ConvertFrom-Csv
$rdpSessions = $sessionInfo | where {$_.SESSIONNAME -like ">rdp-tcp*"}
$rdpSessions
Вы получите результат, аналогичный приведенному ниже:
PS C:\> $rdpSessions
SESSIONNAME : >rdp-tcp#0
USERNAME : administrator
ID : 2
STATE : Active
TYPE : rdpwd
DEVICE :
PDQ Inventory - это (бесплатный) инструмент, который дает вам представление обо всех онлайн-компьютерах в вашей сети. Также возможен экспорт в Excel.
Name Online Scan Status O/S O/S Version O/S Service Pack Uptime Current User Successful Scan Date
PC005 Yes 8.1 6.3.9600 0 22 minutes BUGGEGRP\USER01 (locked) 26/04/2016 12:34
Я не работал с ним (поскольку у меня нет терминальных серверов R2), поэтому я могу ошибаться, но поставщик RDS в Powershell должен предоставить вам все, что вам нужно. Взгляни на этот если тебе интересно.