Convert-SCVirtualDiskDrive

仮想ハード ディスクを動的から固定、固定から動的、VHD から VHDX に変換するか、パススルー ディスクを仮想ハード ディスクに変換します。

構文

Convert-SCVirtualDiskDrive
       [-Fixed]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-VHDFormatType <VHDFormatType>]
       [-JobGroup <Guid>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Convert-SCVirtualDiskDrive
       [-Dynamic]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-VHDFormatType <VHDFormatType>]
       [-JobGroup <Guid>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Convert-SCVirtualDiskDrive
       [-VHDX]
       [-DeleteSource]
       [-ValidateOnCompletion]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-JobGroup <Guid>]
       [-BlockSizeBytes <Int32>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]

説明

Convert-SCVirtualDiskDrive コマンドレットは、仮想ディスク ドライブ オブジェクトに接続されている既存の仮想ハード ディスクを動的から固定または固定から動的に変換するか、VHD から VHDX に変換するか、仮想ディスク ドライブ オブジェクトに接続されているパススルー ディスクを仮想ハード ディスクに変換します。

仮想ハード ディスクを 1 つの形式から他方の形式に変換するには、仮想ハード ディスクが構成されている仮想マシンが停止状態である必要があります。

Hyper-V ホストにデプロイされた仮想マシン上の Windows ベースの .vhd ファイルのディスク形式のみを変換できます。

ESX ホストにデプロイされている仮想マシン上の VMware ベースの .vmdk ファイル) は、形式が固定されています。 動的な形式に変換することはできません。

Citrix XenServer ホストにデプロイされている仮想マシン上の Citrix XenServer ベースの .vhd ファイルは、形式が固定されています。 動的な形式に変換することはできません。

Windows ベースの仮想ハード ディスク ファイルのディスク形式は、Hyper-V ホストにデプロイされている仮想マシン上の VHD から VHDX にのみ変換できます。 VHD を VHDX に変換するには、仮想ハード ディスクが構成されている仮想マシンが停止状態である必要があります。

パススルー ディスクとは、バーチャル ハード ディスクの代わりに、バーチャル マシンが使用できるホスト上の物理ハード ディスクのことです。 このコマンドレットは、仮想マシン上の仮想ディスク ドライブに接続されているパススルー ディスクを仮想ハード ディスクに変換します。 仮想マシンは Hyper-V ホスト上にあり、停止状態である必要があります。

例 1: 仮想マシン上のパススルー ディスクを仮想ハード ディスクに変換する

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> Convert-VirtualDiskDrive $VirtDiskDrive -Fixed -Path "C:\VirtualDiskDrives"

最初のコマンドは、 Get-SCVirtualMachine コマンドレットを使用して VM01 という名前の仮想マシン オブジェクトを取得します。 このコマンドは、そのオブジェクトを$VM変数に格納します。 この例では、VM01 が現在パススルー ディスクを使用するように構成されており、仮想マシンにパススルー ディスクが 1 つしかないことを前提としています。

2 番目のコマンドは、VM01 上の仮想ディスク ドライブ オブジェクトを取得し、そのオブジェクトを $VirtDiskDrive 変数に格納します。

最後のコマンドは、$VirtDiskDriveに格納されているパススルー ディスク ドライブを固定仮想ハード ディスクに変換します。 このコマンドは、仮想ハード ディスクを宛先フォルダー C:\VirtualDiskDrives に移動します。

例 2: 仮想マシン上の仮想ディスク ドライブ上の複数のパススルー ディスクの 1 つを仮想ハード ディスクに変換する

PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> $VirtDiskDrive[2] | Convert-SCVirtualDiskDrive -Dynamic -Path "D:\"

最初のコマンドは、VM02 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。 この例では、VM02 に 3 つの仮想ディスク ドライブ オブジェクトがあり、最初の仮想ディスク ドライブが仮想ハード ディスク ドライブにバインドされているのに対し、2 番目と 3 番目の仮想ディスク ドライブはどちらもパススルー ディスクにバインドされていることを前提としています。

2 番目のコマンドは、VM02 上のすべての仮想ディスク ドライブ オブジェクトを取得し、それらのオブジェクトを $VirtDiskDrive オブジェクト配列に格納します。

最後のコマンドは、$VirtDiskDrive アレイの 3 番目のメンバーである 3 番目のパススルー ディスクを、動的に拡張された仮想ハード ディスクに変換します。 コマンドは、この新しい仮想ハード ディスクを移動先フォルダー D: に移動します。

例 3: 仮想マシン上の仮想ディスク ドライブ オブジェクトにアタッチされた動的 VHD を固定形式に変換する

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM03")
PS C:\> Convert-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -Fixed

最初のコマンドは、仮想マシン VM03 に接続されている仮想ディスク ドライブ オブジェクトを取得し、その仮想ディスク ドライブ オブジェクトを $VirtDiskDrive 変数に格納します。 この例では、仮想マシンに仮想ディスク ドライブ オブジェクトが 1 つだけあり、仮想ディスク ドライブに接続されている仮想ハード ディスクが動的仮想ハード ディスクであることを前提としています。

2 番目のコマンドは、$VirtDiskDriveに格納されている仮想ハード ディスクを固定ディスクに変換します。

例 4: 仮想マシン上の動的 VHD を固定 VHDX に変換する

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM03")
PS C:\> Convert-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -VHDX

最初のコマンドは、仮想マシン VM03 に接続されている仮想ディスク ドライブ オブジェクトを取得し、そのオブジェクトを $VirtDiskDrive 変数に格納します。 この例では、仮想マシンに仮想ディスク ドライブ オブジェクトが 1 つだけあり、仮想ディスク ドライブに接続されている仮想ハード ディスクが動的仮想ハード ディスクであることを前提としています。 また、この例では、仮想マシンが停止状態であることを前提としています。

2 番目のコマンドは、$VirtDiskDriveに格納されている仮想ハード ディスクを VHDX ディスクに変換します。

例 5: 差分 VHD を差分 VHDX に変換する

PS C:\> $VirtDiskDrive = Get-VirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM04")
PS C:\> Convert-VirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -VHDX -BlockSizeBytes 1MB -DeleteSource -ValidateOnCompletion

最初のコマンドは、仮想マシン VM04 に接続されている仮想ディスク ドライブ オブジェクトを取得し、そのオブジェクトを $VirtDiskDrive 変数に格納します。 この例では、仮想マシンに仮想ディスク ドライブ オブジェクトが 1 つだけあり、仮想ディスク ドライブに接続されている仮想ハード ディスクが動的仮想ハード ディスクであることを前提としています。 また、この例では、仮想マシンが停止状態であることを前提としています。

2 番目のコマンドは、$VirtDiskDriveに格納されている差分仮想ハード ディスクを差分 VHDX ディスクに変換します。 このコマンドは、ソース ディスクを削除します。

パラメーター

-BlockSizeBytes

仮想ハード ディスクのブロック サイズをバイト単位で指定します。

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

-DeleteSource

変換が成功した後、このコマンドレットによってソース仮想ハード ディスクが削除されることを示します。

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

-Dynamic

仮想ハード ディスクを動的に拡張できるように指定します。

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

-FileName

仮想マシンへの追加時に仮想ハード ディスク ファイルの名前を変更するために使用するファイル名を指定します。

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

-Fixed

仮想ハード ディスクのサイズが固定されていることを示します。 仮想ハード ディスクの容量が固定であることを指定します。

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

-JobGroup

同じジョブ グループ識別子を含む最後のコマンドが実行される直前にセットとして実行される一連のコマンドの識別子を指定します。

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

-JobVariable

ジョブの進行状況を追跡して格納する変数を指定します。

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

-Path

仮想ディスク ドライブ オブジェクトまたは SCSI バス上の仮想ディスク ドライブ オブジェクトの論理ユニット番号 (LUN) を指定します。

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

-PROTipID

このアクションをトリガーしたパフォーマンスとリソースの最適化のヒント (PRO ヒント) の ID を指定します。 このパラメーターを使用すると、PRO のヒントを監査できます。

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

-RunAsynchronously

コントロールがコマンド シェルにすぐに戻るように、ジョブが非同期的に実行されることを示します。

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

-ValidateOnCompletion

このコマンドレットは、変換が成功した後、変換された仮想ハード ディスクを検証することを示します。

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

-VHDFormatType

ハード ディスク形式の種類を指定します。 有効な値は次のとおりです。

  • VHD
  • VMDK
  • VHDX
Type:VHDFormatType
Accepted values:VHD, VMDK, VHDX, VHDS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VHDX

仮想ハード ディスクの種類が VHDX であることを示します。

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

-VirtualDiskDrive

仮想ディスク ドライブ オブジェクトを指定します。 仮想ハード ディスクまたはパススルー ディスクを仮想ディスク ドライブ オブジェクトに接続できます。

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

出力

VirtualDiskDrive

このコマンドレットは 、VirtualDiskDrive オブジェクトを返します。