PowerCLI nos facilita la vida
Hola amigos, soy Florián Murillo y aquí estoy, como cada viernes.
Seguimos aumentando nuestro catálogo de comandos/scripts con una sencilla utilidad que encuentra la virtual machine propietaria de una IP concreta, informándonos del nombre de la VM en el inventario de nuestro vCenter Server.
C:\> get-vmaddress -ip <direcciónIP>
Código :
param(
[parameter(mandatory = $true)]
[string]$ip)
$exito = $false
$vms = get-vm
foreach($vm in $vms) {
$ipes = $vm.guest.ipaddress
foreach($ipe in $ipes) {
if($ipe -eq $ip) {
write-host «VM encontrada»
write-host $vm.name
$exito = $true
}
}
}
if($exito -eq $false){
write-host «Nombre no encontrado»
}
Observaciones :
1. Utilizamos el comando param para forzar a la entrada de la IP. Si no pusiéramos la IP nos la pediría porque está definida como mandatory.
2. $vm.guest.ipaddress crea un array de objetos con las IPv4 y las IPv6 de la VM.
3. Solo analiza las VMs arrancadas.
Os adjunto la respuesta del comando en unos ejemplos:
[vSphere PowerCLI] C:\s> .\get-vmaddress.ps1 -ip 10.10.1.230
Nombre no encontrado
[vSphere PowerCLI] C:\ s> .\get-vmaddress.ps1 -ip 10.10.1.130
VM encontrada
vsh130
Espero que este nuevo comando/script os sea útil en vuestro día a día y aumente vuestro catálogo de nuevos comandos.
¿Crees que este post le puede interesar a alguien a quien conoces? Compártelo clicando los botones de Twitter, Facebook o Google+ de abajo. Gracias por tu apoyo.