委派用戶管理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

相關文章
相關標籤/搜索