共用方式為


Set-AzVmssVMRunCommand

更新 VMSS VM 執行命令的作業。

語法

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

更新 VMSS VM 執行命令的作業。

範例

範例 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

以作業身分執行命令

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-AsyncExecution

選擇性。 如果設定為 true,則一開始腳本就會完成布建,且不會等待腳本完成。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

UpdateExpanded
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ScriptLocalPath
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:參閱

參數集

(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

以異步方式執行命令

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(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

腳本所使用的參數。

參數屬性

類型:

IRunCommandInputParameter[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

UpdateExpanded
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ScriptLocalPath
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ProtectedParameter

腳本所使用的參數。

參數屬性

類型:

IRunCommandInputParameter[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

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

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

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 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:威斯康星州

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸出

IVirtualMachineRunCommand