Nutanix PowerShell Cmdlets v2.0 で、コマンドレットの実行によるタスクのステータスを確認してみます。これは、その場での成功確認だけでなく、スクリプトでコマンドレットの実行完了を待って後続処理を進めるような場合に利用できます。
今回の実行環境は前回と同様です。
たとえば、Get-VM を実行すると下記のようにタスク情報が返されます。例では、Start-VM で「rhel8-01」という VM を 起動していますが、UUID が 8a86001a-fe02-47b5-aa24-d8363eeb7171 のタスクとして実行されたことがわかります。
PS /> Get-VM -Name rhel8-01 | Start-VM state task_uuid message host ----- --------- ------- ---- 8a86001a-fe02-47b5-aa24-d8363eeb7171 lab-nxpc-01.go-lab.jp
タスクの状態は、Get-Task で確認できます。「-TaskId」に、さきほどの UUID を指定します。
PS /> Get-Task -IncludeCompleted -TaskId 8a86001a-fe02-47b5-aa24-d8363eeb7171 host : lab-nxpc-01.go-lab.jp status : SUCCEEDED start_time : 2/27/2022 5:21:58 PM create_time : 1/1/0001 12:00:00 AM percentage_complete : 100 error_detail : uuid : 8a86001a-fe02-47b5-aa24-d8363eeb7171 complete_time : 1/1/0001 12:00:00 AM last_update_time : 2/27/2022 5:22:02 PM progress_message : operation_type : kPrismFanout error_code : parent_task_reference :
スクリプトなどでは、下記のようにタスク情報を変数格納しておくと便利です。この例では VM を停止しつつタスク情報を取得しています。
PS /> $task = Get-VM -Name rhel8-01 | Stop-VM PS /> $task.task_uuid bcf4e859-44df-402f-bcf3-b9e558b1393c
この場合、Get-Task では下記のようにタスク UUID を指定します。
PS /> Get-Task -IncludeCompleted -TaskId $task.task_uuid host : lab-nxpc-01.go-lab.jp status : SUCCEEDED start_time : 2/27/2022 5:25:19 PM create_time : 1/1/0001 12:00:00 AM percentage_complete : 100 error_detail : uuid : bcf4e859-44df-402f-bcf3-b9e558b1393c complete_time : 1/1/0001 12:00:00 AM last_update_time : 2/27/2022 5:25:21 PM progress_message : operation_type : kPrismFanout error_code : parent_task_reference :
タスクのステータスのみを取得するには、下記のように実行します。
PS /> (Get-Task -IncludeCompleted -TaskId $task.task_uuid).status SUCCEEDED
以上。