Common utilities for the virtualization samples (V2) ИспользуяНайти конкретный контроллер SCSI с WMI Query для Msvm_ResourceAllocationSettingData
Я создал класс, который запрашивает Msvm_VirtualSystemSettingData -
public static ManagementObject GetVirtualMachineSettings(ManagementObject virtualMachine)
{
using (ManagementObjectCollection settingsCollection =
virtualMachine.GetRelated("Msvm_VirtualSystemSettingData", "Msvm_SettingsDefineState",
null, null, null, null, false, null))
{
ManagementObject virtualMachineSettings =
GetFirstObjectFromCollection(settingsCollection);
return virtualMachineSettings;
}
}
В Main, я используя класс следующим образом -
ManagementObject vmSettings = GetVirtualMachineSettings(vm);
ManagementObjectCollection scsiController = vmSettings.GetRelated("Msvm_ResourceAllocationSettingData");
foreach (ManagementObject controller in scsiController)
{
if (controller["ResourceType"].ToString() == "6")
{
Console.WriteLine("\nCaption: {0}\nDescription: {1}\nInstance ID: {2}\nElementName: {3}\nResource Type: {4}\nResource SubType: {5}\n",
controller["Caption"].ToString(),
controller["Description"].ToString(),
controller["InstanceID"].ToString(),
controller["ElementName"].ToString(),
controller["ResourceType"].ToString(),
controller["ResourceSubType"].ToString());
}
}
Как именно я вижу, какой SCSI 0, SCSI 1, SCSI 2, SCSI 3? Я знаю, что у «HyperV: Synthetic Scsi Device» все есть идентификатор экземпляра, но я имею в виду, как Hyper-V переводит каждый контроллер SCSI на 0, 1, 2 и 3?