How to install an unattended vCenter

Estimated reading time: 6 minutes

Hi, Today, I decided to install an unattended vCenter (vCSA) server appliance. You can use the CLI installer to perform a silent deployment of a vCenter Server appliance on an ESXi host or vCenter Server instance.

The CLI deployment process includes downloading the vCenter Server installer on a network virtual machine or physical server from which you want to perform the deployment, preparing a JSON configuration file with the deployment information, and running the deployment command.


Step 1– Register your vCenter Server appliance A and PTR record on your DNS server. Like this: Then:


Step 2– You can choose where you want vCSA installed, on one ESXi or one existing vCenter. I will be installing it on an ESXi. Then:

Step 3– Download vCSA ISO, mount it, and navigate to \vcsa-cli-installer\templates\install. This folder contains JSON configuration files, which you can edit and then use with the vCSA command line installer. The JSON files, used in conjunction with command line parameters, provide a way to run an unattended vCSA installation. Then:

I selected the embedded_vCSA_on_ESXi.json file to match the deployment type that I wanted.

Step 4– Copy the selected JSON file (embedded_vCSA_on_ESXi.json) to a local folder on your computer; where you’re running the installer from. Then:

I copy it here, then:


Step 5– Using Visual Studio Code or Notepad ++, edit the JSON file as follows. Refer to this link for a complete list of parameters. Then:

Sections 1: Target ESXi Server details.

HostnameThe FQDN or IP of the ESXi host on which vCSA is installed.
Username & passwordThe credentials needed to access the ESXi.
Deployment.networkThe portgroup to which vCSA Management connects.

Sections 2: vCSA deployment details

You must provide the ‘deployment_option’ key with a value, that will affect the vCenter Server Appliance’s configuration parameters, such as the vCenter Server Appliance’s number of vCPUs, the memory size, the storage size, and the maximum numbers of ESXi hosts and VMs which can be managed. For a list of acceptable values, run the supported deployment sizes help, i.e. vcsa-deploy –supported-deployment-sizes.

thin.disk.modeDetermines if the vCSA’s disks are created using thin disk mode.
Deployment.option Refer to this to review the available deployment types.
Name The name assigned to vCSA’s VM; is displayed in the inventory.

Sections 3: vCSA network details The IP version used (4 or 6) for the network configuration.
mode Determines if static and dhcp network settings are used.
ip The IP address assigned to the vCSA.
A comma-separated IP address list of DNS servers configured on vCSA.
prefix Subnet mask in prefix format (Ex. = 24, = 20).
gateway The IP address of the default gateway set on vCSA The FQDN (hostname) for the appliance.

Sections 4: vCSA OS

password The root password is used to access vCSA’s via SSH, VAMI, or otherwise.
ntp_serversSet your NTP server IP address
ssh.enable Set to true to enable SSH access by default.

Sections 5: SSO details

password This is the password for administrator@vsphere.local.
domain-name The SSO domain name (you can leave it as is).

Step 6– Open an administrative command prompt and navigate to \vcsa-cli-installer\win32 on the mounted ISO image. Then:

Step 7– Perform an Installation using vcsa-deploy install. Then:
vcsa-deploy install --no-ssl-certificate-verification --acknowledge-ceip --accept-eula C:\Users\Administrator\Downloads\source\embedded_vCSA_on_ESXi.json

Deploying vCSA OVF. Then:

And the Final result.

Finally, you can find your logs file from here:

Finish 🙂

My Latest Posts:

How to join ESXi to the domain and set Active Directory groups to log in to ESXi via PowerShell.

Hi, Today I want to set the ESXi host to join to the domain and I adjust Active Directory groups to log in to ESXi with domain’s account, through PowerShell.

1- Run PowerShell as Administrator

2- Install VMware powercli

Install-Module VMware.PowerCLI

3- Connect to vCenter

Connect-VIServer -Server "your Server FQDN or IP address" -user "your username"

4- Enter your vCenter username and password

5- Create a variable

$ESXiHost = Get-VMHost

6- Join to Domain

$ESXiHost | Get-VMHostAuthentication | Set-VMHostAuthentication -JoinDomain 
"DomainName" -user "Username" -password "password" -Confirm:$false

7- Add your Active Directory Group that member’s of that group want login to ESXi Host.

$ESXiHost | Get-AdvancedSetting -Name Config.HostAgent.plugins.hostsvc.esxAdminsGroup | Set-AdvancedSetting -Value "Group Name"

For Example:

Connect-VIServer -Server -User administrator@vsphere.local

$ESXiHost = Get-VMHost

$ESXiHost | Get-VMHostAuthentication | Set-VMHostAuthentication -JoinDomain -Domain -user khoshraftar -password *******  -Confirm:$false

$ESXiHost | Get-AdvancedSetting -Name Config.HostAgent.plugins.hostsvc.esxAdminsGroup | Set-AdvancedSetting -Value  VirtualizationTeam  

Now, I have a username that is a member of VirtualizationTeam, I can login with it to ESXi UI.

Finish 🙂