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