域中有一堆Windows Server 2008 R2计算机。 它们被用作本地和远程访问的工作站。 什么是正确的方式来收集有关login用户的信息? 包含:
我想用这些信息编译一个HTML页面,所以编写一个脚本来完成这个工作非常好。
例如, PsLoggedOn实用程序(SysInternals)不提供关于状态(活动/断开连接)的信息。
远程桌面服务pipe理器是一个很棒的GUI工具,尤其是在将所有机器添加到组中时。 我需要通过控制台界面相同的信息。
你可以parsing来自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
以下通过“SESSIONNAME”查询RDP连接:
$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 :
我没有使用它(因为我没有任何R2terminal服务器),所以我可能是错的,但在PowerShell中的RDS提供程序应该给你你需要的一切。 如果你有兴趣,请看看这个 。
PDQ库存是一个(免费)工具,可以让您深入了解networking中的所有在线计算机。 也可以导出到Excel。
Name Online Scan Status O/SO/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