Thursday, October 15, 2015

Get currently logged in user with WMI and .NET

     public List<string> WMIGetLoggedOnUser(string pcname)  
     {  
       string query = "select UserName from Win32_ComputerSystem";  
       pcname = CleanPCName(pcname);  
       StringBuilder queryResult = new StringBuilder();  
       List<string> resultList = new List<string>();  
       try  
       {  
         ManagementScope scope = new ManagementScope(backslashes + pcname + @"\root\cimv2");  
         scope.Connect();  
         ObjectQuery obquery = new ObjectQuery(query);  
         ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, obquery);  
         foreach (ManagementObject obj in searcher.Get())  
         {  
           try  
           {  
             resultList.Add(obj["UserName"].ToString());  
           }  
           catch  
           {  
             resultList.Add("Unknown");  
           }  
         }  
       }  
       catch (Exception e)  
       {  
         MessageBox.Show(e.Message);  
       }  
       resultList.Sort();  
       return resultList;  
     }  

No comments:

Post a Comment