Set-AzVmssVMRunCommand
語法
UpdateExpanded (預設值)
Set-AzVmssVMRunCommand
-InstanceId <String>
-ResourceGroupName <String>
-RunCommandName <String>
-VMScaleSetName <String>
-Location <String>
[-SubscriptionId <String>]
[-AsyncExecution]
[-ErrorBlobManagedIdentityClientId <String>]
[-ErrorBlobManagedIdentityObjectId <String>]
[-ErrorBlobUri <String>]
[-OutputBlobManagedIdentityClientId <String>]
[-OutputBlobManagedIdentityObjectId <String>]
[-OutputBlobUri <String>]
[-Parameter <IRunCommandInputParameter[]>]
[-ProtectedParameter <IRunCommandInputParameter[]>]
[-RunAsPassword <String>]
[-RunAsUser <String>]
[-ScriptUriManagedIdentityClientId <String>]
[-ScriptUriManagedIdentityObjectId <String>]
[-SourceCommandId <String>]
[-SourceScript <String>]
[-SourceScriptUri <String>]
[-Tag <Hashtable>]
[-TimeoutInSecond <Int32>]
[-TreatFailureAsDeploymentFailure]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ScriptLocalPath
Set-AzVmssVMRunCommand
-InstanceId <String>
-ResourceGroupName <String>
-RunCommandName <String>
-VMScaleSetName <String>
-Location <String>
-ScriptLocalPath <String>
[-SubscriptionId <String>]
[-AsyncExecution]
[-ErrorBlobManagedIdentityClientId <String>]
[-ErrorBlobManagedIdentityObjectId <String>]
[-ErrorBlobUri <String>]
[-OutputBlobManagedIdentityClientId <String>]
[-OutputBlobManagedIdentityObjectId <String>]
[-OutputBlobUri <String>]
[-Parameter <IRunCommandInputParameter[]>]
[-ProtectedParameter <IRunCommandInputParameter[]>]
[-RunAsPassword <String>]
[-RunAsUser <String>]
[-ScriptUriManagedIdentityClientId <String>]
[-ScriptUriManagedIdentityObjectId <String>]
[-Tag <Hashtable>]
[-TimeoutInSecond <Int32>]
[-TreatFailureAsDeploymentFailure]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
UpdateViaJsonFilePath
Set-AzVmssVMRunCommand
-InstanceId <String>
-ResourceGroupName <String>
-RunCommandName <String>
-VMScaleSetName <String>
-JsonFilePath <String>
[-SubscriptionId <String>]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
UpdateViaJsonString
Set-AzVmssVMRunCommand
-InstanceId <String>
-ResourceGroupName <String>
-RunCommandName <String>
-VMScaleSetName <String>
-JsonString <String>
[-SubscriptionId <String>]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
範例
範例 1:使用儲存體 Blob SAS URL 在 VMSS VM 執行個體上建立或更新執行命令
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 0 -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceScriptUri "https://myst.blob.core.windows.net/mycontainer/myscript.ps1?sp=r&st=2022-10-27T21:02:35Z&se=2022-10-28T05:02:35Z&spr=https&sv=2021-06-08&sr=b&sig=******"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
使用包含腳本之儲存體 Blob 的 SAS URL,在 Windows VMSS VM 執行個體上建立或更新執行命令 .ps1。
請注意,SAS URL 必須提供 Blob 的讀取存取。
SAS URL 的建議到期時間為 24 小時。
您可以使用 Blob 的選項在 Azure 入口網站上產生 SAS URL,或使用 New-AzStorageBlobSASToken 在 SAS 權杖上產生。
如果使用 New-AzStorageBlobSASToken 產生 SAS 權杖,您的 SAS URL = 基底 Blob URL + “?” + 來自 New-AzStorageBlobSASToken 的 SAS 權杖。
範例 2:使用本機指令碼檔在 VMSS VM 執行個體上建立或更新執行命令。
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 0 -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
使用執行 cmdlet 之用戶端電腦上的本機指令碼檔案,在 VMSS VM 執行個體上建立或更新執行命令。
範例 3:使用指令碼文字在 VMSS VM 執行個體上建立或更新執行命令。
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSSL -InstanceId 1 -RunCommandName MyRunCommand2 -Location EastUS2EUAP -SourceScript "id; echo HelloWorld"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand2 Microsoft.Compute/virtualMachines/runCommands
在 VMSS 虛擬機器執行個體上建立或更新執行命令,將指令碼內容直接傳遞至 -SourceScript 參數。
使用 ';' 來分隔多個命令。
範例 4:使用 commandId 在 VMSS VM 執行個體上建立或更新執行命令。
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 0 -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceCommandId DisableWindowsUpdate
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
使用預先存在的 commandId 在 VMSS VM 執行個體上建立或更新執行命令。
您可以使用 Get-AzVMRunCommandDocument 擷取可用的 commandId。
範例 5:在 VMSS VM 執行個體上建立或更新執行命令,並將標準輸出和標準錯誤訊息串流至輸出和錯誤附加 Blob。
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 1 -RunCommandName MyRunCommand3 -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -OutputBlobUri "https://vivst.blob.core.windows.net/vivcontainer/output.txt?sp=racw&st=2022-10-27T22:18:36Z&se=2022-10-28T06:18:36Z&spr=https&sv=2021-06-08&sr=b&sig=******" -ErrorBlobUri "https://vivst.blob.core.windows.net/vivcontainer/error.txt?sp=racw&st=2022-10-27T22:18:36Z&se=2022-10-28T06:18:36Z&spr=https&sv=2021-06-08&sr=b&sig=******"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand3 Microsoft.Compute/virtualMachines/runCommands
在 VMSS VM 執行個體上建立或更新執行命令,並將標準輸出和標準錯誤訊息串流至輸出和錯誤附加 Blob。
附註 輸出和錯誤 Blob 的類型必須是 AppendBlob,而且其 SAS URL 必須提供 Blob 的讀取、附加、建立、寫入存取權。
SAS URL 的建議到期時間為 24 小時。
如果輸出或錯誤 Blob 不存在,則會建立 AppendBlob 類型的 Blob。
您可以使用 Blob 的選項在 Azure 入口網站上產生 SAS URL,或使用 New-AzStorageBlobSASToken 在 SAS 權杖上產生。
如果使用 New-AzStorageBlobSASToken 產生 SAS 權杖,您的 SAS URL = 基底 Blob URL + “?” + 來自 New-AzStorageBlobSASToken 的 SAS 權杖。
範例 6:在 VMSS VM 執行個體上建立或更新執行命令,使用 RunAsUser 和 RunAsPassword 參數以不同的使用者身分執行執行命令。
Set-AzVmssVMRunCommand -ResourceGroupName MyRG0 -VMScaleSetName MyVMSS -InstanceId 1 -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -RunAsUser myusername -RunAsPassword mypassword
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
在 VMSS VM 執行個體上建立或更新執行命令,使用 RunAsUser 和 RunAsPassword 參數以不同的使用者身分執行執行命令。
若要讓 RunAs 正常運作,請連絡 VM 的系統管理員,並確定已將使用者新增至 VM,使用者有權存取執行命令存取的資源 (目錄、檔案、網路等),並且如果是 Windows VM,則會在 VM 上執行「次要登入」服務。
參數
-AsJob
以作業身分執行命令
參數屬性
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-AsyncExecution
選擇性。
如果設定為 true,則一開始腳本就會完成布建,且不會等待腳本完成。
參數屬性
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-DefaultProfile
DefaultProfile 參數無法運作。
如果針對不同的訂用帳戶執行 Cmdlet,請使用 SubscriptionId 參數。
參數屬性
類型: PSObject
預設值: None
支援萬用字元: False
不要顯示: False
別名: AzureRMContext, AzureCredential
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ErrorBlobManagedIdentityClientId
使用者指派受控識別的用戶端標識碼(GUID 值)。
如果提供此專案,就不應該使用 ObjectId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ErrorBlobManagedIdentityObjectId
使用者指派受控識別的物件標識碼(GUID 值)。
如果提供此專案,就不應該使用 ClientId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ErrorBlobUri
指定將上傳文稿錯誤數據流的 Azure 記憶體 Blob。
使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。
請參閱 errorBlobManagedIdentity 參數。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-InstanceId
虛擬機的實例標識碼。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-JsonFilePath
提供給更新作業的 Json 檔案路徑
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateViaJsonFilePath
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-JsonString
提供給更新作業的 Json 字串
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateViaJsonString
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Location
資源位置
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-NoWait
以異步方式執行命令
參數屬性
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-OutputBlobManagedIdentityClientId
使用者指派受控識別的用戶端標識碼(GUID 值)。
如果提供此專案,就不應該使用 ObjectId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-OutputBlobManagedIdentityObjectId
使用者指派受控識別的物件標識碼(GUID 值)。
如果提供此專案,就不應該使用 ClientId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-OutputBlobUri
指定將上傳文本輸出數據流的 Azure 記憶體 Blob。
使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。
請參閱 outputBlobManagedIdentity 參數。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Parameter
腳本所使用的參數。
參數屬性
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ProtectedParameter
腳本所使用的參數。
參數屬性
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ResourceGroupName
資源群組的名稱。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-RunAsPassword
在執行執行命令時,指定 VM 上的使用者帳戶密碼。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-RunAsUser
在執行執行命令時,指定 VM 上的用戶帳戶。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-RunCommandName
虛擬機執行命令的名稱。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ScriptLocalPath
更新 VMSS VM 執行命令的作業。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
ScriptLocalPath
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ScriptUriManagedIdentityClientId
使用者指派受控識別的用戶端標識碼(GUID 值)。
如果提供此專案,就不應該使用 ObjectId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ScriptUriManagedIdentityObjectId
使用者指派受控識別的物件標識碼(GUID 值)。
如果提供此專案,就不應該使用 ClientId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-SourceCommandId
指定預先定義內建腳本的 commandId。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-SourceScript
指定要在 VM 上執行的文稿內容。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-SourceScriptUri
指定文稿下載位置。
它可以是具有讀取許可權或公用 URI 的 Azure 記憶體 Blob SAS URI。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-SubscriptionId
可唯一識別Microsoft Azure 訂用帳戶的訂用帳戶認證。
訂用帳戶標識碼會形成每個服務呼叫 URI 的一部分。
參數屬性
類型: String
預設值: (Get-AzContext).Subscription.Id
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Tag
資源標籤
參數屬性
類型: Hashtable
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-TimeoutInSecond
執行命令的逾時以秒為單位。
參數屬性
類型: Int32
預設值: None
支援萬用字元: False
不要顯示: False
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-TreatFailureAsDeploymentFailure
選擇性。
如果設定為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。
如果設定為 false,ProvisioningState 只會反映延伸模組平臺是否執行 run 命令,它不會指出腳本在腳本失敗時是否失敗。
在腳本失敗時查看 run 命令的實例檢視,以查看 executionMessage、輸出、錯誤:https://aka.ms/runcommandmanaged#get-execution-status-and-results
參數屬性
參數集
UpdateExpanded
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
ScriptLocalPath
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-VMScaleSetName
VM 擴展集的名稱。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。
指令未執行。
參數屬性
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
CommonParameters
此 Cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters 。
輸出