[英]wmi performance for following queries
我正在使用以下兩個WMI查詢:
SELECT * FROM Win32_Group WHERE LocalAccount=true
SELECT Domain,Name FROM Win32_UserAccount WHERE LocalAccount=true
第二個查詢大約需要6秒鍾才能運行(僅4個用戶),而第一個查詢大約需要0.3秒才能運行22個組。 有人可以告訴我為什么會有這樣的表現差距嗎? 還有編寫第二查詢的其他方法嗎?
編輯:我正在本地計算機上運行查詢,因此連接不應進入圖片。
我認為第二個查詢很慢,因為它首先必須檢索所有域用戶。 如果您仍然只對本地用戶感興趣,則可以嘗試此處介紹的方法或將查詢限制在本地計算機上 :
public static void GetUsers()
{
SelectQuery sQry = new SelectQuery(“Win32_UserAccount”,“Domain=’PCNAME’”);
try
{
ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(sQry);
Console.WriteLine(“User Accounts\n”);
foreach (ManagementObject mObject in mSearcher.Get())
{
Console.WriteLine(mObject[“Name”]);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.