你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Set-AzVMRunCommand
用于创建或更新 run 命令的操作。
语法
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>]
说明
用于创建或更新 run 命令的操作。
示例
示例 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 的选项在Azure 门户生成 SAS URL,也可以使用 New-Az存储BlobSASToken 生成 SAS 令牌。 如果使用 New-Az 生成 SAS 令牌存储BlobSASToken,则 SAS URL = 基本 Blob URL + “?” + 来自 New-Az存储BlobSASToken 的 SAS 令牌。
示例 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
在 VM 上创建或更新运行命令,将脚本内容直接传递到 -SourceScript 参数。 使用“;”分隔多个命令。
示例 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 的选项在Azure 门户生成 SAS URL,也可以使用 New-Az存储BlobSASToken 生成 SAS 令牌。 如果使用 New-Az 生成 SAS 令牌存储BlobSASToken,则 SAS URL = 基本 Blob URL + “?” + 来自 New-Az存储BlobSASToken 的 SAS 令牌。
示例 6:在 VM 上创建或更新运行命令,使用 RunAsUser 和 RunAsPassword 参数以其他用户身份运行 Run Command。
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 参数以其他用户身份运行 Run Command。 若要使运行方式正常工作,请与 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
用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ErrorBlobManagedIdentityObjectId
用户分配的托管标识的对象 ID (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
用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutputBlobManagedIdentityObjectId
用户分配的托管标识的对象 ID (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
在执行 run 命令时,指定 VM 上的用户帐户密码。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsUser
在执行 run 命令时,指定 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
用户分配的托管标识的客户端 ID (GUID 值)。 如果未提供,则不应使用 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptUriManagedIdentityObjectId
用户分配的托管标识的对象 ID (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 订阅的订阅凭据。 此订阅 ID 是每个服务调用的 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
执行 run 命令的超时(以秒为单位)。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TreatFailureAsDeploymentFailure
可选。 如果设置为 true,脚本中的任何失败都将失败,并且 ProvisioningState 将标记为“失败”。 如果设置为 false,ProvisioningState 将仅反映运行命令是否由扩展平台运行,则不会指示脚本在脚本失败时是否失败。 如果脚本失败,请参阅 run 命令的实例视图,以查看 executionMessage、输出、错误: 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 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈