Manipulando CDs con PowerCLI – Parte I
Hola amigos, soy Florián Murillo y vuelvo al ataque con “nuestros primeros scripts en PowerCLI” he preparado una serie de dos pequeños artículos, el primero (esta semana) para entender como funciona el montaje y desmontaje de un CD en modo comando y el segundo (la semana próxima) para automatizar el desmontaje de los CDs de las VM, evitando el molesto error de vMotion.
Primero nos conectamos a vCenter como ya sabemos :
add-pssnapin «vmware.vimautomation.core»
connect-viserver -server -user -password
Recordar que con add-pssnapin incorporamos los complementos de PowerCLI a nuestra sesión de PowerShell.
“DC” es nuestra VM de prueba y get-vm seguido de “DC” devuelve el objeto VirtualMachine de nuestra VM “DC” que guardamos en $vm.
$vm = get-vm «DC»
utilizamos get-cddrive para visualizar el estado de los CDs de la VM que entramos como variable con el “pipe” (la linea vertical que separa los comandos get-vm y get-cddrive).
write-host «VM : » $vm.Name «(estado inicial)»
write-host «=========================================»
get-vm -name $vm | get-cddrive
Ahora conectamos un CD a nuestra VM con el comando set-cddrive
$cd = get-vm -name $vm | get-cddrive
$aux = set-cddrive -CD $cd -ISOPath «[DATASTORE] Imagenes/vmimages/tools-isoimages/windows.iso» -connected:$true -confirm:$false
Volvemos a verificar el estado de conexión de CDs de nuestra VM
write-host «VM : » $vm.Name «(tras montar un CD)»
write-host «=========================================»
get-vm -name $vm | get-cddrive
Ahora que tenemos la certeza de que la VM tiene un CD conectado, procedemos a desmontar el CD (con el parámetro -nomedia) dentro de un bucle que iterará tantas veces como CDs tenga la VM
write-host «VM : » $vm.Name «(tras desmontar los CDs)»
write-host «=========================================»
foreach ($cd in $vm.cddrives) {
if ($cd.ISOPATH -ne $null) {
set-cddrive -CD $cd -nomedia -confirm:$false
}
}
Los argumentos -confirm:$false que veis en algunos comandos anteriores, son para que los comandos no nos pregunten su estamos seguros.
Os adjunto el resultado de la ejecución del script, fijaros en el valos de IsoPath que es quien nos indica que tenemos “montado” en nuestro CD :
> .\mi_script.ps1
VM : DC (estado inicial)
=========================================
IsoPath :
HostDevice :
RemoteDevice :
ParentId : VirtualMachine-vm-679
ConnectionState : VMware.VimAutomation.Client20.ConnectInfoImpl
Id : VirtualMachine-vm-679/3000
Name : CD/DVD Drive 1
VM : DC (tras montar un CD)
=========================================
IsoPath : [DATASTORE] Imagenes/vmimages/tools-isoimages/windows.iso
HostDevice :
RemoteDevice :
ParentId : VirtualMachine-vm-679
ConnectionState : VMware.VimAutomation.Client20.ConnectInfoImpl
Id : VirtualMachine-vm-679/3000
Name : CD/DVD Drive 1
VM : DC (tras desmontar los CDs)
=========================================
IsoPath :
HostDevice :
RemoteDevice :
ParentId : VirtualMachine-vm-679
ConnectionState : VMware.VimAutomation.Client20.ConnectInfoImpl
Id : VirtualMachine-vm-679/3000
Name : CD/DVD Drive 1
Por favor, si te ha gustado este post dame tu puntuacion: [ratings]