查找登录到远程计算机的用户

时间:2015-12-28 20:27:57

标签: vbscript wmi

我有以下脚本。它应该找到当前登录到远程计算机的用户,但事实并非如此。我错过了什么?远程计算机是域的一部分。我会看到添加域名吗?怎么样?

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

Set colComputer = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem")

For Each objComputer in colComputer
    Wscript.Echo "Logged-on user: " & objComputer.UserName
Next

1 个答案:

答案 0 :(得分:2)

作为documentedUserName属性返回在控制台上登录的用户的名称:

  

<强>用户名
  [...]
  当前登录的用户的名称。此属性必须具有值。在终端服务会话中, UserName 返回登录到控制台的用户的名称,而不是在终端服务会话期间登录的用户。

如果您没有得到结果,您的用户很可能通过远程桌面登录。

让所有用户登录远程系统check the running Explorer processes for their owners

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

qry = "SELECT * FROM Win32_Process WHERE Name='explorer.exe'")
For Each p in objWMIService.ExecQuery(qry)
    p.GetOwner user, domain
    WScript.Echo "Logged-on user: " & domain & "\" & user
Next
相关问题