Forums Neueste Beiträge
 

Remote Desktop Sessions erkennen

08/12/2009 - 19:29 von Fritz Hilgemann | Report spam
Hallo,

ich komme einfach nicht weiter bei dem Versuch, auf einem entfernten Server
zu ermitteln, welche Remote Desktop Verbindungen da momentan offen sind. Ich
habe zwei Varianten versucht:
1. NetEnumSession() aus der netapi32.dll gibt mir eine Reihe von Sessions
zurück, aber die Parameter der SESSION_INFO_502 Struktur sagen m.E. nichts
darüber aus, welche davon ein RDC Verbindung ist. Ich bin nicht einmal
sicher, ob RDC überhaupt damit zu ermitteln sind.
2. Mit WMI:
a) "select logonid, logontype from win32_logonsession"
b)"associators of {Win32_LogonSession.LogonId= ..."
Hier bekomme ich viele Sessions zurück, eine davon mit logontype = 10, das
wird sie wohl sein. Leider gibt mir die Liste der Associators keinen Account
oder Usernamen bekannt, sondern nur Namen von ausführbaren Dateien.

Wie komme ich weiter? Oder muß ich es ganz anders angehen?

Danke und Gruß,
Fritz
 

Lesen sie die antworten

#1 Frank Dzaebel
09/12/2009 - 07:47 | Warnen spam
Hallo Fritz,

[...] 2. Mit WMI:
a) "select logonid, logontype from win32_logonsession"
b)"associators of {Win32_LogonSession.LogonId= ..."
Hier bekomme ich viele Sessions zurück, eine davon mit logontype =
10, das wird sie wohl sein. Leider gibt mir die Liste der
Associators keinen Account oder Usernamen bekannt, sondern nur Namen
von ausführbaren Dateien.



Das ist aber IMHO schon ein möglicher Ansatz (ungeprüft).
Im folgenden Script z.B. über "LogonType = 10" abfragen und
dann [objItem.Name, objItem.FullName, objItem.Domain]
auf die Namen zugreifen. Analog:

[Decrypt my World : How to get the logged on user with WMI (VBScript)]
http://blogs.msdn.com/alejacma/arch...cript.aspx

Hier auch eine Möglichkeit, wie NetSessionEnum benutzt werden kann:

[PsLoggedOn]
http://technet.microsoft.com/de-de/...97545.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen