Install vRealize Automation 8.11.2 – Aria…

Install vRealize Automation 8.11.2 – Aria…

This is the first article in a series on Aria Automation. Yes, the title talks about the installation of the 8.11.2 release, when the product was still called vRealize Automation. Why talk about such an old version? Because it often happens that you have to make updates on old infrastructures […]


Broadcom Social Media Advocacy

How to Change vmnic Name on an ESXi Host via Command Line

Renaming or reordering vmnics on an ESXi host can be useful in various scenarios, such as standardizing network configurations or aligning network interface names across multiple hosts. This guide will show you how to achieve this using the ESXi command line.

Listing Current vmnic Aliases

Before making changes, it is essential to check the current vmnic assignments. You can do this with the following command:

localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list

This command will return a list of all existing vmnic aliases and their corresponding bus addresses.

Bus type  Bus address          Alias
--------  -------------------  -----
pci       m01000300            vmhba0
pci       m01000b00            vmnic0
pci       p0000:00:07.1        vmhba1
pci       m02001300            vmnic1
logical   pci#m01000300#0      vmhba0
logical   pci#p0000:00:07.1#0  vmhba1
logical   pci#p0000:00:07.1#1  vmhba64
logical   pci#m02001300#0      vmnic1
logical   pci#m01000b00#0      vmnic0

When a nic is controlled by a native driver, then there are actually two aliases associated with the device: a pci alias for the pci device and a logical alias for the uplink logical device.

[root@fs-vsan-05:~] localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias list | grep vmnic1

pci m02001300 vmnic1
logical pci#m02001300#0 vmnic1

When the logical alias is present, then both the pci alias and logical alias need to be renamed !

Changing a vmnic Name

Make sure you have console access before starting the upcoming steps.

To change the name of a specific vmnic, use the following commands. Replace vmnic5 with the desired new alias and update the bus-address accordingly.

localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias store --bus-type pci --alias vmnic5 --bus-address m02001300

localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias store --bus-type logical --alias vmnic5 --bus-address pci#m02001300#0

Once the commands have been executed, you need to reboot the ESXi host for the changes to take effect.

reboot

Having Some Fun with vmnic Naming

If you want to experiment and see how ESXi handles long vmnic names, you can try something fun like this:

localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias store --bus-type pci --alias vmnic1234567890 --bus-address m02001300

localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias store --bus-type logical --alias vmnic1234567890 --bus-address pci#m02001300#0

reboot

While ESXi generally follows a strict naming convention, pushing its limits can be an interesting experiment!

Conclusion

Renaming vmnics in ESXi via the command line is a straightforward process that requires just a few commands and a reboot. Whether you’re restructuring network configurations or just having a bit of fun, these steps will help you modify your ESXi network interfaces with ease.

Related KB: https://knowledge.broadcom.com/external/article/324534/

Easier method to simulate custom ESXi SMBIOS…

Easier method to simulate custom ESXi SMBIOS…

Happy 2025! 🎉 Here is a fun one to kick off the New Year ☺️ Last year, I demonstrated a method for customizing the SMBIOS hardware string using Nested ESXi, but the solution was not perfect and required hacking up a VM ROM file and it was also limited to using the BIOS firmware for […]


Broadcom Social Media Advocacy

VMware Cloud Service Providers on Innovating…

VMware Cloud Service Providers on Innovating with VCF #CloudServiceProviders #PrivateCloud #VMwareCloudFoundation #IBMCloud #Rackspace #TSystems #ITInfrastructure

VMware Cloud Service Providers on Innovating…

VMware Cloud Foundation is the perfect underpinning for our VMware Cloud Service Providers’ innovation efforts. Its flexibility allows them to run a modern private cloud for their customers that feels like a public cloud. When combined with their own expertise and services, the result is solid […]


Broadcom Social Media Advocacy

Unable to deploy OVF in vCenter/vSphere Client

Unable to deploy OVF in vCenter/vSphere Client

I wanted to import a VM in a vCenter managed vSphere 7 cluster, but during the deployment/import task an error occured! I checked the the /var/log/vmware/vpxd.log, where i found the following line Transfer failed: Invalid response code: 403, note that HTTP/s proxy is configured for the transfer.


Broadcom Social Media Advocacy

Give Your ESXi Host a Personal Touch with a Custom Welcome Message – the PowerShell way


Ever wanted to spruce up that default login screen on your ESXi host or have some fun with your DCUI? Then you’re in the right place! In this post, I’ll walk through using the Annotations.WelcomeMessage advanced setting to display a custom welcome message on your ESXi host. Best of all, I’ll share a neat PowerShell function to make it easy.

Why Customize the Welcome Message?

  • Personalization: Display a personal greeting, instructions, or a quick reminder for anyone logging into the ESXi console.
  • Useful Info: Share contact details or support info in case someone needs to know who to call if something breaks.
  • Fun Factor: It’s always nice to see something other than “Welcome to VMware ESXi” from time to time at least in homelab.
  • Security: Display security/legal warning.

The Advanced Setting: Annotations.WelcomeMessage

Annotations.WelcomeMessage is an advanced ESXi host parameter. It’s where you store the text you want displayed in DCUI on the default console screen (replacing some default text, similar to screenshot below).

(virtual ESXi)


PowerShell Script: Set-WelcomeMessage Function


Here is the star of the show—my simple PowerShell function that taps into VMware’s PowerCLI to set Annotations.WelcomeMessage on your ESXi host. It even shows you the old message before setting the new one.

You can download it from my GitHub repo in ESXi folder from my GitHub repo: https://github.com/musil/vSphere_scripts or use this direct link to a script file: https://github.com/musil/vSphere_scripts/blob/main/ESXi/set_welcome_message.ps1

Function Set-WelcomeMessage {
    <#
        .SYNOPSIS
        This function retrieves the vCenter version and build number. 
        Based on https://knowledge.broadcom.com/external/article/315410/
    
        .NOTES
        File Name      : set_welcome_message.ps1
        Author         : Stanislav Musil
        Prerequisite   : PowerShell
        Website        : https://vpxd.dc5.cz/index.php/category/blog/
        X (Twitter)    : https://www.x.com/stmusil
    
        .DESCRIPTION
        The script is a function that takes a single parameter, the vCenter server name. Retrieves the version and build number. 
        To use the function, you can dot-source the script and then call the function. 
        Windows:   . .\set_welcome_message.ps1
        Mac/Linux: . ./set_welcome_message.ps1
    
        .EXAMPLE
        Set-WelcomeMessage -Hostname "ESXi.example.com" -WelcomeMessage "Welcome to {{hostname}"

    #>
    param (
        [string]$HostName,
        [string]$WelcomeMessage
    )
   
    # Ensure PowerCLI module is imported
    if (-not (Get-Module -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue)) {
        Import-Module VMware.VimAutomation.Core
    }`

# Define the target host and the parameter values
$ESXihost = Get-VMHost -Name $HostName
$paramName = "Annotations.WelcomeMessage"

$current = Get-AdvancedSetting -Entity $ESXihost -Name $paramName
Write-Host "Current Weclome message:"  $current.Value

# Set the advanced parameter
Get-AdvancedSetting -Entity $ESXihost -Name $paramName | Set-AdvancedSetting -Value $WelcomeMessage -Confirm:$false

# Verify the change
$updatedSetting = Get-AdvancedSetting -Entity $ESXihost -Name $paramName
Write-Output "New $paramName value on $ESXihost : $($updatedSetting.Value)"

}

How to Run It

1. Dot-source the script (so the function is recognized):

  • On Windows:
. .\set_welcome_message.ps1
  • On Mac/Linux:
. ./set_welcome_message.ps1

2. Execute the function:

Set-WelcomeMessage -Hostname "ESXi.example.com" -WelcomeMessage "Welcome to my ESXi host!"


3. That’s it! Now when you check the DCUI over iDRAC/IPMI/iLO etc.. or on directly on console screen, you’ll see your brand-new custom text.

Change it back to default

just set empty parameter 🙂

Set-WelcomeMessage -Hostname "ESXi.example.com" -WelcomeMessage ""

Final Thoughts

Customizing your ESXi’s welcome message is quick, easy, and surprisingly fun. Whether you’re adding a helpful notice or just a silly greeting, a personal touch goes a long way. Give it a try, and see if your team notices!


Happy customizing!

Manual way

https://knowledge.broadcom.com/external/article/315410

Advanced Examples

To get much awesome welcome message you need to use much complicated formating tags.

Welcome DCUI screen from my homelab:

My Homelab Welcome Message

To make it more easy I just “save” all the parameters of the welcome message into the variable $a.


$a="
{align:left}{bgcolor:black}{color:white} {esxproduct} (VMKernel Release {esxversion})
{bgcolor:black}{align:left}
{align:left}{bgcolor:black}{color:white} DC5 - Homelab
{bgcolor:black}{align:left}
{align:left}{bgcolor:black}{color:white} Memory: {memory}
{bgcolor:black}{align:left}
{align:left}{bgcolor:black}{color:white}NOTE:
{align:left}{bgcolor:black}{color:white}     if you need help contact support@homelab
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:black}{align:left}
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black} To manage this host, go to:                                                                                                
{bgcolor:yellow}{color:black} http://{ip}                                                                                                         
{bgcolor:yellow}{color:black} http://{hostname}                                                                                               
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{bgcolor:yellow}{color:black}                                                                                                                            
{align:left}{bgcolor:black} {color:red} <F2> Customize System/View Logs                                                                   <F12> Shut Down/Restart {/align}
"

And then just run the same command and instead of welcome message I used the $a variable

Set-WelcomeMessage -Hostname "fs-vsan-05.int.dc5.cz" -WelcomeMessage $a

Happy experimenting with different colors 🙂

Another screenshots from my testing