2017-05-15 10 views
1

ステータスが「タスクマネージャ」のユーザーを一覧表示するにはどうすればよいですか?タスクマネージャでリストのユーザーを取得する方法

私はあなたがユーザーの一覧を取得するには、このコードを試すことができ、ドメインユーザー

var usersSearcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_UserAccount"); 
var users = usersSearcher.Get(); 
+0

[ヘルプはここにありますか?](http://stackoverflow.com/questions/132620/how-do-you-retrieve-a-list-of-logged-in-connected-users-in -ネット) –

答えて

0

のリストを取得する唯一の方法が見つかりました:

var usersSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_UserAccount"); 
var managementObjects = usersSearcher.Get(); 

List<string> result = new List<string>(); 

foreach (ManagementObject item in managementObjects) 
{ 
    foreach (var pr in item.Properties) 
    { 
     if (pr.Name == "Caption") 
     { 
      result.Add(pr.Value?.ToString()); 
     } 
    } 
} 

var users = result.Distinct().ToList(); 

また、あなたはこの試みることがあります。

var usersSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Process"); 
var managementObjects = usersSearcher.Get(); 
List<string> allUsers = new List<string>(); 

foreach (ManagementObject obj in managementObjects) 
{ 
    string[] argList = new string[] { string.Empty, string.Empty }; 
    int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList)); 
    if (returnVal == 0) 
    { 
     // return DOMAIN\user 
     allUsers.Add(argList[1] + "\\" + argList[0]); 
    } 
} 

var result = allUsers.Distinct().ToList(); 
関連する問題