首页/云/云平台与虚拟化速查/PowerCLI 分配角色与权限
虚拟化操作94 条

PowerCLI 分配角色与权限

用 PowerCLI 把自定义角色授予账号:先取权限项组角色,再对清单对象(如目录)分配主体并设置继承标志,适合批量与可审计的授权操作。

云平台与虚拟化速查云更新于 2026-10-13

PowerCLI 分配权限是干什么的

PowerCLI 通过 New-VIPermission 分配角色与权限:先用 Connect-VIServer 连接 vCenter,用 Get-VIPrivilege 选出需要的权限项,用 New-VIRole 组合成自定义角色,再用 New-VIPermission 把主体与角色绑定到某个清单对象,-Propagate 决定是否继承到子对象。批量变更前先导出当前授权清单存档,便于回溯与审计。

基本信息

连接Connect-VIServer -Server <vcenter>
取权限Get-VIPrivilege -Name <权限名>
建角色New-VIRole -Name <角色名> -Privilege <权限集合>
分配New-VIPermission -Entity <对象> -Principal <账号> -Role <角色> -Propagate
回收Remove-VIPermission 移除授权

典型使用场景

  • 为运维组批量授予虚机电源操作权限
  • 为新团队在指定文件夹层级授权,避免全库放开
  • 审计后统一收敛历史遗留的宽泛授权
  • 按项目批量下发只读权限用于巡检
  • 环境重建时用脚本一次性恢复既有授权结构

示例:给运维组授予电源操作角色

示例:给运维组授予电源操作角色
Connect-VIServer -Server vcenter.example.com
$privs = Get-VIPrivilege -Name 'VirtualMachine.Interact.PowerOn','VirtualMachine.Interact.PowerOff'
New-VIRole -Name 'VM PowerOPS' -Privilege $privs
New-VIPermission -Entity (Get-Folder 'prod-vms') -Principal 'CORP\opsgroup' \
  -Role 'VM PowerOPS' -Propagate $true
Get-VIPermission -Entity (Get-Folder 'prod-vms') | Format-Table

命令与注意

命令作用注意
Get-VIPrivilege查询可用权限项先查准确名称,避免拼错导致角色为空
New-VIRole创建自定义角色角色是权限集合,不含对象信息
New-VIPermission把主体与角色绑定到对象-Propagate 决定是否继承到子对象
Get-VIPermission查看现有授权变更前后各导出一份做对比
Remove-VIPermission回收授权回收前确认没有其他依赖该授权的自动化
批量授权前先用 Get-VIPermission 导出当前清单存档,便于变更回溯;回收授权时同样先存档,避免误删后无法还原。
授权主体优先使用安全组而不是个人账号:人员变动时只需调整组成员,权限结构本身保持稳定,审计也更容易解释。

脚本化授权建议

  • 把角色定义、授权对象与主体写成配置文件,环境重建时可一键恢复
  • 每次变更前用 Get-VIPermission 导出快照,作为审计与回滚依据
  • 按最小权限原则挑选权限项,避免直接套用管理员角色
  • 在测试 vCenter 上先验证脚本,确认 -Propagate 行为符合预期
  • 授权完成后让使用方实际登录验证,避免出现「有角色但点不动」
验证环节不要省:授权完成后用 Get-VIPermission 复核对象、主体与是否传播三项是否与设计一致,并让使用方实际登录执行一次目标操作。

易错点

  • 忘记 -Propagate:子对象未继承,实际权限与预期不符
  • 权限项名称拼写错误,创建出空角色,授权后用户依然无法操作
  • 用个人账号逐条授权,人员离职后权限残留且难以清理
  • 批量变更不做前置导出,出错后无法快速还原原有授权

数据来源与参考

  • PowerCLI 文档:New-VIPermission / New-VIRole
  • VMware 文档:权限管理
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌