You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用自动化账户托管标识执行Get-Service报错,需配置哪些权限?

解决方法

1. 为系统托管标识分配VM本地管理员权限

虚拟机参与者是Azure RBAC角色,仅能管理VM生命周期,无法访问VM内部的服务控制管理器(SCM)。需将自动化账户的系统托管标识加入VM本地管理员组:

  • Azure AD加入的VM:创建Azure AD安全组,将系统托管标识加入该组,再在VM的「本地管理员分配」中添加此组。
  • 混合/本地AD加入的VM:通过组策略或本地用户和组管理,将系统托管标识的SID(格式为S-1-12-1-<ObjectID>,<ObjectID>可在自动化账户→标识→系统分配中查看)添加到本地管理员组。

2. 确保WinRM服务配置正确

Get-Service -Computer依赖WinRM协议远程访问SCM,需确认:

  • VM上的WinRM服务已启动(服务名:WinRM)。
  • 执行winrm quickconfig完成WinRM基础配置,确保防火墙开放默认端口(5985 HTTP/5986 HTTPS)。
  • 若直接远程执行,需确保VM网络允许自动化账户的出站IP访问WinRM端口;或改用Hybrid Runbook Worker在VM内部执行命令,简化权限配置。

3. 改用Azure VM Run Command执行命令

若不想分配本地管理员权限,可通过Azure平台API执行操作,无需WinRM:

Invoke-AzVMRunCommand -ResourceGroupName $rgName -VMName $vmName -CommandId 'RunPowerShellScript' -ScriptString "Get-Service -Name $service"

此方式仅需自动化账户拥有虚拟机参与者/操作员角色即可。

4. 验证权限与连接

  • 检查VM的「访问控制(IAM)」中是否存在系统托管标识的角色分配,本地管理员组的配置需等待同步(Azure AD加入的VM可能需数分钟至数小时)。
  • 在Runbook中添加调试步骤,比如用Test-WSMan -ComputerName $vmName验证WinRM连接是否正常。

内容的提问来源于stack exchange,提问作者Narendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 17:17:14