Cambiar el nombre de la VM por el hostname del invitado con powercli

En estado probando con ansible para crear maquinas de forma masiva. Al rato, me di cuenta que quizas seria interesante como poder cambiar el nombre a todas esas maquinas, para tener un nombre descriptivo del rol de cada maquinas. inicialmente pense en hacerlo a mano, pero pensando en un futuro y, y viendo que si fueran 500 maquinas me llevaria demasiado tiempo asi que pense que por powercli se podria hacer.

Buscando por internet he encontrado un script en powercli que me ha resultado muy útil. Lo que hace, es renombrar las maquinas virtuales con el nombre de la maquina.

$VMs = Get-VM | Where {$_.PowerState -eq "PoweredOn"}
 
Foreach ($VM in $VMS){
      $VCName = $VM.Name
      $WinName = $VM.Guest.Hostname
      If ($WinName -ne $VCName) {
            Write-Host "$VCName is currently $WinName... renaming"
            $renamecomputer = "wmic path win32_computersystem where ""Name='%computername%'"" CALL rename name='$VCName'"
            Invoke-VMScript -VM $VM -GuestUser "Administrator" -GuestPassword "vmware" -ScriptType Bat -ScriptText $renamecomputer
            restart-vmguest -VM $VM -Confirm:$false
      }
}

Espero que os sirva.

Deja un comentario