共用方式為


Get-SCVirtualDiskDrive

取得虛擬機器範本或虛擬機器上的虛擬磁片磁碟機。

Syntax

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>]

Description

Get-SCVirtualDiskDrive Cmdlet 會取得 Virtual Machine Manager (VMM) 虛擬磁片磁碟機物件。 這些虛擬磁片磁碟機可以設定在儲存在程式庫中的虛擬機器範本上,或部署在主機上或儲存在程式庫中的虛擬機器上。

範例

範例 1:取得 VMM 環境中的所有虛擬磁片磁碟機

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

此命令會取得所有已系結至 VMM 上 VMM 之所有虛擬機器的虛擬磁片磁碟機Server01。 此命令會顯示每個虛擬磁片磁碟機的相關資訊。

範例 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,以顯示每個虛擬磁片磁碟機物件的名稱、匯流排類型、匯流排和 LUN。

參數

-All

指出這個 Cmdlet 會擷取與父物件無關的所有虛擬磁片磁碟機物件完整清單。

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

-ID

指定這個 Cmdlet 取得之虛擬磁片磁碟機的唯一識別碼。

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

-OnBehalfOfUser

指定使用者名稱。 此 Cmdlet 代表此參數指定的使用者運作。

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

-OnBehalfOfUserRole

指定使用者角色。 若要取得使用者角色,請使用 Get-SCUserRole Cmdlet。 此 Cmdlet 代表此參數所指定的使用者角色運作。

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

-VM

指定此 Cmdlet 從中取得虛擬磁片磁碟機的虛擬機器物件。

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

-VMMServer

指定 VMM 伺服器物件。

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

-VMTemplate

指定 VMM 範本物件,用來建立包含此 Cmdlet 所取得之虛擬磁片磁碟機的虛擬機器。

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

輸出

VirtualDiskDrive

此 Cmdlet 會傳回 VirtualDiskDrive 物件。

備註

  • 此 Cmdlet 需要 VMM 虛擬機器範本物件或虛擬機器物件,您可以使用 Get-SCVMTemplate Cmdlet 或 Get-SCVirtualMachine Cmdlet 來擷取。