委派用户管理Hyper-v
生活随笔
收集整理的這篇文章主要介紹了
委派用户管理Hyper-v
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在安裝完成Hyper-v以后,默認情況下,只有管理員組的成員才有權限去管理Hyper-v,做一些諸如管理網絡,管理虛擬機,管理磁盤等等的操作,普通用戶沒這個權限,從應用角度來說,如果公司所有的服務器都丟進了Hyper-v,有WEB服務器,有Exchange服務器,還有域控,還有終端服務器等等很多,一般來說,各個管理員各司其職,IIS高手就去管WEB服務器,Exchange高手就去管Exchange服務器,softice就自告奮勇地自薦下當個終端服務管理員,大家都有得玩,但是Hyper-v管理員可能不希望每個人都用管理員登錄,希望他們各管各的,互不影響。 1、開始----運行----輸入azman.msc,打開授權管理器 2、右點授權管理器,選擇打開授權存儲,選擇XML文件,瀏覽到路徑 C:\ProgramData\Microsoft\Windows\Hyper-V,找到下面的InitialStore.xml文件,打開它,這里可能有一點小問題,這個ProgramData文件夾默認是隱藏的,你得設置顯示所有文件和文件夾,把它挖出來 3、打開以后,展開Hyper-v Services,展開定義,右鍵角色定義,選擇新建角色定義,填上名稱和描述 4、選擇添加,出來添加定義的對話框,選擇操作,勾選上Read Services Configuration和View Virtual Switch Management Service這兩個,確定 5、再確定關閉對話框,我們便可以在右邊看到剛才定義的角色了,右點角色分配,選擇分配新角色,在添加角色對話框中,選擇剛才創建的Hyper-v Virtual Machine Managers 6、再確定關閉對話框,我們就可以在角色分配列表中看到這個Hyper-v Virtual Machine Managers角色了,再次右點這個角色,選擇分配用戶和組,選擇從Windows和Active Directory,添加一個組,比如Terminal Servers Admins這個組,添加完成,我們在右邊也可以看到這個添加的組了,這樣下來,配置只算做了一步,接下來的一步,我們還要去新建一個作用域,要新建作用域,我們可以右鍵選擇Hyper-v Services,選擇新建作用域,取個名字,寫個描述 7、確定以后,我們就可以在授權管理器中看到這個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 8、接下來要做的,同樣是在Terminal Servers Admin Scope的角色分配中,將Terminal Server Admin Roles添加進來,并且為這個角色添加上Terminal Servers Admins這個組 9、第二步的操作與第一步相比,算是大同小異了,應該說還是比較輕松的,但事情還沒有結束,還得繼續往下走,走第三步,運行一個腳本 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 這六個權限,當然,你還可以定義更多的操作權限,以滿足你的應用場景
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 這六個權限,當然,你還可以定義更多的操作權限,以滿足你的應用場景
總結
以上是生活随笔為你收集整理的委派用户管理Hyper-v的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王道操作系统考研笔记——2.1.9 调度
- 下一篇: 各种排序算法及其实现总结