В 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 &
«rootvirtualization»)
Set objVHDService = objWMIService.ExecQuery («SELECT * FROM MsvmJmageManagementService»).ltemlndex (0) objVHDService.Mount (strVHDFile) Убедитесь, что при запуске команды файл VHD не используется виртуальной машиной. VHD можно подключить с помощью следующей команды:
D:projectsWBScri pts>cscript vhdmount.vbs d:virtualsdemo1demo1 .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 &
«rootvirtualization»)
Set objVHDService = objWMIService.ExecQuery («SELECT * FROM Msvm_lmageManagementService»).ltemlndex (0) objVHDService.Unmount (strVHDFile) Чтобы выполнить сценарий и отключить VHD, запустите следующую команду: D:projectsVBScripts>cscript vhdunmount.vbs d:virtualsdemo1demo1 .vhd
Джон Сэвилл