Hallo,
ich habe folgendes Script um die Terminalsession von Terminalservern auszulesen.
Code
#include <array.au3>
local $aUSer[0]
$strComputer = "SERVERNAME"
$objWMI = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& $strComputer & "\root\cimv2")
$colSessions = $objWMI.ExecQuery _
("Select * from Win32_LogonSession Where LogonType = 10")
If $colSessions.Count = 0 Then
Else
For $objSession in $colSessions
$colList = $objWMI.ExecQuery("Associators of " _
& "{Win32_LogonSession.LogonId=" & $objSession.LogonId & "} " _
& "Where AssocClass=Win32_LoggedOnUser Role=Dependent" )
For $objItem in $colList
_ArrayAdd($aUSer,$objItem.Name)
Next
Next
EndIf
_Arraydisplay($aUSer)
Alles anzeigen
Das funktioniert auch soweit, nur leider dauert das ziemlich lange, da ich gerne die Session von ca 40 Terminalserver auslesen möchte.
Hat jemand eine Idee wie ich die Auswertung beschleunigen kann?
Gruß,
svart