首页 > 解决方案 > 如何获取 Invoke-AzureRmVMRunCommand 命令的输出流?

问题描述

我正在尝试运行以下命令

Invoke-AzVMRunCommand -ResourceGroupName $instance.ResourceGroupName -Name $instance.Name -CommandId 'RunPowerShellScript' -ScriptPath 'C:\Users\tushar.raichand\Desktop\sample.ps1'

Sample.ps1 如下

$output = Get-LocalUser
Write-Output $output
$output

我为 Invoke-AzVMRunCommand 得到的输出是

Microsoft.Azure.Commands.Compute.Automation.Models.PSRunCommandResult

标签: azurepowershell

解决方案


首先,确保您有足够的权限来显示命令的详细信息,请参阅限制对运行命令的访问:

列出运行命令或显示命令的详细信息需要Microsoft.Compute/locations/runCommands/read内置Reader角色和更高级别的权限。

此外,该命令Invoke-AzureRmVMRunCommand属于AzureRM已弃用的 powershell 模块,您可能需要将其升级到新Az模块,请参考此链接进行升级。

我用新Az命令测试脚本Invoke-AzVMRunCommand,它工作正常。

Invoke-AzVMRunCommand -ResourceGroupName joywebapp -Name joyVM -CommandId 'RunPowerShellScript' -ScriptPath 'C:\Users\joyw\Desktop\sample.ps1'

示例.ps1

$output = Get-LocalUser
Write-Output $output

结果

在此处输入图像描述


推荐阅读