Aquí os dejo un par de scripts para añadir discos virtuales a nuestras máquinas virtuales. Será tu elección y diseño la que te haga escoger si tu disco será IDE o SCSI.
Como ya sabéis, con controladora SCSI y con Windows 2008 R2 este script nos ayudará a ampliar en CALIENTE el espacio en disco de nuestras máquinas. Sistemas como Linux deberán ser con controladora IDE. Para ejecutarlos, guarda el script desde las líneas discontínuas a un bloc de notas y guardalo con extensión .ps1
Un saludo.
PARA CONTROLADORA IDE
--------------------------------------------------------------------------------------
$HyperVGuest = "Demo-VM-Passtrough"
#DAMOS DE ALTA EL ESPACIO DE NOMBRE PARA EL SCRIPT#
#SE ESTABLECE EL ESPACIO DE NOBMRE ROOT\VIRTUALIZATION PARA LA VARIABLE HYPERVGUEST#
$VMManagementService = Get-WmiObject -class "Msvm_VirtualSystemManagementService" -namespace "root\virtualization"
$Vm = Get-WmiObject -Namespace "root\virtualization" -Query "Select * From Msvm_ComputerSystem Where ElementName='$HyperVGuest'"
# SE DEFINE QUÉ CONFIGURACIÓN DE MÁQUINA NOS INTERESA INVESTIGAR #
$VMSettingData = Get-WmiObject -Namespace "root\virtualization" -Query "Associators of {$Vm} Where ResultClass=Msvm_VirtualSystemSettingData AssocClass=Msvm_SettingsDefineState"
# SE DEFINE LA CONTROLADORA QUE QUEREMOS ESCOGER: IDE CONTROLLER#
$VmIdeController = (Get-WmiObject -Namespace "root\virtualization" -Query "Associators of {$VMSettingData} Where ResultClass=Msvm_ResourceAllocationSettingData AssocClass=Msvm_VirtualSystemSettingDataComponent" |`
where-object {$_.ResourceSubType -eq "Microsoft Emulated IDE Controller" -and $_.Address -eq 0})
# SE DEFINE LA LOCALIZACIÓN DEL DISCO #
$DiskAllocationSetting = Get-WmiObject -Namespace "root\virtualization" -Query "SELECT * FROM Msvm_AllocationCapabilities WHERE ResourceSubType = 'Microsoft Physical Disk Drive'"
$DefaultHardDisk = (Get-WmiObject -Namespace "root\virtualization" -Query "Associators of {$DiskAllocationSetting} Where ResultClass=Msvm_ResourceAllocationSettingData AssocClass=Msvm_SettingsDefineCapabilities" | `
where-object {$_.InstanceID -like "*Default"})
$Disk = Get-WmiObject -Namespace "root\virtualization" -Query "select * from Msvm_DiskDrive Where DriveNumber=2"
#$Disk = Get-WmiObject -Namespace "root\virtualization" -Query "select * from Msvm_DiskDrive Where ElementName Like '%Lun 200%'"
$DefaultHardDisk.Parent = $VmIdeController.__Path
$DefaultHardDisk.Address = 0
$DefaultHardDisk.HostResource = $Disk.__PATH
#AÑADE EL DISCO VIRTUAL#
$VMManagementService.AddVirtualSystemResources($VM, $DefaultHardDisk.PSBase.GetText(1)) | ProcessWMIJob $VMManagementService "AddVirtualSystemResources"
---------------------------------------------------------------------------------
PARA CONTROLADORA SCSI
--------------------------------------------------------------------------------------
$HyperVGuest = "Demo-VM-Passtrough"
#DAMOS DE ALTA EL ESPACIO DE NOMBRE PARA EL SCRIPT#
#SE ESTABLECE EL ESPACIO DE NOBMRE ROOT\VIRTUALIZATION PARA LA VARIABLE HYPERVGUEST#
$VMManagementService = Get-WmiObject -class "Msvm_VirtualSystemManagementService" -namespace "root\virtualization"
$Vm = Get-WmiObject -Namespace "root\virtualization" -Query "Select * From Msvm_ComputerSystem Where ElementName='$HyperVGuest'"
# SE DEFINE QUÉ CONFIGURACIÓN DE MÁQUINA NOS INTERESA INVESTIGAR #
$VMSettingData = Get-WmiObject -Namespace "root\virtualization" -Query "Associators of {$Vm} Where ResultClass=Msvm_VirtualSystemSettingData AssocClass=Msvm_SettingsDefineState"
# SE DEFINE LA CONTROLADORA QUE QUEREMOS ESCOGER: SCSI CONTROLLER#
$VmScsiController = (Get-WmiObject -Namespace "root\virtualization" -Query "Associators of {$VMSettingData} Where ResultClass=Msvm_ResourceAllocationSettingData AssocClass=Msvm_VirtualSystemSettingDataComponent" | `
where-object {$_.ElementName -eq "SCSI Controller"})
# SE DEFINE LA LOCALIZACIÓN DEL DISCO #
$DiskAllocationSetting = Get-WmiObject -Namespace "root\virtualization" -Query "SELECT * FROM Msvm_AllocationCapabilities WHERE ResourceSubType = 'Microsoft Physical Disk Drive'"
$DefaultHardDisk = (Get-WmiObject -Namespace "root\virtualization" -Query "Associators of {$DiskAllocationSetting} Where ResultClass=Msvm_ResourceAllocationSettingData AssocClass=Msvm_SettingsDefineCapabilities" | `
where-object {$_.InstanceID -like "*Default"}) $Disk = Get-WmiObject -Namespace "root\virtualization" -Query "select * from Msvm_DiskDrive Where DriveNumber=2"
#$Disk = Get-WmiObject -Namespace "root\virtualization" -Query "select * from Msvm_DiskDrive Where ElementName Like '%Lun 200%'"
$DefaultHardDisk.Parent = $VmScsiController.__Path
$DefaultHardDisk.Address = 0
$DefaultHardDisk.HostResource = $Disk.__PATH
#AÑADE EL DISCO VIRTUAL#
$VMManagementService.AddVirtualSystemResources($VM, $DefaultHardDisk.PSBase.GetText(1)) | ProcessWMIJob $VMManagementService "AddVirtualSystemResources"
No hay comentarios:
Publicar un comentario