Home » VMware » vSphere 6.5

Category: vSphere 6.5

The VM Remote Console changed to VMware Workstation instead of VMRC

Lately I discovered an annoying feature in combination with VMware vCenter and VMware Workstation. When installing VMware Workstation on your management computer it becomes the default Remote Console viewer. To be honest, I like the VMware Remote Console (VMRC) very much. The application has all the features and is quick and light. This compared to starting VMware Workstation to open a Remote Console.

What is VMware Remote Console: “The VMware Remote Console (VMRC) is a standalone console application for Windows. VMware Remote Console provides console access and client device connection to VMs on a remote host. You will need to download this installer before you can launch the external VMRC application directly from a VMware vSphere or vRealize Automation web client.”

In October 2017, I already fixed my problem on my management computer… but after a recent VMware Workstation update it changed the Remote Console back to VMware Workstation. Currently there is no option in the GUI to change the default Remote Console. Ok, but how do we get VMRC back?

When I was comparing the Windows Registry, I found out that the following registry keys were different between machines. To speed up to process I created some PowerShell one-liners to fix the problem.

### View settings in registry
Get-Item HKLM:\SOFTWARE\Classes\vmrc\DefaultIcon
Get-Item HKLM:\SOFTWARE\Classes\vmrc\shell\open\command

### Change settings to VMRC
Set-Item HKLM:\SOFTWARE\Classes\vmrc\DefaultIcon -Value '"C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe",0'
Set-Item HKLM:\SOFTWARE\Classes\vmrc\shell\open\command -Value '"C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe" "%1"'

When you change the registry key, no Operating System or browser restart is required. The change is instant. I hope the blog post helps some vSphere Administrators that also prefer VMRC above VMware Workstation for viewing Remote Consoles.

@VMware: I would like to have an option to control the behaviour without changing registry keys by hand… 🙂 Thanks!


The issues occurred with the following combination of software:

  • VMware vCenter Server 6.5 (Update 1e)
  • VMware VMRC (10.0.2-7096020)
  • VMware Workstation (12.5.9 build-7535481)
  • Management Workstation: Windows 10 X64

VMRC Screenshots

Some screenshots that display the changes when opening the Remote Console of a Virtual Machine in VMware vCenter.

VMware VCSA 6.5 Content Library Issue

Today I was facing a VMware Content Library issue. I was removing a newly created Content Library in the vSphere Web Client but that resulted in a Java Runtime error.
The conclusion was that there was no way to remove the Content Library item.

The environment that I was troubleshooting has an external PSC and a vCenter server. The PSC and VC were running on the VMware VCSA 6.5 U1b release.
After some searching in the logs and googling, I came across the two following articles:
Link: Notes from MWhite – Can’t create a Content Library?
Link: VMware KB – OVF deployment fails after upgrading to vCenter Server Appliance 6.5 U1 (2151085)

Based on both information sources a couple of commands would fix the problem but there was also a note about installing patch VCSA 6.5 U1d.

I can confirm after upgrading the VSCA (PSC and VC) to version 6.5 U1e the problem was resolved.


HTML5 Web Client - Deployment not possible

vCenter Server 6.5 U1 does not support deployment of OVF files

Today I was planning a NSX manager deployment in my Home Lab… But that turn out to be a problem, because I could not upload an OVF file in the vSphere Client and HTML5 Web Client. When looking in my Home Lab notes I realized the last time I deployed an OVF was when the VCSA was running 6.5 without update 1. I think something went wrong with updating to VCSA 6.5 update 1.


Both webpages display the problem in a different way.

vSphere Client:

With the vSphere Client the following pop-up appears when trying to deploy an OVF file:  “This version of vCenter Server does not support Deploy OVF Template using this version of vSphere Web Client. To Deploy OVF Template, login with version of vSphere Web Client”

vSpher Client - OVF Deployment
vSphere Client – OVF Deployment


HTML5 Web Client:

The HTML5 Web Client does not display any error at all. It just disables the option to deploy an OVF file.

HTML5 Web Client - Deployment not possible
HTML5 Web Client – Deployment not possible

After some googling I found the following VMware KB article 2151085 (link). This turned out to be the solution.
1. Connect to the vCenter Server Appliance with an SSH session and root credentials.
2. Run this command to enable access the Bash shell:
shell.set –enabled true
3. Type shell and press Enter.
4. Navigate to /etc/vmware-content-library/config/ with this command:
cd /etc/vmware-content-library/config/
5. Create a backup of the ts-config.properties and ts-config.properties.rpmnew file with these commands:
cp ts-config.properties ts-config.properties.orig
cp ts-config.properties.rpmnew ts-config.properties.rpmnew.orig
6. Rename ts-config.properties.rpmnew to ts-config.properties.
mv ts-config.properties.rpmnew ts-config.properties
7. Restart the Content Library service:
service-control –stop vmware-content-library
service-control –start vmware-content-library
8. Refresh or close your browser and connect with one of the web interfaces.

ESXi Host is downloading/reading file from HTTP mirror

Automated installation with VMware ESXi 5.5/6.0/6.5


In this blog post we are going to automate the installation of VMware ESXi 5.5, 6.0 and 6.5. This can be done with a so called “kickstart” configuration file which is officially supported by VMware. The file contains the configuration for a VMWare ESXi Host to setup settings like IP address, subnet mask, hostname, license key, etc.

The kickstart configuration file can be made available on the following locations:
* NFS Share
* USB flash drive
* CD/DVD device

Personally I prefer the HTTP protocol.

Use Case

You might ask yourself, why should I install an ESXi Host with a kickstart file? Some of the use cases I identified over the years:
* The very first ESXi Hosts for your SDDC environment (before VMware vCenter is deployed or vSphere Auto Deploy is configured)
* A standalone ESXi Host for a small environment
* A Home Lab environment to install nested VMware ESXi Hosts

Setup a webserver

To make the kickstart configuration file available for the ESXi Host we need a webserver.
Basically every webserver can serve this file. Some webserver products: Apache, Microsoft IIS and NGINX.

In this environment I used a Microsoft IIS server on a Windows 10 Client, don’t forget to add the cfg extension to the MIME types.

Configuration file

Now it’s time to create a text file with your favorite text editor. The text file in this example is called (ks.cfg).
I have added two configuration files as samples, one with the minimum settings and one I normally use for my lab environment.

Configuration file – Simple (ks.cfg)
# Sample scripted installation file

# Accept the VMware End User License Agreement

# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword

# The install media is in the CD-ROM drive
install --firstdisk --overwritevmfs

# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0

# A sample post-install script
%post --interpreter=python --ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )
Configuration file – Advanced (ks.cfg)
### ESXi Installation Script
### Hostname: LAB-ESXi01A
### Author: M. Buijs
### Date: 2017-08-11
### Tested with: ESXi 6.0 and ESXi 6.5

##### Stage 01 - Pre installation:

	### Accept the VMware End User License Agreement

	### Set the root password for the DCUI and Tech Support Mode
	rootpw VMware1!
	### The install media (priority: local / remote / USB)
	install --firstdisk=local --overwritevmfs --novmfsondisk

	### Set the network to DHCP on the first network adapter
	network --bootproto=static --device=vmnic0 --ip= --netmask= --gateway= --nameserver=, --hostname=LAB-ESXi01A.lab.local --addvmportgroup=0

	### Reboot ESXi Host
	reboot --noeject

##### Stage 02 - Post installation:

	### Open busybox and launch commands
	%firstboot --interpreter=busybox

	### Set Search Domain
	esxcli network ip dns search add --domain=lab.local

	### Add second NIC to vSwitch0
	esxcli network vswitch standard uplink add --uplink-name=vmnic1 --vswitch-name=vSwitch0

	###  Disable IPv6 support (reboot is required)
	esxcli network ip set --ipv6-enabled=false

	### Add NTP Server addresses
	echo "server" >> /etc/ntp.conf;
	echo "server" >> /etc/ntp.conf;

	### Allow NTP through firewall
	esxcfg-firewall -e ntpClient
	### Enable NTP autostartup
	/sbin/chkconfig ntpd on;

	### Rename local datastore (currently disabled because of --novmfsondisk)
	#vim-cmd hostsvc/datastore/rename datastore1 "DAS - $(hostname -s)"

	### Disable CEIP
	esxcli system settings advanced set -o /UserVars/HostClientCEIPOptIn -i 2
	### Enable maintaince mode
	esxcli system maintenanceMode set -e true
	### Reboot
	esxcli system shutdown reboot -d 15 -r "rebooting after ESXi host configuration"
Installing a ESXi Host with Kickstart file

Step 1: Boot the ESXi host with a VMware ESXi ISO.
Step 2: Press ”'”shift + o””’ at boot
Step 3: Enter the following line after runweasel:
** For a HTTP share: ”'”ks=http://%IP_or_FQDN%/kg.cfg””’
** For a HTTPS share: ”'”ks=https://%IP_or_FQDN%/kg.cfg””’
** For a NFS share: ”'”ks=nfs://%IP_or_FQDN%/ks.cfg””’
Step 4: The installation will start and finish the ESXi Host installation based on the ks.cfg configuration file.

Insert the path to the ks.cfg configuration file.
Insert the path to the ks.cfg configuration file.
ESXi Host is downloading/reading file from HTTP mirror
ESXi Host is downloading/reading file from HTTP mirror

vSphere Integrated Containers (VIC) v1.1

This week VMware released vSphere Integrated Containers (VIC) version 1.1.

New features:
– A unified OVA installer for all three components
– Upgrade from version 1.0
– Official support for vSphere Integrated Containers Management Portal
– A unified UI for vSphere Integrated Containers Registry and vSphere Integrated Containers Management Portal
– A plug-in for the HTML5 vSphere Client
– Support for Docker Client 1.13 and Docker API version 1.25
– Support for using Notary with vSphere Integrated Containers Registry
– Support for additional Docker commands. For the list of Docker commands that this release supports, see Supported Docker Commands in Developing Container Applications with vSphere Integrated Containers.

For more information read the links below.

GitHub – VMware VIC
vSphere Integrated Containers 1.1 Delivers New User Experience Enhancements
VMware vSphere Integrated Containers 1.1 Release Notes

VMware Product Vulnerability (CVE-2017-5638)

A security vulnerability has been discoverd in some VMware products (CVE-2017-5638).
It’s a critical vulnerability which allows remote code execution (RCE) on Apache Struts 2.

The vulnerability effects the following VMware products:
– DaaS 6.X / 7.X
– Hyperic 5.X
– vCenter 5.5 / 6.0 / 6.5
– vRops 6.X

Read more

Changing Guest Time Synchronization Setting From Within-Guest OS

I recently got a question about enabling and disabling time synchronization for virtual machines.
The customer ask about a solution to change the settings from within the operating system.

Normally I would change the virtual machine time synchronization settings by hand with the vSphere Client/Web Client/HTML5 or with a PowerCLI script, but after some searching it appears, there is a solution provided by VMware.
Read more

PowerCLI Datastore Selection without Storage DRS (SDRS)

I recently ran into the following problem: the situation occurs when you want to deploy a virtual machines with PowerCLI to a cluster with multiple datastores but your not licensed for Storage DRS.
The default PowerCLI behavior is to select the first datastore detected (alphabetic order). To solve this problem I created the following PowerCLI code:

### Variables
	$CLUSTER = "Production" 					# Cluster name
	$FOLDER = "Deployed VMs"					# Virtual Machine folder

### Select datastores available and sort them on free space (select the one with most space free)
$DS = Get-Cluster -Name $CLUSTER | Get-Datastore | Select Name, FreeSpaceGB | Sort-Object FreeSpaceGB -Descending | Select -first 1

### Create a virtual machine called VM01
New-VM -Name VM01 -ResourcePool $CLUSTER -Datastore $DS.Name -Location $FOLDER -MemoryGB 1 -CD -DiskGB 5

The code is tested with PowerCLI 6.5 R1 against a VMware vCenter 6.0 server.

VMware vSphere 6.5 Announced

At VMworld 2016 the next version of vSphere has been announced by Pat Gelsinger. The new version is called VMware vSphere 6.5 and introduces a lot of new features.

As I see it VMware has introduced some long awaited features:

  • Native High Availability for the vCSA appliance
  • The vSphere Client is HTML5-based
  • VMFS allows for 512 devices and 2000 paths
  • vMotion supports traffic encryption
  • VMware Update Manager (VUM) integrated in the vCSA appliance

A couple days after the announcement a lot of articles have been published on the internet. I have listed some of the most interesting that every VMware Engineer should read: