委派用户管理Hyper-v

在安装完成Hyper-v之后,默认状况下,只有管理员组的成员才有权限去管理Hyper-v,作一些诸如管理网络,管理虚拟机,管理磁盘等等的操做,普通用户没这个权限,从应用角度来讲,若是公司全部的服务器都丢进了Hyper-v,有WEB服务器,有Exchange服务器,还有域控,还有终端服务器等等不少,通常来讲,各个管理员各司其职,IIS高手就去管WEB服务器,Exchange高手就去管Exchange服务器,softice就挺身而出地自荐下当个终端服务管理员,你们都有得玩,可是Hyper-v管理员可能不但愿每一个人都用管理员登陆,但愿他们各管各的,互不影响。
一、开始----运行----输入azman.msc,打开受权管理器
 
 
二、右点受权管理器,选择打开受权存储,选择XML文件,浏览到路径 C:\ProgramData\Microsoft\Windows\Hyper-V,找到下面的InitialStore.xml文件,打开它,这里可能有一点小问题,这个ProgramData文件夹默认是隐藏的,你得设置显示全部文件和文件夹,把它挖出来
 
 
三、打开之后,展开Hyper-v Services,展开定义,右键角色定义,选择新建角色定义,填上名称和描述
 
 
四、选择添加,出来添加定义的对话框,选择操做,勾选上Read Services Configuration和View Virtual Switch Management Service这两个,肯定
 
 
五、再肯定关闭对话框,咱们即可以在右边看到刚才定义的角色了,右点角色分配,选择分配新角色,在添加角色对话框中,选择刚才建立的Hyper-v Virtual Machine Managers
 
 
六、再肯定关闭对话框,咱们就能够在角色分配列表中看到这个Hyper-v Virtual Machine Managers角色了,再次右点这个角色,选择分配用户和组,选择从Windows和Active Directory,添加一个组,好比Terminal Servers Admins这个组,添加完成,咱们在右边也能够看到这个添加的组了,这样下来,配置只算作了一步,接下来的一步,咱们还要去新建一个做用域,要新建做用域,咱们能够右键选择Hyper-v Services,选择新建做用域,取个名字,写个描述
 
 
七、肯定之后,咱们就能够在受权管理器中看到这个Terminal Servers Admin Scope了,展开它,一样找到角色,展开角色,右键选择新建角色定义,写个名称,填上描述,再继续选择添加按钮,选择操做,这一次咱们要选择上6个角色,
Allow Input to Virtual Machine
Allow Output From Virtual Machine
Pause and Restart Virtual Machine
Start Virtual Machine
Stop Virtual Machine
View Virtual Machine Configration
 
 
 
八、接下来要作的,一样是在Terminal Servers Admin Scope的角色分配中,将Terminal Server Admin Roles添加进来,而且为这个角色添加上Terminal Servers Admins这个组
 
 
九、第二步的操做与第一步相比,算是大同小异了,应该说仍是比较轻松的,但事情尚未结束,还得继续往下走,走第三步,运行一个脚本
 
Option Explicit

Dim WMIService
Dim VM
Dim VMManagementService
Dim VMSystemGlobalSettingData
Dim VMName
Dim VMScope
Dim Result

'Enter the VM name and the name of the scope to assign it to
VMName = InputBox( "Specify the virtual machine to change scope on:")
VMScope = InputBox( "Specify the new scope to be used:")

'Get an instance of the WMI Service in the virtualization namespace
Set WMIService=GetObject( "winmgmts:\\.\root\virtualization")

'Get a VMManagementService object
Set VMManagementService = WMIService.ExecQuery( "SELECT * FROM Msvm_VirtualSystemManagementService").ItemIndex(0)

'Get the VM object that we want to modify
Set VM=(WMIService.ExecQuery( "SELECT * FROM Msvm_ComputerSystem WHERE ElementName='" & VMName & "'")).ItemIndex(0)

'Get the VirtualSystemGlobalSettingsData of the VM to be modified
Set VMSystemGlobalSettingData = (VM.Associators_( "MSVM_ElementSettingData", "Msvm_VirtualSystemGlobalSettingData")).ItemIndex(0)

'Change the ScopeOfResidence property
VMSystemGlobalSettingData.ScopeOfResidence = VMScope

'Update the VM with ModifyVirtualSystem
Result = VMManagementService.ModifyVirtualSystem(VM.Path_.Path, VMSystemGlobalSettingData.GetText_(1))
 
 
把这个脚本保存VMScope.vbs,在命令行下执行 cscript VMScope.vbs,他会提示你输入要更改Scope的虚拟机的名称
 
 
输入完成之后,肯定,他又出来一个窗口,让你输入Scope的名称,这里咱们就输入第二步中建立的Terminal Server Admin Scope
 
 
这样,整个三步操做就算完成了,若是你有三台终端服务器运行在虚拟机里面,分别为SRV-TS-01,SRV-TS-02,SRV-TS-03,那么你把这个脚本按照上面的操做运行三遍
 
最后,总算到了Terminal Servers Admins大显身手的时候了,做为验证,你可使用该用户组中的成员登陆,打开Hyper-v管理器,链接到这台Hyper-v服务器,验证一下效果,看它是否是具备
Allow Input to Virtual Machine
Allow Output From Virtual Machine
Pause and Restart Virtual Machine
Start Virtual Machine
Stop Virtual Machine
View Virtual Machine Configration
这六个权限,固然,你还能够定义更多的操做权限,以知足你的应用场景

本文出自 “俾多心机 作好本身” 博客,请务必保留此出处 http://softicelee.blog.51cto.com/932950/324016php

相关文章
相关标签/搜索