VMware vSphere vCenter Server 6.5 Appliance Deployment using CLI

A while back i wrote a blog post about the VMware vCenter Server Appliance (VCSA) 6.5  Installation & Configuration via UI and as i mentioned in the blog post there is also a command line interface option (CLI) available and this is what this blog post will be all about.

The procedure is really simple to follow and there are actually templates of the JavaScript Object Notation (JSON) based input file needed during the deployment included in the VCSA .iso file under ISO-File-Mount-Point:\vcsa-cli-installer\templates\. There are templates available for the following scenarios:

  • Installation
  • Migration
  • Upgrade

We will focus on the Installation part and the available templates are:


I’ll be using the “embedded_vCSA_on_ESXi.json since i don’t have a vCenter Server available and i don’t need an external Platform Service Controller for my deployment.

Select the JSON you need and make the appropriate changes. In my case i made changes to the following parameters (see end of blog post for the complete JSON file i used):

  1. ESXi host
    1. hostname
    2. username
    3. password
    4. deployment.network
    5. datastore
  2.  Appliance
    1. deployment.option
    2. name
  3.  Network
    1.  ip
    2. Ddns.servers
    3. prefix
    4. gateway
    5. system.name
  4. OS
    1.  password
    2. ssh
  5.  SSO
    1.  password
    2. domain-name
    3. site-name
  6. CEIP
    1. chip.enabled

Now we are ready for the deployment but before we proceed, let’s find out what command options we got since i would like to avoid any user interaction during the deployment if possible. The command, vcsa-deploy, i will use to perform the actual installation can be found in the following directory “ISO-File-Mount-Point:\vcsa-cli-installer\Platform-architecture” so in my case, since i run the command on a Windows 10 VM, it is  ISO-File-Mount-Point:\vcsa-cli-installer\win32

The vcsa-deploy.exe command has the following sub commands:

  • install
  • migrate
  • upgrade

By running the command vcsa-deploy.exe install –help (two minus signs before help) we can find out the available parameters


In my case i decided to use the

--accept-eula & --no-esx-ssl-verify

(two minus signs before both accept and no) and arguments since that’s what is needed to perform the unattended installation.

Installation command:

  • vcsa-deploy.exe install --accept-eula --no-esx-ssl-verify c:\config\vcdx56.json

Installation starting with verification process:


Then OVF deployment:


After deployment the Install Services taking place:


Last step is to Configure vCenter Services:


When done a deployment summary is shown:


Now let’s access the system via the three main interfaces not including the physical machine console where the director console interface (DCUI) is shown.

  • SSH where you can login with the root or administrator@vsphere.local accounts
  • https://vc01.vcdx56.local:5480 which is the new admin interface which looks pretty nice.
  • https://vc01.vcdx56.local which gives you the option to start various interfaces e.g. flash mode based vSphere Web Client and the new HTML5 based client


  • https://vc01.vcdx56.local/vsphere-clinet which takes you to the Flash based vSphere Web client
  • https://vc01.vcdx56.local/ui which takes you to the HTML5 based client

Below is the configuration file i used with my specific configuration for the following parameters:

  • hostname
  • username
  • password
  • deployment.network
  • datastore
  • appliance
  • thin.disk.mode
  • deployment.option
  • name
  • network
  • ip.family
  • mode
  • ip
  • dns.servers
  • prefix
  • gateway
  • system.name
  • os
  • password
  • ssh.enable
  • password
  • domain-name
  • site-name
  • eip.enabled
"__version": "2.3.0",
"__comments": "Sample template to deploy a vCenter Server Appliance with an embedded Platform Services Controller on an ESXi host.",
"new.vcsa": {
"esxi": {
"hostname": "",
"username": "root",
"password": "Secret123!",
"deployment.network": "MGMT-10.100.200-24",
"datastore": "MGMT-DS01"
"appliance": {
"thin.disk.mode": true,
"deployment.option": "tiny",
"name": "vc01"
"network": {
"ip.family": "ipv4",
"mode": "static",
"ip": "",
"dns.servers": [
"prefix": "24",
"gateway": "",
"system.name": "vc01.vcdx56.local"
"os": {
"password": "Secret123!",
"ssh.enable": true
"sso": {
"password": "Secret123!",
"domain-name": "vsphere.local",
"site-name": "NPX005"
"ceip": {
"description": {
"__comments": [
"++++VMware Customer Experience Improvement Program (CEIP)++++",
"VMware's Customer Experience Improvement Program (CEIP) ",
"provides VMware with information that enables VMware to ",
"improve its products and services, to fix problems, ",
"and to advise you on how best to deploy and use our ",
"products. As part of CEIP, VMware collects technical ",
"information about your organization's use of VMware ",
"products and services on a regular basis in association ",
"with your organization's VMware license key(s). This ",
"information does not personally identify any individual. ",
"Additional information regarding the data collected ",
"through CEIP and the purposes for which it is used by ",
"VMware is set forth in the Trust & Assurance Center at ",
"http://www.vmware.com/trustvmware/ceip.html . If you ",
"prefer not to participate in VMware's CEIP for this ",
"product, you should disable CEIP by setting ",
"'ceip.enabled': false. You may join or leave VMware's ",
"CEIP for this product at any time. Please confirm your ",
"acknowledgement by passing in the parameter ",
"--acknowledge-ceip in the command line.",
"settings": {
"ceip.enabled": false