How Fast Is My Home Lab?
I have been tuning my Home Lab network during my vacation. Private AI/ML, vGPU and VDI requires a fast Home Lab setup. I tweaked my Switch (Dell EMC S4112T-ON), UDM Pro, ESXi hosts, and also […]
SDDC in pocket – virtualization, cloud, networking, storage, devops, cloudops
VMware technologies
I have been tuning my Home Lab network during my vacation. Private AI/ML, vGPU and VDI requires a fast Home Lab setup. I tweaked my Switch (Dell EMC S4112T-ON), UDM Pro, ESXi hosts, and also […]
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.
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)
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)"
}
1. Dot-source the script (so the function is recognized):
. .\set_welcome_message.ps1
. ./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.
just set empty parameter 🙂
Set-WelcomeMessage -Hostname "ESXi.example.com" -WelcomeMessage ""
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!
https://knowledge.broadcom.com/external/article/315410
To get much awesome welcome message you need to use much complicated formating tags.
Welcome DCUI screen from my homelab:
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 🙂
Do you know that receiving the vExpert award is not just about blogging? While most vExperts do blog, there are many ways that you might already be contributing to the VMware community that can earn you the 2025 vExpert award. Below, we will outline some of the many different ways you can […]
Dwayne Callahan, Sr. Solution Engineer at Broadcom, shares how the vSphere labs cover a range of topics, from basic tasks your standard engineer might need to know, to using Python in the API. VMware vSphere 8 – What is New […]
VMware Cloud Foundation Zero to Hero – Deployment and Scale
See how simple it is to deploy a new VMware Cloud Foundation instance from scratch and the automated workflows to scale a VCF 5.2 deployment. #VMwareCloudFoundation
Creating a Content Library for VM Images
How to create a Content Library for VM Images
VCF Operations: Maintaining Compliance
Learn how you can leverage VCF Operations to maintain consistent configurations that comply with industry and corporate standards.
Sharing a single NVMe device with NVMe Tiering?
I am a huge fan of the new NVMe Tiering capability within vSphere 8.0 Update 3 and it has been fantastic to hear more users taking advantage of this new feature to see what it can do for their homelab/development setup but also for their various production workloads. As of right now, enabling NVMe Tiering […]
Brandon Gordon reviews how to begin understanding your cloud costs and how to optimize those costs in VCF Operations.
VCF Operations: Troubleshooting Workbench Overview
The troubleshooting workbench in Aria Operations is a powerful feature that leverages the power of AI and Machine Learning to help identify problems faster and drastically improve the time to resolution. In this demonstration, we’ll walk you through this powerful feature and show you how you can take full advantage of the power of Aria Operations!