【问题标题】:hyperv: How to get the controller number from WMI query?hyperv:如何从 WMI 查询中获取控制器编号?
【发布时间】:2016-01-22 12:37:58
【问题描述】:

当我们为虚拟机创建 SCSI 硬盘时,有没有办法获取 scsi 控制器索引/编号。 我知道我们可以创建 4 个虚拟 SCSI 控制器。我如何获得 SCSI 0、SCSI 1、SCSI 2、SCSI 3?

  1. Msvm_StorageAllocationSettingData 的选择查询输出给出了 instanceID。 “Microsoft:E84A07DF-EDA6-4996-A190-3E5FD724194D\5177DAB1-6F95-4618-AC73-85B66F37B4A8\0\0\L”这个字段怎么读?

提前致谢。

【问题讨论】:

    标签: wmi hyper-v


    【解决方案1】:

    InstanceID 是 Msvm_StorageAllocationSettingData 类中 Object 的实例。您可能需要 Parent 属性来获取 HardDiskDrive,并且再次需要该对象的 Parent 属性来获取 Controller。

    在 Powershell 中:

    $VM = gwmi -namespace root\virtualization\v2 -query "SELECT * FROM msvm_computersystem WHERE ElementName = 'vm-name'"
    $VSSD = $VM.getRelated("msvm_virtualsystemsettingdata")
    $DISKS = $VSSD.getRelated("Msvm_StorageAllocationSettingData")
    ForEach( $disk in DISKS ) {
        $HDD = [wmi]$disk.Parent
        $CTRL = [wmi]$hdd.Parent
        echo $CTRL
    }
    

    然而更重要的问题是当有多个 SCSI Controller 时如何找出 SCSI Controller 的数量?有谁知道吗?

    IDE 控制器很容易,因为它是在 IDE 控制器对象上隐式指定的,而不是在 SCSI 控制器上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多