azure - 如何获取 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
解决方案
首先,确保您有足够的权限来显示命令的详细信息,请参阅限制对运行命令的访问:
列出运行命令或显示命令的详细信息需要
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
结果:
推荐阅读
- google-analytics - 从另一个 GTM 容器安装 GTM 容器
- linux - 由于 crontab 而被 Raspberry Pi 锁定
- python - Window updates only when it resizes in PyQt5
- android - 在 Kotlin 中循环遍历数组
- html - 我在 html 中的输入不是从顶部开始的
- python - 将 pandas 列中的值替换为缺失键的默认值
- r - tidyr 应用带有 purr 和 broom 的回归模型
- loopback - 如何设置 Loopback ACL 以便所有经过身份验证的人都可以创建但只有所有者可以更新
- typescript - 在 TypeScript 中,我如何判断接口是否为空或未实现?
- google-bigquery - Array_agg 包含不同的结构