为 Local ManagementScope 指定什么

What to specify for Local ManagementScope

我正在尝试(本地)连接以获取虚拟机及其属性的列表。我破解了一些我发现的代码,但我的代码无法连接,所以我只能假设连接字符串是错误的。

使用 Server 2012、Hyper-V

private void listVirtualMachines() {

    ManagementScope manScope = new ManagementScope(@"\LOCALHOST\root\cimv2");

        if (manScope.IsConnected) {

            ObjectQuery queryObj = new ObjectQuery("SELECT * FROM Msvm_ComputerSystem");

            // connect and set up our search
            ManagementObjectSearcher vmSearcher = new ManagementObjectSearcher(manScope, queryObj);

            ManagementObjectCollection vmCollection = vmSearcher.Get();

            // loop through the machines
            foreach (ManagementObject vm in vmCollection) {
                // display VM details
                LogString(vm["ElementName"].ToString());
                LogString(vm["EnabledState"].ToString());
                LogString(vm["Description"].ToString());
            }
        } else {
            //WE END UP HERE EVERY TIME!
            LogString("Cannot Connect to ManagementScope!");
        }

    } //funct

在 Server 2012 中,Msvm_ComputerSystem 位于 WMI 命名空间 root\virtualization\v2 中,因此代码应为:

ManagementScope manScope = new ManagementScope(@"\.\root\virtualization\v2");
manScope.Connect();