[C# - .Net 2.0] WMI Sessions von RDP Clients



  • Servus,

    ich stehe gerade vor einem Problem. Ich habe ein wenig herumgebastelt und versuche von einem Server die angemeldeten RDP Clients auflisten zu lassen. Bis jetzt habe ich es aber nur gepackt die lokalen LogonSessions mit Usernamen zu ermitteln:

    private void GetSessions()
    {
        ConnectionOptions wmiConnectionOptions = new ConnectionOptions();
        wmiConnectionOptions.Impersonation = ImpersonationLevel.Impersonate;
        wmiConnectionOptions.Authentication = AuthenticationLevel.Packet;
    
        string server = "xxxxxxxxxxxx";
    
        ManagementScope wmiScope = new ManagementScope(@"\\" + server + @"\root\cimv2", wmiConnectionOptions);
        wmiScope.Connect();
    
        ObjectQuery oq = new ObjectQuery("Select * from Win32_LogonSession Where LogonType = 10");
        ManagementObjectSearcher query = new ManagementObjectSearcher(wmiScope, oq);
        ManagementObjectCollection queryCollection = query.Get();
    
        ObjectQuery associator = null;
        ManagementObjectSearcher associatorQuery = null;
        ManagementObjectCollection associatorCollection = null;
        foreach ( ManagementObject obj in queryCollection )
        {
            if ( obj["LogonId"] != null )
            {
                associator = new ObjectQuery(
                    string.Format("Associators of {{Win32_LogonSession.LogonId={0}}} Where AssocClass=Win32_LoggedOnUser Role=Dependent", 
                    obj["LogonId"].ToString()
                    ));
    
                associatorQuery = new ManagementObjectSearcher(wmiScope, associator);
                associatorCollection = associatorQuery.Get();
    
                foreach ( ManagementObject obj2 in associatorCollection )
                {
                    if ( obj2["Name"] != null )
                    {
                        Trace.WriteLine(obj2["Name"].ToString());
                    }
                }
            }
        }
    }
    

    Alles schön und gut... Aber wie komme ich an die eigentliche IP Adresse des Users der sich mit seinem Account, per RemoteDesktop an dem Server, angemeldet hat?

    Hat einer eine Idee?

    gruß
    Hellsgore


Anmelden zum Antworten