Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Para esto debemos usar las siguientes claves para Windows Server 2012 R2
Datacenter: Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TW
Standard: DBGBW-NPF86-BJVTX-K3WKJ-MTB6V
Essentials: K2XGM-NMBT3-2R6Q8-WF2FK-P36R2
Datacenter: TMJ3Y-NTRTM-FJYXT-T22BY-CWG3J
Standard: C3RCX-M6NRP-6CXC9-TW2F2-4RHYD
Essentials: B4YNW-62DX9-W8V6M-82649-MHBKQ
slmgr /ato
Al ser la misma licencia, se podría crear una GPO que corriera el script
automáticamente, si se tienen entornos con múltiples versiones de sistema
operativo se podría usar un filtro WMI o configurar Item-Level Targeting para
que a cada versión de sistema operativo le aplique un script con la respectiva
licencia.
reación máquinas virtuales Hyper-V
automáticamente
Publicado el 25 octubre, 2016 8 comentarios Etiquetas: Hyper-V, maqueta
Para que las máquinas virtuales se activen con este método, cumpliendo todo lo anterior,
la clave de producto que deben tener instalada los equipos o máquinas virtuales
para la activación automática corresponde a las siguientes tablas:
Datacenter Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TW
Standard DBGBW-NPF86-BJVTX-K3WKJ-MTB6V
Essentials K2XGM-NMBT3-2R6Q8-WF2FK-P36R2
Claves de activación AVMA para Windows Server 2016 (activa máquinas virtuales
Windows Server 2012 R2 y Windows Server 2016
Edición Clave a instalar
Datacenter TMJ3Y-NTRTM-FJYXT-T22BY-CWG3J
Standard C3RCX-M6NRP-6CXC9-TW2F2-4RHYD
Essentials B4YNW-62DX9-W8V6M-82649-MHBKQ
Por ejemplo, si tenemos una máquina virtual con Windows Server 2016 Standard, desde la
consola de sistema ejecutaremos el siguiente comando para instalar la clave de producto:
Licencias KMS
Son para la activación de equipos mediante la red interna. Requieren de un servidor de
licencias, que tiene instalada la clave KMS que se proporciona al comprar las
licencias. Esta clave sólo se obtiene mediante un contrato de Volumen: OPEN,
SELECT… No sirve para instalaciones con licencias OEM (licencias compradas con el
equipo), en estos casos se tienen que instalar las licencias MAK, asignada a cada
equipo, ya sea físico o virtual.
A no ser que sean licencias de Windows Server Datacenter sobre Hyper-V que se
puede utilizar el método anterior, el AVMA.
Claves de activación KMS para Windows Server 2016
Datacenter CB7KF-BWN84-R7R2Y-793K2-8XDDG
Standard WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
Essentials JCKRF-N37P4-C2D82-9YXRT-4M63B
Datacenter W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
Standard D2N9P-3P6X9-2R39C-7RTCD-MDVJX
Essentials KNC87-3J2TX-XB4WP-VCPJV-M4FWM
También pasa lo mismo que en el caso anterior, si la máquina virtual o, también en este
caso, la física no se han instalado con esta clave de producto, se puede cambiar mediante
el comando de consola de sistema:
Ya sé que no es objeto de esta entrada, pero quizás también os interesa tener las claves
KMS del sistema operativo cliente Microsoft Windows 10:
Claves de activación KMS para Windows 10
Professional W269N-WFGWX-YVC9B-4J6C9-T83GX
Enterprise NPPR9-FWDCX-D2C8J-H872K-2YT43
Education NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
El sistema prepara el equipo para ser copiado y lo deja parado. ¡Es el momento de hacer
la copia del disco duro virtual! para otras máquinas virtuales.
Ahora bien, no os quiero dejar sólo el script para ejecutarlo y ya está, no estaría
haciendo bien el trabajo.
$nombreVM = "srvPRUEBA"
$plantillaVHDX = "D:\VMs\Plantillas\Windows2016coreplantilla.vhdx"
$switch = "swExtern" #switch virtual donde conectar las máquinas virtuales.
$MemoriaRAM = 2048MB #memoria RAM de la máquina virtual.
$CPUs = 2 # número de procesadores virtuales
A continuación tenemos que jugar un poco con las variables anteriores para la reubicación
de los archivos en el disco duro.
Ya tenemos todos los datos necesarios. El siguiente paso es hacer alguna cosa con ellos.
Empezamos comprobando que el switch virtual existe. En caso que no exista, creamos
uno del tipo Privado donde conectar la máquina virtual.
El comando if actúa como condicional (si pasa esto, haz esto otro). ¿El qué? pues
se hace un listado de los switchs virtualesque tiene el anfitrión (Get-VMSwitch). De esta
lista sólo se selecciona el que su nombre es el que se ha indicado en la variable
$switch. Con el resultado, se hace un recuento (.count) de la cantidad de switch que
puede haber. Si la lista contiene 1 elemento, bingo, el switch existe. Poniendo el símbolo
de admiración al inicio (!), indica que se tiene que cumplir precisamente lo contrario,
si la lista no es igual a 1, no tenemos switch. Por lo tanto, para no dar errores en la
creación de máquinas virtuales, se crea uno de entorno privado. El comando write-host
sirve para sacar alguna cosa por pantalla, en caso de crear el switch lo indica con el
texto de color verde.
Con la máquina virtual creada, la parte básica, como que ocupa poco espacio, es el
momento de mover todos sus archivos a una ubicación única y controlada, que sinó
después nos volvemos locos. Esto se hace con el Move-VMStorage. Indicando la máquina
virtual (get-vm $nombreVM) y la carpeta de destino (-DestinationStoragePath). También
podéis ver que se utilizan variables en lugar de nombres concretos.
La máquina virtual ya está bien definida, falta el disco duro. Crear la carpeta para alojar los
discos duros virtuales (new-item) dentro de la carpeta de la máquina virtual, copìar el disco
duro que (copy-item) se ha maquetado y cambiarle el nombre (rename-item).
Añadir el nuevo disco duro a la máquina virtual (add-vmharddiskdrive) como disco duro
SCSI (si la máquina es de generación 1 tiene que ser IDE) y configurarlo como método de
inicio de la máquina virtual (set-vmfirmware). Si la máquina es de generación 1 tiene que
ser set-vmbios:
Ya está todo a punto, sólo queda poner en marcha la máquina virtual (start-vm) y que el
proceso de maquetación acabe su trabajo. Nos podemos conectar a ella directamente
(vmconnect):
Con todo esto escrito en la parte superior, ya se puede poner en práctica haciendo clic en
el botón del play o pulsando la tecla F5.
Esperar un rato. Dependiendo del tamaño de la plantilla tardará más o menos en
copiarla. Es la parte más pesada de estos script.
Para acabar abriéndose una consola con la nueva máquina virtual acabando de
personalizarse y quedarse con el Control + Alt + Supr lista para trabajar.
La cosa no acaba aquí. Esto sólo crea una máquina virtual y ¿si quiero crear muchas de
seguidas? ¿He de estar modificando este script cada vez? La respuesta es NO, sino que a
partir de todo este código anterior, se crea una función (function NuevaVM { }) donde
dentro de las claves se pone el código y hacemos una pequeña variación, en lugar de
especificar el nombre de la máquina virtual, hacemos que lo coja del parámetro
($nombreVM = $args[0]) que se le pasará a la función. El resto es todo igual (no
reproduzco todo el código de nuevo (…)).
function NuevaVM
{
$nombreVM = $args[0]
$plantillaVHDX = "D:\VMs\Plantillas\Windows2016coreplantilla.vhdx"
$switch = "swExtern" #switch virtual donde conectar las máquinas virtuales
.
...
start-vm (Get-VM $nombreVM)
vmconnect localhost $nombreVM
}
Si ahora se ejecuta este script, NO pasa nada, simplemente se ha definido una función en
la consola, pero que no tiene una acción directa en el sistema. No se ha creado ninguna
nueva máquina virtual ni nada de nada.
Para crear una nueva máquina virtual utilizando nuestra función, se ejecuta el nombre de
la función (NuevaVM) seguida del nombre de la nueva máquina virtual (srvDOS).
nuevavm srvDOS
Para cerrar, ¿y si quiero crear un entorno de varias máquinas virtuales a la vez? Por
ejemplo una de Active Directory (srvDC), una para Microsoft SQL Server (srvSQL) y dos
para servidor web (srvWEB1 y srvWEB2).
Se crea una función en que se le puedan pasar todos estos nombres (param) y
vaya creando (foreach) una a una las máquinas virtuales utilizando la función
anterior (NuevaVM).
function CrearEntornoAppWeb
{
param([string[]] $VMs)
foreach ($VM in $VMs)
{
write-host("Creando máquina virtual: " + $VM) -ForegroundColor Green
NuevaVM $VM
}
}
CrearEntornoAppWeb srvDC,srvSQL,srvWEB1,srvWEB2
Una vez finaliza de trabajar para nosotros, tenemos las cuatro máquinas encendidas y a
punto para trabajar.
¡Y, claro, no escribiremos cada vez todas estas líneas de código!. Menú Archivo, Guardar
como. La próxima vez sólo hay que abrirlo, y ejecutarlo para tener a disposición para la
creación máquinas virtuales. También se puede añadir a otros procesos automáticos, el
trabajo gordo ya está hecho. ¿Cuál será tu próximo paso?
Os dejo el script que he creado en esta entrada, colgado en el repositorio de GitHub, para
no picar tanto código.