ПоискНавигация |
Перечисляем виртуальные машины на Hyper-VСкрипт берет имена или ip адреса физических серверов под управлением Hyper-V (не важно Windows Server 2008R2 with Hyper-V или просто Hyper-V Server) из таблицы базы данных и заносит названия виртуальных машин в другую таблицу базы данных. У таблиц настроены связи по ключевым полям поэтому в MS Access можно достаточно удобно посмотреть где и что работает. Скрипт можно доработать до небольшой системы, которая позвонил в реальном времени смотреть где и какая станция запущена, нет ли превышения по использованию лицензий ну и так далее. В данном примере из скрипта убрал обработку ошибок, чтобы не засорять сам код, но она вам скорее всего понадобится. '========================================================================== ' ' AUTHOR: NefKA ' ' COMMENT: Скрипт пробегает по виртулкам на заданном hyper-v и добавляет их имена в базу. ' '========================================================================== Const adOpenStatic = 3 Const adLockOptimistic = 3 Dim sSrv, sNL sNL = Chr(10)&Chr(13) 'создаем нужные объекты Set objConn = CreateObject("ADODB.Connection") Set objRSVM = CreateObject("ADODB.Recordset") Set objRHost = CreateObject("ADODB.Recordset") 'подключаемся к базе objConn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = virtuals_db.mdb" 'смотрим таблицу с физическими серверами objRSHost.Open "select * from THOST", objConn,adOpenStatic,adLockOptimistic objRSHost.MoveFirst While Not objRSHost.EOF 'берем IP адрес сервера (можно и имя брать) sSrv = objRSHost.Fields("IPAddress") 'подключаемся к серверу Set WMIService = GetObject("winmgmts:\\"&sSrv&"\root\virtualization") 'получаем список виртуальных машин, нужно помнить, что на первом месте 'идет имя самого сервера добавлять его в базу или как-то обрабатывать 'решать вам Set VMList = WMIService.ExecQuery("SELECT * FROM Msvm_ComputerSystem") objRSVM.Open "select * from TVM", objConn,adOpenStatic,adLockOptimistic For Each VMM In VMList objRSVM.AddNew objRSVM.Fields("VMElementName") = VMM.Elementname objRSVM.Fields("KeyState") = VMM.EnabledState objRSVM.Fields("KeyHost") = objRSHost.Fields("Number") objRSVM.Update Next objRSVM.Close Set WMIService = Nothing Set VMList = Nothing objRSHost.MoveNext Wend objRSHost.Close objConn.Close
|
Вход для пользователейНовые записи в блогах
Сейчас на сайтеСейчас на сайте 0 пользователей и 1 гость.
|