Virtual Machine Run Commands - Update
更新執行命令的作業。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?api-version=2024-07-01
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
resource
|
path | True |
string |
資源群組的名稱。 |
run
|
path | True |
string |
虛擬機執行命令的名稱。 |
subscription
|
path | True |
string |
可唯一識別Microsoft Azure 訂用帳戶的訂用帳戶認證。 訂用帳戶標識碼會形成每個服務呼叫 URI 的一部分。 |
vm
|
path | True |
string |
應該更新執行命令之虛擬機的名稱。 |
api-version
|
query | True |
string |
用戶端 API 版本。 |
要求本文
Media Types: "application/json", "text/json"
名稱 | 類型 | Description |
---|---|---|
properties.asyncExecution |
boolean |
自選。 如果設定為 true,則一開始腳本就會完成布建,且不會等待腳本完成。 |
properties.errorBlobManagedIdentity |
使用者指派的受控識別可存取 errorBlobUri 記憶體 Blob。 在系統指派的身分識別的情況下,請使用空白物件。 請確定受控識別已獲得 Blob 容器的存取權,並具有「記憶體 Blob 數據參與者」角色指派。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
|
properties.errorBlobUri |
string |
指定將上傳文稿錯誤數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 errorBlobManagedIdentity 參數。 |
properties.outputBlobManagedIdentity |
使用者指派的受控識別可存取 outputBlobUri 記憶體 Blob。 在系統指派的身分識別的情況下,請使用空白物件。 請確定受控識別已獲得 Blob 容器的存取權,並具有「記憶體 Blob 數據參與者」角色指派。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
|
properties.outputBlobUri |
string |
指定將上傳文本輸出數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 outputBlobManagedIdentity 參數。 |
properties.parameters |
腳本所使用的參數。 |
|
properties.protectedParameters |
腳本所使用的參數。 |
|
properties.runAsPassword |
string |
在執行執行命令時,指定 VM 上的使用者帳戶密碼。 |
properties.runAsUser |
string |
在執行執行命令時,指定 VM 上的用戶帳戶。 |
properties.source |
執行命令腳本的來源。 |
|
properties.timeoutInSeconds |
integer |
執行命令的逾時以秒為單位。 |
properties.treatFailureAsDeploymentFailure |
boolean |
自選。 如果設定為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。 如果設定為 false,ProvisioningState 只會反映延伸模組平臺是否執行 run 命令,它不會指出腳本在腳本失敗時是否失敗。 在腳本失敗時查看 run 命令的實例檢視,以查看 executionMessage、輸出、錯誤:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
tags |
object |
資源標籤 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
還行 Media Types: "application/json", "text/json" |
|
Other Status Codes |
描述作業失敗原因的錯誤回應。 Media Types: "application/json", "text/json" |
安全性
azure_auth
Azure Active Directory OAuth2 Flow
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
user_impersonation | 模擬您的用戶帳戶 |
範例
Update a run command.
範例要求
PATCH https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand?api-version=2024-07-01
{
"properties": {
"source": {
"script": "Write-Host Hello World! ; Remove-Item C:\test\testFile.txt"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"asyncExecution": false,
"runAsUser": "user1",
"runAsPassword": "<runAsPassword>",
"timeoutInSeconds": 3600,
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/outputUri",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt",
"errorBlobManagedIdentity": {
"objectId": "4231e4d2-33e4-4e23-96b2-17888afa6072"
}
}
}
範例回覆
{
"name": "myRunCommand",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
"type": "Microsoft.Compute/virtualMachines/runCommands",
"location": "westus",
"tags": {
"tag1": "value1",
"tag2": "value2"
},
"properties": {
"source": {
"script": "Write-Host Hello World! ; Remove-Item C:\test\testFile.txt"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"asyncExecution": false,
"treatFailureAsDeploymentFailure": false,
"runAsUser": "user1",
"timeoutInSeconds": 3600,
"provisioningState": "Updating",
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
}
}
定義
名稱 | Description |
---|---|
Api |
Api 錯誤。 |
Api |
API 錯誤基底。 |
Cloud |
來自計算服務的錯誤回應。 |
Execution |
腳本執行狀態。 |
Inner |
內部錯誤詳細數據。 |
Instance |
實例檢視狀態。 |
Run |
描述執行命令參數的屬性。 |
Run |
包含用戶端識別碼或 objectId(只使用一個,而非兩者)使用者指派的受控識別,可存取執行命令中使用的記憶體 Blob。 在系統指派的身分識別的情況下,請使用空的 RunCommandManagedIdentity 物件。 請確定 Azure 記憶體 Blob 存在於 scriptUri 的情況下,且受控識別已獲得 Blob 容器的存取權,並已使用 scriptUri Blob 的 'Storage Blob Data Reader' 角色指派,以及附加 Blob 的 'Storage Blob 數據參與者'(outputBlobUri,errorBlobUri)。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。 |
Status |
層級程序代碼。 |
Virtual |
描述虛擬機執行命令。 |
Virtual |
虛擬機執行命令的實例檢視。 |
Virtual |
描述執行命令的腳本來源。 只使用其中一個 script,scriptUri,commandId。 |
Virtual |
描述虛擬機執行命令。 |
ApiError
Api 錯誤。
名稱 | 類型 | Description |
---|---|---|
code |
string |
錯誤碼。 |
details |
Api 錯誤詳細數據 |
|
innererror |
Api 內部錯誤 |
|
message |
string |
錯誤訊息。 |
target |
string |
特定錯誤的目標。 |
ApiErrorBase
API 錯誤基底。
名稱 | 類型 | Description |
---|---|---|
code |
string |
錯誤碼。 |
message |
string |
錯誤訊息。 |
target |
string |
特定錯誤的目標。 |
CloudError
來自計算服務的錯誤回應。
名稱 | 類型 | Description |
---|---|---|
error |
Api 錯誤。 |
ExecutionState
腳本執行狀態。
名稱 | 類型 | Description |
---|---|---|
Canceled |
string |
|
Failed |
string |
|
Pending |
string |
|
Running |
string |
|
Succeeded |
string |
|
TimedOut |
string |
|
Unknown |
string |
InnerError
內部錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
errordetail |
string |
內部錯誤訊息或例外狀況傾印。 |
exceptiontype |
string |
例外狀況類型。 |
InstanceViewStatus
實例檢視狀態。
名稱 | 類型 | Description |
---|---|---|
code |
string |
狀態代碼。 |
displayStatus |
string |
狀態的簡短可當地語系化標籤。 |
level |
層級程序代碼。 |
|
message |
string |
詳細的狀態消息,包括警示和錯誤訊息。 |
time |
string |
狀態的時間。 |
RunCommandInputParameter
描述執行命令參數的屬性。
名稱 | 類型 | Description |
---|---|---|
name |
string |
執行命令參數名稱。 |
value |
string |
run 命令參數值。 |
RunCommandManagedIdentity
包含用戶端識別碼或 objectId(只使用一個,而非兩者)使用者指派的受控識別,可存取執行命令中使用的記憶體 Blob。 在系統指派的身分識別的情況下,請使用空的 RunCommandManagedIdentity 物件。 請確定 Azure 記憶體 Blob 存在於 scriptUri 的情況下,且受控識別已獲得 Blob 容器的存取權,並已使用 scriptUri Blob 的 'Storage Blob Data Reader' 角色指派,以及附加 Blob 的 'Storage Blob 數據參與者'(outputBlobUri,errorBlobUri)。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。
名稱 | 類型 | Description |
---|---|---|
clientId |
string |
使用者指派受控識別的用戶端標識碼(GUID 值)。 如果提供此專案,就不應該使用 ObjectId。 |
objectId |
string |
使用者指派受控識別的物件標識碼(GUID 值)。 如果提供此專案,就不應該使用 ClientId。 |
StatusLevelTypes
層級程序代碼。
名稱 | 類型 | Description |
---|---|---|
Error |
string |
|
Info |
string |
|
Warning |
string |
VirtualMachineRunCommand
描述虛擬機執行命令。
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
id |
string |
資源標識碼 |
|
location |
string |
資源位置 |
|
name |
string |
資源名稱 |
|
properties.asyncExecution |
boolean |
False |
自選。 如果設定為 true,則一開始腳本就會完成布建,且不會等待腳本完成。 |
properties.errorBlobManagedIdentity |
使用者指派的受控識別可存取 errorBlobUri 記憶體 Blob。 在系統指派的身分識別的情況下,請使用空白物件。 請確定受控識別已獲得 Blob 容器的存取權,並具有「記憶體 Blob 數據參與者」角色指派。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
||
properties.errorBlobUri |
string |
指定將上傳文稿錯誤數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 errorBlobManagedIdentity 參數。 |
|
properties.instanceView |
虛擬機執行命令實例檢視。 |
||
properties.outputBlobManagedIdentity |
使用者指派的受控識別可存取 outputBlobUri 記憶體 Blob。 在系統指派的身分識別的情況下,請使用空白物件。 請確定受控識別已獲得 Blob 容器的存取權,並具有「記憶體 Blob 數據參與者」角色指派。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
||
properties.outputBlobUri |
string |
指定將上傳文本輸出數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 outputBlobManagedIdentity 參數。 |
|
properties.parameters |
腳本所使用的參數。 |
||
properties.protectedParameters |
腳本所使用的參數。 |
||
properties.provisioningState |
string |
只出現在回應中的布建狀態。 如果 treatFailureAsDeploymentFailure 設為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。 如果 treatFailureAsDeploymentFailure 設為 false,ProvisioningState 只會反映執行命令是否由延伸模組平台執行,而不會指出腳本失敗時是否失敗。 在腳本失敗時查看 run 命令的實例檢視,以查看 executionMessage、輸出、錯誤:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
|
properties.runAsPassword |
string |
在執行執行命令時,指定 VM 上的使用者帳戶密碼。 |
|
properties.runAsUser |
string |
在執行執行命令時,指定 VM 上的用戶帳戶。 |
|
properties.source |
執行命令腳本的來源。 |
||
properties.timeoutInSeconds |
integer |
執行命令的逾時以秒為單位。 |
|
properties.treatFailureAsDeploymentFailure |
boolean |
False |
自選。 如果設定為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。 如果設定為 false,ProvisioningState 只會反映延伸模組平臺是否執行 run 命令,它不會指出腳本在腳本失敗時是否失敗。 在腳本失敗時查看 run 命令的實例檢視,以查看 executionMessage、輸出、錯誤:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
tags |
object |
資源標籤 |
|
type |
string |
資源類型 |
VirtualMachineRunCommandInstanceView
虛擬機執行命令的實例檢視。
名稱 | 類型 | Description |
---|---|---|
endTime |
string |
腳本結束時間。 |
error |
string |
文稿錯誤數據流。 |
executionMessage |
string |
傳達文本組態錯誤或執行訊息。 |
executionState |
腳本執行狀態。 |
|
exitCode |
integer |
從腳本執行傳回的結束代碼。 |
output |
string |
腳本輸出數據流。 |
startTime |
string |
腳本開始時間。 |
statuses |
資源狀態資訊。 |
VirtualMachineRunCommandScriptSource
描述執行命令的腳本來源。 只使用其中一個 script,scriptUri,commandId。
名稱 | 類型 | Description |
---|---|---|
commandId |
string |
指定預先定義內建腳本的 commandId。 |
script |
string |
指定要在 VM 上執行的文稿內容。 |
scriptUri |
string |
指定文稿下載位置。 它可以是具有讀取許可權或公用 URI 的 Azure 記憶體 Blob SAS URI。 |
scriptUriManagedIdentity |
使用者指派的受控識別,可存取 Azure 記憶體 Blob 時可存取 scriptUri。 在系統指派的身分識別的情況下,請使用空白物件。 請確定 Azure 記憶體 Blob 存在,且受控識別已獲授與具有「記憶體 Blob 數據讀取者」角色指派之 Blob 容器的存取權。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged。 |
VirtualMachineRunCommandUpdate
描述虛擬機執行命令。
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
properties.asyncExecution |
boolean |
False |
自選。 如果設定為 true,則一開始腳本就會完成布建,且不會等待腳本完成。 |
properties.errorBlobManagedIdentity |
使用者指派的受控識別可存取 errorBlobUri 記憶體 Blob。 在系統指派的身分識別的情況下,請使用空白物件。 請確定受控識別已獲得 Blob 容器的存取權,並具有「記憶體 Blob 數據參與者」角色指派。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
||
properties.errorBlobUri |
string |
指定將上傳文稿錯誤數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 errorBlobManagedIdentity 參數。 |
|
properties.instanceView |
虛擬機執行命令實例檢視。 |
||
properties.outputBlobManagedIdentity |
使用者指派的受控識別可存取 outputBlobUri 記憶體 Blob。 在系統指派的身分識別的情況下,請使用空白物件。 請確定受控識別已獲得 Blob 容器的存取權,並具有「記憶體 Blob 數據參與者」角色指派。 如果是使用者指派的身分識別,請務必將其新增到 VM 的身分識別之下。 如需受控識別和執行命令的詳細資訊,請參閱 https://aka.ms/ManagedIdentity 和 https://aka.ms/RunCommandManaged |
||
properties.outputBlobUri |
string |
指定將上傳文本輸出數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 outputBlobManagedIdentity 參數。 |
|
properties.parameters |
腳本所使用的參數。 |
||
properties.protectedParameters |
腳本所使用的參數。 |
||
properties.provisioningState |
string |
只出現在回應中的布建狀態。 如果 treatFailureAsDeploymentFailure 設為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。 如果 treatFailureAsDeploymentFailure 設為 false,ProvisioningState 只會反映執行命令是否由延伸模組平台執行,而不會指出腳本失敗時是否失敗。 在腳本失敗時查看 run 命令的實例檢視,以查看 executionMessage、輸出、錯誤:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
|
properties.runAsPassword |
string |
在執行執行命令時,指定 VM 上的使用者帳戶密碼。 |
|
properties.runAsUser |
string |
在執行執行命令時,指定 VM 上的用戶帳戶。 |
|
properties.source |
執行命令腳本的來源。 |
||
properties.timeoutInSeconds |
integer |
執行命令的逾時以秒為單位。 |
|
properties.treatFailureAsDeploymentFailure |
boolean |
False |
自選。 如果設定為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。 如果設定為 false,ProvisioningState 只會反映延伸模組平臺是否執行 run 命令,它不會指出腳本在腳本失敗時是否失敗。 在腳本失敗時查看 run 命令的實例檢視,以查看 executionMessage、輸出、錯誤:https://aka.ms/runcommandmanaged#get-execution-status-and-results |
tags |
object |
資源標籤 |