2013-09-10 46 views
0

嘗試通過vbscript將登錄用戶列出到工作組中的Windows終端服務器。將用戶登錄到終端服務器的vbscript列表

我有下面的但它似乎沒有返回登錄用戶?

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 
+0

當我測試本地交互式登錄('LogonType = 2')時已工作。你肯定有RDP用戶登錄到你運行這個腳本的主機上嗎? –

+0

是的 - 我有2個用戶登錄,它沒有找到任何。嘗試使用10和2. –

+0

你有沒有找到「沒有激活用戶」或者只是沒有列出任何會話?你有沒有嘗試列出所有登錄會話不分青紅皁白的登錄類型? –

回答

0

您必須以管理員身份運行它! 以管理員身份運行CMD並運行命令CSCRIPT

相關問題