System Center 2016 – Virtual Machine Manager (SCVMM 2016) に触れる機会が多くなり、Virtual Machine Manager Command Shell を使った設定や、情報取得、および管理することが増えてきたので、備忘録として各コマンドレットの概要を日本語化 (意訳) しました。
ここでは Remove-SCVirtualDiskDrive コマンドレットのヘルプ情報について、SCVMM2016 UR5 の Virtual Machine Manager Command Shell 上で「Remove-SCVirtualDiskDrive」コマンドレットの -Full オプションを用いて実行した結果を元に記載しています。
※SCVMM 2016 UR5 で利用可能なコマンドレット一覧については、「System Center 2016 – Virtual Machine Manager で利用できるコマンドレットについて」を参照。
Remove-SCVirtualDiskDrive コマンドレット
名前
Remove-SCVirtualDiskDrive
概要
仮想マシンから、もしくは仮想マシン テンプレートから仮想ディスク ドライブを削除します。
構文
Remove-SCVirtualDiskDrive [-VirtualDiskDrive] <VirtualDiskDrive> [-Confirm] [-Force] [-JobGroup <Guid>] [-JobVariable <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-SkipDeleteVHD] [-WhatIf] [<CommonParameters>] |
説明
Remove-SCVirtualDiskDrive コマンドレットは、仮想マシンから、もしくは Virtual Machine Manager (VMM) 環境の仮想マシン テンプレートから仮想ディスク ドライブ オブジェクトを削除します。
パラメーター
-Confirm [<SwitchParameter>]
コマンドレットの実行前に確認のプロンプトを表示します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-Force [<SwitchParameter>]
強制的に操作を実行する場合に指定します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-JobGroup <Guid>
同じジョブ グループ識別子を含む最後のコマンドが実行される直前に、一連のコマンドを実行する一連のコマンドの識別子を指定します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-JobVariable <String>
ジョブ進行状況を追跡、格納する変数を指定します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-OnBehalfOfUser <String>
ユーザー名を指定します。このコマンドレットは、このパラメーターが指定するユーザーの代わりに操作します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-OnBehalfOfUserRole <UserRole>
ユーザー ロールを指定します。ユーザー ロールを取得するには、Get-SCUserRole コマンドレットを用います。このコマンドレットは、このパラメーターで指定するユーザー ロールの代わりに操作します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-PROTipID <Guid>
このアクションにトリガーされるパフォーマンスとリソースの最適化のヒント (PRO ヒント) を指定します。このパラメーターは、PRO ヒントを監査することができます。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-RunAsynchronously [<SwitchParameter>]
ジョブが非同期で実行、制御がすぐにコマンド シェルに戻されるかどうかを指定します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-SkipDeleteVHD [<SwitchParameter>]
仮想ディスク ドライブを削除している間、このコマンドレットが VHD ファイルを認識しない場合に指定します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-VirtualDiskDrive <VirtualDiskDrive>
仮想ハード ディスク ドライブ オブジェクトを指定します。仮想ディスク ドライブ オブジェクトに仮想ハード ディスク、もしくはパススルー ディスクを接続可能です。
必須 | true |
---|---|
位置 | 0 |
既定値 | None |
パイプライン入力を許可する | True (ByValue) |
ワイルドカード文字を許可する | false |
-WhatIf [<SwitchParameter>]
コマンドレットを実行する場合の挙動について表示します。コマンドレットは、実際には実行されません。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、OutBuffer, PipelineVariable、および OutVariable。詳細については、about_CommonParameters を参照してください。
入力
出力
メモ
Get-SCVirtualDiskDrive コマンドレットを用いて取得可能な VMM 仮想 ディスク ドライブ オブジェクトが必要となります。
例
例 1 : 仮想マシンから仮想ハード ディスク ドライブを削除する
コマンド
$VM = Get-SCVirtualMachine | Where-Object { $_.VMHost.Name -Eq "VMHost01.Contoso.com" -And $_.Name -Eq "VM01" } $VirtDiskDrive = @(Get-SCVirtualDiskDrive -VM $VM) If($VirtDiskDrive.Count -Gt 1){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive[1]}
コマンドの説明
最初のコマンドは、Get-SCVirtualMachine コマンドレットを用いて、仮想マシン オブジェクト “VM01” を “VMHost01.Contoso.com” に展開します。このコマンドは、そのオブジェクトを $VM 変数に格納します。
2 番目のコマンドは、VM01 上のすべての仮想ディスク ドライブ オブジェクトを取得し、取得したオブジェクトを $VirtDiskDrive に格納します。@ 記号と括弧を使用すると、コマンドが単一のオブジェクト、もしくは $Null 値を返す場合でも、コマンドが結果を配列に格納するようになります。
最後のコマンドは、仮想マシンに関連付けられている仮想ディスク ドライブ数を返します。複数の仮想ディスクが存在する場合、コマンドは [1] で指定された 2 番目の仮想ディスク ドライブを仮想マシンから削除します。
例 2 : 仮想マシンに接続されているすべてのパススルー ディスクを削除する
コマンド
$VM = Get-SCVirtualMachine | Where-Object {$_.Name -Eq "VM02"} $VirtDiskDrives = @(Get-SCVirtualDiskDrive -VM $VM | Where-Object {$_.IsVHD -Eq $False}) 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_If、および Get-Help about_Foreach を実行してください。
最後のコマンドは、Force パラメーターを指定します。したがって、他の VMM オブジェクトがその仮想ディスク ドライブに依存していても、各仮想ディスク ドライブはその仮想マシンから削除されます。
例 3 : Name による仮想ディスク ドライブを削除する
コマンド
$VM = @(Get-SCVirtualMachine | Where-Object {$_.Name -Match "WebSrvLOB"}) ForEach-Object ($VM in $VMs){$VirtDiskDrives = Get-SCVirtualDiskDrive -VM $VM 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 からオブジェクトを削除します。
関連するリンク
- Compress-SCVirtualDiskDrive
- Convert-SCVirtualDiskDrive
- Expand-SCVirtualDiskDrive
- Get-SCVirtualDiskDrive
- Get-SCVirtualMachine
- New-SCVirtualDiskDrive
- Set-SCVirtualDiskDrive
- Test-SCVirtualDiskDrive
参考
- System Center 2016 – データセンターの管理 | Microsoft
https://www.microsoft.com/ja-jp/cloud-platform/system-center - VirtualMachineManager | Microsoft Docs
https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2016 - Remove-SCVirtualDiskDrive (VirtualMachineManager) | Microsoft Docs
https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/remove-scvirtualdiskdrive?view=systemcenter-ps-2016