次の方法で共有


Remove-SCVirtualDiskDrive

仮想マシンまたは仮想マシン テンプレートから仮想ディスク ドライブを削除します。

構文

Remove-SCVirtualDiskDrive
      [-VirtualDiskDrive] <VirtualDiskDrive>
      [-SkipDeleteVHD]
      [-JobGroup <Guid>]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

説明

Remove-SCVirtualDiskDrive コマンドレットは、仮想マシンまたは仮想マシン マネージャー (VMM) 環境の仮想マシン テンプレートから仮想ディスク ドライブ オブジェクトを削除します。

例 1: 仮想マシンから仮想ディスク ドライブを削除する

PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.VMHost.Name -Eq "VMHost01.Contoso.com" -And $_.Name -Eq "VM01" }
PS C:\> $VirtDiskDrive = @(Get-SCVirtualDiskDrive -VM $VM)
PS C:\> If($VirtDiskDrive.Count -Gt 1){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive[1]}

最初のコマンドは、 Get-SCVirtualMachine コマンドレットを使用して VMHost01 にデプロイされた VM01 という名前の仮想マシン オブジェクトを取得します。 このコマンドは、そのオブジェクトを$VM変数に格納します。

2 番目のコマンドは、VM01 上のすべての仮想ディスク ドライブ オブジェクトを取得し、取得したオブジェクトを$VirtDiskDriveに格納します。 @ 記号とかっこを使用すると、コマンドから単一のオブジェクトまたは$Null値が返された場合でも、結果が配列に格納されます。

最後のコマンドは、仮想マシンに関連付けられている仮想ディスク ドライブの数を返し、複数の仮想ディスク ドライブが存在する場合は、[1] で指定された 2 つ目の仮想ディスク ドライブを仮想マシンから削除します。

例 2: 仮想マシンに接続されているすべてのパススルー ディスクを削除する

PS C:\> $VM = Get-SCVirtualMachine | Where-Object {$_.Name -Eq "VM02"}
PS C:\> $VirtDiskDrives = @(Get-SCVirtualDiskDrive -VM $VM | Where-Object {$_.IsVHD -Eq $False})
PS C:\> If($VirtDiskDrives.Count -Gt 0){ForEach($VirtDiskDrive in $VirtDiskDrives){Remove-SCVirtualDiskDrive -Force -VirtualDiskDrive $VirtDiskDrive}}

最初のコマンドは、VM02 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。

2 番目のコマンドは、仮想ハード ディスクではない VM02 に接続されているすべての仮想ディスク ドライブ オブジェクトを取得します。 このコマンドは、パススルー ディスクを表すオブジェクトのみを取得します。 このコマンドは、パススルー ディスク オブジェクトを $VDDs オブジェクト配列に格納します。

最後のコマンドでは、 If ステートメントを使用して、少なくとも 1 つのパススルー仮想ディスク ドライブが存在するかどうかを判断します。 結果が 1 つ以上の場合、コマンドは ForEach ステートメントを使用して、オブジェクト配列から各仮想ディスク ドライブを削除します。 詳細については、型 Get-Help about_IfGet-Help about_Foreach.

最後のコマンドでは 、Force パラメーターを指定します。 そのため、他の VMM オブジェクトがその仮想ディスク ドライブに依存している場合でも、コマンドは仮想マシンから各仮想ディスク ドライブを削除します。

例 3: 名前で仮想ディスク ドライブを削除する

PS C:\> $VM = @(Get-SCVirtualMachine | Where-Object {$_.Name -Match "WebSrvLOB"})
PS C:\> ForEach-Object ($VM in $VMs){$VirtDiskDrives = Get-SCVirtualDiskDrive -VM $VM 
PS C:\> ForEach-Object ($VirtDiskDrive in $VirtDiskDrives){If($VirtDiskDrive.Name -Match "LOBData"){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive}}}

最初のコマンドは、名前が文字列 WebSrvLOB と一致するすべての仮想マシン オブジェクトを取得し、それらのオブジェクトを $VM 配列に格納します。

次の 2 つのコマンドでは、ForEach-Object コマンドレットを使用して、$VMに格納されている仮想マシンを反復処理して、各仮想マシンからすべての仮想ディスク ドライブ オブジェクトを取得します。 2 番目のコマンドは、仮想ディスク ドライブ オブジェクトを $VirtDiskDrives オブジェクト配列に格納します。

3 番目のコマンドは、2 番目 の ForEach ループを使用して、$VirtDiskDrives配列から文字列 LOBData を含む名前を持つすべての仮想ディスク ドライブ オブジェクトを選択し、これらのオブジェクトを現在のコマンドレットに渡します。 このコマンドレットは、VMM からオブジェクトを削除します。

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

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

-Force

操作を強制的に完了させます。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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

-OnBehalfOfUser

ユーザー名を指定します。 このコマンドレットは、このパラメーターで指定されたユーザーの代わりに動作します。

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

-OnBehalfOfUserRole

ユーザー ロールを指定します。 ユーザー ロールを取得するには、 Get-SCUserRole コマンドレットを 使用します。 このコマンドレットは、このパラメーターが指定するユーザー ロールの代わりに動作します。

Type:UserRole
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

-SkipDeleteVHD

仮想ディスク ドライブを削除するときに、このコマンドレットが VHD ファイルを実行しないことを示します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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

メモ

  • Get-SCVirtualDiskDrive コマンドレットを使用して取得できる VMM 仮想ディスク ドライブ オブジェクトが必要です。