Skip to content

VirtuallyThatGuy

Anything VMware , PowerCLI, PowerShell, Automation and some Windows

Menu
  • Home
  • PowerCLI
  • VMware
  • Automation
  • Windows
  • About
Menu

How to Add Multiple ESXi Hosts to vCenter Using PowerCLI – Automation – VirtuallyThatGuy

Posted on April 8, 2018December 6, 2022 by VirtuallyThatGuy

Ever wondered how to add a bunch of ESXi Hosts to a newly or existing vCenter using powershell or automate with powercli? Well below script can help you achieve just that:

Join me on this journey of automating this process using the below. You can save as .ps1 and call the script in PowerCLI or PowerShell.​​ 

#

# Specify vCenter Server, vCenter Server username, vCenter Server user password, vCenter Server location which can be the Datacenter, a Folder or a Cluster (which I used).

$vCenter="UK3P-vc01.lab.local"

$vCenterUser="[email protected]"

$vCenterUserPassword="xxxxxx"

$vcenterlocation="DTCP-Cluster"

#

# Specify the ESXi host you want to add to vCenter Server and the user name and password to be used.

$esxihosts=("DTCP-ESXi01.lab.local","DTCP-ESXi02.lab.local","DTCP-ESXi03.lab.local")​​ #(Get-VMHost -Name "UK3P-*")

$esxihostuser="root"

$esxihostpasswd="xxxxxxx"

#

# The variables specified above will be used to add hosts to vCenter

# ------------------------------------------------------------------

#

#Connect to vCenter Server

write-host​​ Connecting​​ to​​ vCenter​​ Server​​ $vcenter​​ -foreground​​ green

Connect-viserver​​ $vCenter​​ #-user $vCenterUser -password $vCenterUserPassword -WarningAction 0 | out-null

 

#

write-host​​ --------

write-host​​ Starting to​​ add​​ ESXi​​ hosts​​ to​​ the​​ vCenter​​ Server​​ $vCenter

write-host​​ --------

#

# Add ESXi hosts

foreach​​ ($esxihost​​ in​​ $esxihosts) {

Add-VMHost​​ $esxihost​​ -Location​​ $vcenterlocation​​ -User​​ $esxihostuser​​ -Password​​ $esxihostpasswd​​ -Force

}

#

# Disconnect from vCenter Server

write-host​​ "Disconnecting to vCenter Server​​ $vcenter"​​ -foreground​​ green

disconnect-viserver​​ *​​ -confirm:$false​​ |​​ out-null

 

​​ 

You can change​​ the​​ $esxihosts​​ to​​ a wildcard and save you some typing replace with something​​ like​​ #(Get-VMHost -Name "DTCP-*").​​ 

#
# Specify vCenter Server, vCenter Server username, vCenter Server user password, vCenter Server location which can be the Datacenter, a Folder or a Cluster (which I used).
$vCenter="UK3P-vc01.lab.local"
$vCenterUser="[email protected]"
$vCenterUserPassword="xxxxxx"
$vcenterlocation="DTCP-Cluster"
#
# Specify the ESXi host you want to add to vCenter Server and the user name and password to be used.
$esxihosts=("DTCP-ESXi01.lab.local","DTCP-ESXi02.lab.local","DTCP-ESXi03.lab.local") #(Get-VMHost -Name "UK3P-*")
$esxihostuser="root"
$esxihostpasswd="xxxxxxx"
#
# The variables specified above will be used to add hosts to vCenter
# ------------------------------------------------------------------
#
#Connect to vCenter Server
write-host Connecting to vCenter Server $vcenter -foreground green
Connect-viserver $vCenter #-user $vCenterUser -password $vCenterUserPassword -WarningAction 0 | out-null

#
write-host --------
write-host Starting to add ESXi hosts to the vCenter Server $vCenter
write-host --------
#
# Add ESXi hosts
foreach ($esxihost in $esxihosts) {
Add-VMHost $esxihost -Location $vcenterlocation -User $esxihostuser -Password $esxihostpasswd -Force
}
#
# Disconnect from vCenter Server
write-host "Disconnecting to vCenter Server $vcenter" -foreground green
disconnect-viserver * -confirm:$false | out-null


1 thought on “How to Add Multiple ESXi Hosts to vCenter Using PowerCLI – Automation – VirtuallyThatGuy”

  1. Rosh Josa says:
    July 26, 2020 at 4:39 pm

    Excellent Script thank you

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • vROps: Management Pack Troubleshooting
  • Windows AD {Active Directory} (PowerShell) samples
  • Migrate VMs Between vCentres Using Powershell or PowerCLI
  • Set VM Tools to Update Automatically on VM Reboot using powershell
  • Windows Administrator Must Have Powershell Commands

Recent Comments

  • JB on Script: How to get VM with Tag Assignment and export results to csv using PowerCLI or Powershell
  • DL on How to change VCSA root password and bypass BAD PASSWORD: it is based on a dictionary word for vCenter VCSA root account warning
  • 360coolp on How to change VCSA root password and bypass BAD PASSWORD: it is based on a dictionary word for vCenter VCSA root account warning
  • Yogesh on ESXi 8.x, 7.x, 6.x Service sfcbd-watchdog Not Running / Fails to Start – VirtuallyThatGuy
  • VirtuallyThatGuy on ESXi 8.x, 7.x, 6.x Service sfcbd-watchdog Not Running / Fails to Start – VirtuallyThatGuy

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017

Categories

  • Automation
  • PowerCLI
  • VMware
  • Windows
© 2026 VirtuallyThatGuy | Powered by Superbs Personal Blog theme