PowerCLI: Change Virtual Machines Guest OS Names: Difference between revisions

From VI-Toolkit
Jump to navigation Jump to search
m (Updated link to point to a copy at web.archive.org as the site is no longer there.)
m (Adding the code itself (just in case))
 
Line 3: Line 3:
==== Description ====
==== Description ====
The script displayed here queries the VM name at the host level and will use that to set the name of the operating system within the guest OS. The example code here is used for windows guests.
The script displayed here queries the VM name at the host level and will use that to set the name of the operating system within the guest OS. The example code here is used for windows guests.
==== Code ====
$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
      }
}


==== Usage ====
==== Usage ====

Latest revision as of 18:11, 5 June 2021

PowerCLI: Change Virtual Machines Guest OS Names

author: Rawlinson

Description

The script displayed here queries the VM name at the host level and will use that to set the name of the operating system within the guest OS. The example code here is used for windows guests.

Code

$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
      }
}

Usage

Save as a script and run it.

Location