vbscript列表,将用户登录到终端服务器

问题描述 投票:0回答:1

尝试通过vbscript列出工作组中Windows终端服务器的登录用户。

我有以下内容,但似乎不返回已登录的用户?

strComputer = "."  

Set objWMI = GetObject("winmgmts:" _ 
              & "{impersonationLevel=impersonate}!\\" _ 
              & strComputer & "\root\cimv2") 

Set colSessions = objWMI.ExecQuery _ 
    ("Select * from Win32_LogonSession Where LogonType = 10") 

If colSessions.Count = 0 Then 
   Wscript.Echo "No interactive users found" 
Else 
   WScript.Echo "RDP Sessions:"
   For Each objSession in colSessions 

     Set colList = objWMI.ExecQuery("Associators of " _ 
         & "{Win32_LogonSession.LogonId=" & objSession.LogonId & "} " _ 
         & "Where AssocClass=Win32_LoggedOnUser Role=Dependent" ) 
     For Each objItem in colList 
       WScript.Echo "Username: " & objItem.Name & " FullName: " & objItem.FullName 
     Next 
   Next 
End If
vbscript
1个回答
0
投票

您必须以管理员身份运行它!以管理员身份运行CMD并运行命令CSCRIPT

© www.soinside.com 2019 - 2024. All rights reserved.