Set-AzVMRunCommand
建立或更新執行命令的作業。
Syntax
Set-AzVMRunCommand
-ResourceGroupName <String>
-RunCommandName <String>
-VMName <String>
[-SubscriptionId <String>]
-Location <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>]
Set-AzVMRunCommand
-ResourceGroupName <String>
-RunCommandName <String>
-VMName <String>
[-SubscriptionId <String>]
-Location <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]
-ScriptLocalPath <String>
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
建立或更新執行命令的作業。
範例
範例 1:使用記憶體 Blob SAS URL 在 VM 上建立或更新執行命令
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -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=0I%2FIiYayRwHasfasasfdasdfasdeTsQjLnpZjA%3D"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
使用包含 .ps1 腳本的記憶體 Blob SAS URL,在 Windows VM 上建立或更新執行命令。 請注意,SAS URL 必須提供 Blob 的讀取存取。 SAS URL 的建議到期時間為 24 小時。 您可以使用 Blob 的選項,或使用 New-Az 儲存體 BlobSASToken 在 Azure 入口網站 上產生 SAS URL。 如果使用 New-Az 儲存體 BlobSASToken 產生 SAS 令牌,您的 SAS URL = 基底 Blob URL + “?” + SAS 令牌來自 New-Az 儲存體 BlobSASToken。
範例 2:使用本機腳本檔案在 VM 上建立或更新執行命令。
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
在執行 Cmdlet 的用戶端電腦上使用本機指令檔,在 VM 上建立或更新「執行命令」。
範例 3:使用文稿文字在 VM 上建立或更新執行命令。
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -RunCommandName MyRunCommand2 -Location EastUS2EUAP -SourceScript "id; echo HelloWorld"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand2 Microsoft.Compute/virtualMachines/runCommands
在將指令碼內容直接傳遞至 -SourceScript 參數的 VM 上建立或更新「執行命令」。 使用 『;』 分隔多個命令。
範例 4:使用 commandId 在 VM 上建立或更新執行命令。
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -SourceCommandId DisableWindowsUpdate
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
使用預先存在的 commandId,在 VM 上建立或更新「執行命令」。 您可以使用 Get-AzVMRunCommandDocument 來擷取可用的 commandId。
範例 5:在 VM 上建立或更新執行命令,並將標準輸出和標準錯誤訊息串流至輸出和錯誤附加 Blob。
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVML -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=HQAu3Bl%2BKMofYTjMo8o5hasfadsfasdF4jIkRJra4S5FlEo%3D" -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=HQAu3Bl%2BKMofYTjMo8o5h%asfasdfgdT%2F4jasfasdf5FlEo%3D"
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand3 Microsoft.Compute/virtualMachines/runCommands
在 VM 上建立或更新「執行命令」,並將標準輸出和標準錯誤訊息串流至輸出和錯誤附加 Blob。 請注意,輸出和錯誤 Blob 的類型必須是 AppendBlob,且其 SAS URL 必須提供 Blob 的讀取、附加、建立、寫入許可權。 SAS URL 的建議到期時間為 24 小時。 如果輸出或錯誤 Blob 不存在,則會建立 AppendBlob 類型的 Blob。 您可以使用 Blob 的選項,或使用 New-Az 儲存體 BlobSASToken 的 SAS 令牌,在 Azure 入口網站 上產生 SAS URL。 如果使用 New-Az 儲存體 BlobSASToken 產生 SAS 令牌,您的 SAS URL = 基底 Blob URL + “?” + SAS 令牌來自 New-Az 儲存體 BlobSASToken。
範例 6:在 VM 上建立或更新執行命令,使用 RunAsUser 和 RunAsPassword 參數以不同使用者身分執行命令。
Set-AzVMRunCommand -ResourceGroupName MyRG0 -VMName MyVMEE -RunCommandName MyRunCommand -Location EastUS2EUAP -ScriptLocalPath "C:\MyScriptsDir\MyScript.ps1" -RunAsUser myusername -RunAsPassword mypassword
Location Name Type
-------- ---- ----
eastus2euap MyRunCommand Microsoft.Compute/virtualMachines/runCommands
在 VM 上建立或更新執行命令,使用 RunAsUser 和 RunAsPassword 參數以不同使用者身分執行命令。 若要讓 RunAs 正常運作,請連絡 VM 的管理員,並確定已在 VM 上新增使用者、使用者有權存取「執行命令」所存取的資源 (目錄、檔案、網路等等),而且如果是使用 Windows VM,也需確認 VM 上已執行「次要登入」服務。
參數
-AsJob
以作業身分執行命令
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsyncExecution
選擇性。 如果設定為 true,則一開始腳本就會完成布建,且不會等待腳本完成。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
DefaultProfile 參數無法運作。 如果針對不同的訂用帳戶執行 Cmdlet,請使用 SubscriptionId 參數。
Type: | PSObject |
Aliases: | AzureRMContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ErrorBlobManagedIdentityClientId
使用者指派受控識別的用戶端標識碼(GUID 值)。 如果提供此專案,就不應該使用 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ErrorBlobManagedIdentityObjectId
使用者指派受控識別的物件標識碼(GUID 值)。 如果提供此專案,就不應該使用 ClientId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ErrorBlobUri
指定將上傳文稿錯誤數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 errorBlobManagedIdentity 參數。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
資源位置
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoWait
以異步方式執行命令
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutputBlobManagedIdentityClientId
使用者指派受控識別的用戶端標識碼(GUID 值)。 如果提供此專案,就不應該使用 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutputBlobManagedIdentityObjectId
使用者指派受控識別的物件標識碼(GUID 值)。 如果提供此專案,就不應該使用 ClientId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutputBlobUri
指定將上傳文本輸出數據流的 Azure 記憶體 Blob。 使用具有讀取、附加、建立、寫入存取權的SAS URI,或使用受控識別來提供 Blob 的 VM 存取權。 請參閱 outputBlobManagedIdentity 參數。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Parameter
腳本所使用的參數。 若要建構,請參閱PARAMETER屬性和建立哈希表的NOTES一節。
Type: | IRunCommandInputParameter[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProtectedParameter
腳本所使用的參數。 若要建構,請參閱 PROTECTEDPARAMETER 屬性的 NOTES 區段並建立哈希表。
Type: | IRunCommandInputParameter[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceGroupName
資源群組的名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsPassword
在執行執行命令時,指定 VM 上的使用者帳戶密碼。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsUser
在執行執行命令時,指定 VM 上的用戶帳戶。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunCommandName
虛擬機執行命令的名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptLocalPath
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptUriManagedIdentityClientId
使用者指派受控識別的用戶端標識碼(GUID 值)。 如果提供此專案,就不應該使用 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptUriManagedIdentityObjectId
使用者指派受控識別的物件標識碼(GUID 值)。 如果提供此專案,就不應該使用 ClientId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceCommandId
指定預先定義內建腳本的 commandId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceScript
指定要在 VM 上執行的文稿內容。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceScriptUri
指定文稿下載位置。 它可以是具有讀取許可權或公用 URI 的 Azure 記憶體 Blob SAS URI。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubscriptionId
可唯一識別 Microsoft Azure 訂用帳戶的訂用帳戶認證。 訂用帳戶識別碼會構成每個服務呼叫 URI 的一部分。
Type: | String |
Position: | Named |
Default value: | (Get-AzContext).Subscription.Id |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
資源標籤
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TimeoutInSecond
執行命令的逾時以秒為單位。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TreatFailureAsDeploymentFailure
選擇性。 如果設定為 true,腳本中的任何失敗都會失敗,且 ProvisioningState 會標示為 Failed。 如果設定為 false,ProvisioningState 只會反映延伸模組平臺是否執行 run 命令,它不會指出腳本在腳本失敗時是否失敗。 如需腳本失敗,請參閱 run 命令的實例檢視,以查看 executionMessage、output、error: https://aka.ms/runcommandmanaged#get-execution-status-and-results
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMName
應該建立或更新執行命令之虛擬機的名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸出
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應