Как подключить виртуальный жесткий диск (VHD) в Hyper-V без дополнительных программ?

Автор Itworkroom

В Hyper-V есть полноценная служба управления образа­ми Image Management Service, которую можно вызвать из сценариев, программ и кода, чтобы выполнить опе­рации подключения и отключения. Компания Microsoft предоставляет сценарий для подключения VHD-файлов и другой сценарий — для их отключения. Мною подготовлены гораздо более простые сценарии, чем у компании Microsoft. Эти сценарии Windows Management Instrumentation (WMI) не столь полнофункциональны, как у Microsoft, но пригодны для выполнения задачи. Сохраните приведенный ниже сценарий подключения с именем vhdmount.vbs. Option Explicit

Dim objWMIService, objVHDService, strComputer, strVHDFile strComputer =».»

If Wscript.Arguments.Count < 1 Then

Wscript.Echo «Arguments required. For example:» & vbCrLf &

«cscript vhdmount.vbs disk.vhd»

Wscript.Quit (0)

End If

strVHDFile = Wscript.Arguments (0)

Set objWMIService = GetObject («winmgmts:\\» & strComputer &

«\root\virtualization»)

Set objVHDService = objWMIService.ExecQuery («SELECT * FROM MsvmJmageManagementService»).ltemlndex (0) objVHDService.Mount (strVHDFile) Убедитесь, что при запуске команды файл VHD не используется виртуальной машиной. VHD можно подключить с помощью следующей команды:

D:\projectsWBScri pts>cscript vhdmount.vbs d:\virtuals\demo1\demo1 .vhd

Затем нужно перевести диск в активный режим с помощью оснастки Disk Management консоли Microsoft Management Console (MMC). После этого диску будет назначен символ. VHD можно отключить с помощью следующего сцена­рия. Сохраните его с именем vhdunmount.vbs. Option Explicit

Dim objWMIService, objVHDService, strComputer, strVHDFile strComputer =».»

If Wscript.Arguments.Count < 1 Then

Wscript.Echo «Arguments required. For example:» & vbCrLf &

«cscript vhdmount.vbs disk.vhd»

Wscript.Quit (0)

End If

strVHDFile = Wscript.Arguments (0)

Set objWMIService = GetObject («winmgmts:\\» & strComputer &

«\root\virtualization»)

Set objVHDService = objWMIService.ExecQuery («SELECT * FROM Msvm_lmageManagementService»).ltemlndex (0) objVHDService.Unmount (strVHDFile) Чтобы выполнить сценарий и отключить VHD, запусти­те следующую команду: D:\projects\VBScripts>cscript vhdunmount.vbs d:\virtuals\demo1\demo1 .vhd

 

Джон Сэвилл

Добавить комментарий

Ваш адрес email не будет опубликован.