NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix PowerShell Cmdlets v2.0 で実行したタスクの結果を確認してみる。

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

以上。

©2022 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。