Añadir Host Hyper-V es una operación sencilla desde SCVMM con la herramietna gráfica, pero para automatizar es necesario en ocasiones realizarlo con powershell

Para nuevas implementaciones con nuevos hosts y para la recuperación rápida de desastres, es preferible usar PowerShell y el módulo Virtual Machine Manager (VMM) para agregar hosts Hyper-V a SCVMM. Es más rápido que la GUI, es fácilmente automatizado y no se necesita instalar GUI.

 

Hyper-V

 

Necesitamos el modulo de Virtual Machine Manager

En primer lugar, debemos importar cmdlets desde el módulo Virtual Machine Manager.

 

Esste comando es para verificar que esta instalado el modulo de VMM

Get-Command -module virtualmachinemanager

Este otro comando es para importar el modulo de VMM en caso de no tenerlo

Import-Module –Name VirtualMachineManager

 

 

Con los cmdlets en la mano, está listo para agregar fácilmente – o automatizar el proceso de agregar – nuevos hosts de Hyper-V a SCVMM.

Añadri nuevo host Hyper-V

El cmdlet Add-SCVHost es el que utilizaremos para añadir host Hyper-V a VMM.

Para agregar los hosts Hyper-V a SCVMM, se utilizará el cmdlet Add-SCVHost. Este cmdlet tiene el parámetro -ComputerName para el nombre de host del nuevo host Hyper-V.

 

opcion 1

Con este comando añadimos un host Hyper- V a VMM

Add-SCVMHost -ComputerName “lon-hv4.adatum.com” -RunAsynchronously -Credential (Get-SCRunAsAccount -Name “Administrador de Fabric”) 

 

opcion 2

Con este comando añadimos un host Hyper- V a VMM, especificando el HostGroup

$hostGroup = Get-SCVMHostGroup -ID “8287474e-0c62-4f94-8cdc-eeb0c7841a34” -Name “Hosts Hyper-V”

Add-SCVMHost -ComputerName “lon-hv4.adatum.com” -RunAsynchronously -Credential (Get-SCRunAsAccount -Name “administrador de fabric”) -VMHostGroup $hostGroup

 

opcion 3

Con esta ultima opcion añadimos un o mas host Hyper- V a VMM, indicando los nombres de los host en una variable

Esta es la variable de hosts Hyper-V

$Servers= ‘LON-HV4.adatum.com’, ‘LON-HV5.adatum.com’

Y este es el comando de host Hyper-V, al que pasaremos la variable des host mediante un pipe

$Servers | Foreach-Object{Add-SCVMHost -computername “$_” -Credential (Get-SCRunAsAccount -Name “Administrador de Fabric”) -RunAsynchronously}

 

El cmdlet Foreach-Object ejecutará Add-SCVHost para cada nombre de host que se envíe a través del pipe. La variable especial $ _ es el marcador de posición para el nombre de host individual. El parámetro -Credential, Al igual que la herramienta de administración GUI, se  requiere especificar la cuenta RunAs para instalar el nuevo host. El cmdlet Get-SCRunAsAccount importará esto para que la instalación pueda continuar sin errores.

Comprobar del progreso de la instalación

Se puede utilizar el cmdlet Get-SCJob para proporcionar información del progreso. Esto es muy útil para los scripts de automatización cuando necesita verificar que la instalación esté completa antes de continuar con el script. Muestran los trabajos en ejecución actuales y su progreso actual.

Get-SCJob | Where{$_.status -eq "running"} | Select-Object -Property ResultName, Progress

 

Este otro comando comprueba cuando se ha  terminado la instalación, viendo los trabajos finalizados al 100%

Get-SCJob | Where{$_.status -like "*complete*"} | Select-Object -Property ResultName, Progress

 

Este comando comprueba el estado de un host mediante  Get-SCVMHost:

 

Get-SCVMHost | Select-Object -Property ManagedComputer, VirtualServerState, HyperVState, CommunicationState

 

 

 

 

Autor: Pablo Apolo

Curso: Microsoft MCSE Private Cloud

Centro: Tajamar

Año académico: 2016-2017