Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以下查询的wmi性能_C#_Performance_Wmi - Fatal编程技术网

C# 以下查询的wmi性能

C# 以下查询的wmi性能,c#,performance,wmi,C#,Performance,Wmi,我使用以下两个WMI查询: SELECT * FROM Win32_Group WHERE LocalAccount=true SELECT Domain,Name FROM Win32_UserAccount WHERE LocalAccount=true 第二个查询运行大约需要6秒(仅针对4个用户),而第一个查询运行22个组大约需要0.3秒。有人能告诉我为什么会有这样的绩效差距吗?还有其他写第二个查询的方法吗 编辑:我正在本地计算机上运行查询,因此不应出现连接。我假设第二个查询速度较慢,因

我使用以下两个WMI查询:

SELECT * FROM Win32_Group WHERE LocalAccount=true
SELECT Domain,Name FROM Win32_UserAccount WHERE LocalAccount=true
第二个查询运行大约需要6秒(仅针对4个用户),而第一个查询运行22个组大约需要0.3秒。有人能告诉我为什么会有这样的绩效差距吗?还有其他写第二个查询的方法吗


编辑:我正在本地计算机上运行查询,因此不应出现连接。

我假设第二个查询速度较慢,因为它首先必须检索所有域用户。如果您只对本地用户感兴趣,您可以尝试以下方法:


我假设第二个查询很慢,因为它首先必须检索所有域用户。如果您只对本地用户感兴趣,您可以尝试以下方法:


那么为什么第一个查询运行得这么快?两者都只检查本地帐户。@APORV020:我不确定,但我认为这与组传播到域网络主机的方式有关。我检查了您的查询,它们都有相同的时间(运气不好)。我还尝试了Win32_account,其中LocalAccount=true和sidType=1。那么为什么第一个查询运行得这么快?两者都只检查本地帐户。@apoorv020:我不确定,但我认为这与组传播到域网络主机的方式有关。我检查了您的查询,它们都有相同的时间(没有运气)。我还尝试了Win32_account,其中LocalAccount=true和sidType=1。
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());  
    }       
}