Get-SCVirtualDiskDrive

获取虚拟机模板或虚拟机上的虚拟磁盘驱动器。

语法

Get-SCVirtualDiskDrive
   [-VMMServer <ServerConnection>]
   [-All]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Get-SCVirtualDiskDrive
   [-VMMServer <ServerConnection>]
   -VM <VM>
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Get-SCVirtualDiskDrive
   [-VMMServer <ServerConnection>]
   -VMTemplate <Template>
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Get-SCVirtualDiskDrive
   [-VMMServer <ServerConnection>]
   [-ID] <Guid>
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]

说明

Get-SCVirtualDiskDrive cmdlet 获取 Virtual Machine Manager (VMM) 虚拟磁盘驱动器对象。 可以在存储在库中的虚拟机模板或部署在主机上或存储在库中的虚拟机上配置这些虚拟磁盘驱动器。

示例

示例 1:获取 VMM 环境中的所有虚拟磁盘驱动器

PS C:\> Get-SCVirtualDiskDrive -VMMServer "VMMServer01.Contoso.com" -All

此命令获取绑定到 VMMServer01 上注册到 VMM 的所有虚拟机的所有虚拟磁盘驱动器。 此命令显示有关每个虚拟磁盘驱动器的信息。

示例 2:获取虚拟机的虚拟磁盘驱动器

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | Where-Object {$_.Name -Eq "VM02"} 
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> $VirtDiskDrive

第一个命令使用 Get-SCVirtualMachine cmdlet 获取名为 VM02 的虚拟机对象。 该命令将该对象存储在$VM变量中。

第二个命令获取 VM02 上的所有虚拟磁盘驱动器对象,并将这些对象存储在$VirtDiskDrive中。 如果像此示例假定的那样,虚拟机包含多个虚拟磁盘驱动器,则每个虚拟磁盘驱动器都已经连接到虚拟硬盘或传递磁盘。

最后一个命令显示 VM02 上每个虚拟磁盘驱动器的属性。 此信息包括任何虚拟硬盘的名称以及主机上物理驱动器的路径,以及任何直通磁盘的路径。

示例 3:计算虚拟磁盘驱动器(传递磁盘除外)

PS C:\> $VirtDiskDrive = @(Get-SCVirtualDiskDrive -All | Where-Object {$_.BusType -Eq "IDE" -And $_.PassThroughDisk -Eq $Null -And $_.LUN -Eq 1 -And ($_.Bus -Eq 0 -Or $_.Bus -Eq 1)})
PS C:\> $VirtDiskDrive.Count

第一个命令获取虚拟磁盘驱动器对象,不包括连接到任一 IDE 通道的第二个槽的直通磁盘。 使用 @ 符号和括号可确保命令将结果存储在数组中,即使命令返回单个对象或$Null值也是如此。

第二个命令显示与筛选条件匹配的虚拟磁盘驱动器对象数。

示例 4:获取所有虚拟机模板的虚拟磁盘驱动器

PS C:\> $Templates = @(Get-SCVMTemplate)
PS C:\> $Templates | ForEach-Object {Get-SCVirtualDiskDrive -Template $_ | Where-Object {$_.BusType -Eq "IDE"}} | Format-List Name,BusType,Bus,LUN

第一个命令获取所有虚拟机模板,然后将这些对象存储在$Templates数组中。

第二个命令将存储在$Templates中的每个虚拟机模板对象传递给 ForEach-Object cmdlet。 该 cmdlet 获取每个模板的所有磁盘驱动器对象。 然后,该命令仅选择那些使用 IDE 总线类型的虚拟磁盘驱动器对象,并将这些对象传递给 Format-List cmdlet,该 cmdlet 显示每个虚拟磁盘驱动器对象的名称、总线类型、总线和 LUN。

参数

-All

指示此 cmdlet 检索独立于父对象的所有虚拟磁盘驱动器对象的完整列表。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ID

指定此 cmdlet 获取的虚拟磁盘驱动器的唯一 ID。

Type:Guid
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OnBehalfOfUser

指定用户名。 此 cmdlet 代表此参数指定的用户操作。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

指定用户角色。 若要获取用户角色,请使用 Get-SCUserRole cmdlet。 此 cmdlet 代表此参数指定的用户角色进行操作。

Type:UserRole
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-VM

指定此 cmdlet 从中获取虚拟磁盘驱动器的虚拟机对象。

Type:VM
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-VMTemplate

指定用于创建包含此 cmdlet 获取的虚拟磁盘驱动器的虚拟机的 VMM 模板对象。

Type:Template
Aliases:Template
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

输出

VirtualDiskDrive

此 cmdlet 返回 VirtualDiskDrive 对象。

备注

  • 此 cmdlet 需要 VMM 虚拟机模板对象或虚拟机对象,可以使用 Get-SCVMTemplate cmdlet 或 Get-SCVirtualMachine cmdlet 检索该对象。