All posts filed under: Virtualization

vRealize Automation 7.0

Within the cloud and virtualization space, a lot had happened in last one week or so. I am still catching up on all the news but one thing that caught my attention was the announcement around vRealize Automation 7.0. I recently started working on the vRealize suite of products and therefore this announcement was completely relevant. There are a ton of new features in this release. Especially, things like the simplified install wizard (you will appreciate this if have you installed IaaS in earlier versions of vRA), graphical service blueprint designer and integration with source control. You can read more about these new features on VMware blog at: While you are there, sign-up for download availability notification and get your hands dirty when you get the product.

Troubleshooting SSL Connection Error When Deploying vCSA 6.0.1 Appliance

Over the weekend, I was looking at a way to install the VMware vCenter Server Appliance 6.0 update 1 from command line. The process is straightforward. We generate a template (JSON) file with all required parameters and give it to vcsa-deploy.exe in the .\vcsa-cli-installer\win32 folder of the mounted or extracted ISO. For me the real problem was when I started using vcsa-deploy.exe. It started throwing errors just after the JSON validation and while logging into the ESX host specified in the JSON template. 2015-10-04 17:59:44,875 – vCSACliInstallLogger – ERROR – An error occurred when connecting to “ESX-1”: Failed to login to host ESX-1, as user root: [Errno socket error] [Errno 8] _ssl.c:499: EOF occurred in violation of protocol 2015-10-04 17:59:44,875 – vCSACliInstallLogger – DEBUG – The vCenter Server Appliance installer log file is at: c:\users\admini~1\appdata\local\temp\2\vcsaCliInstaller-2015-10-04-12-29-wgyrvy\vcsa-cli-installer.log 2015-10-04 17:59:44,875 – vCSACliInstallLogger – DEBUG – The vCenter Server Appliance installer result file is at: c:\users\admini~1\appdata\local\temp\2\vcsaCliInstaller-2015-10-04-12-29-wgyrvy\vcsa-cli-installer.json I spent sometime looking around for help and tried things like enabling SSH on the ESX host and so on. When nothing solved …

Retrieve list of VMs excluded from SCVMM PRO/Dynamic Optimization

We can exclude VMs from SCVMM Performance and Resource Optimization (PRO) or Dynamic Optimization (DO). This is done at a VM level and there is no central place to see what all VMs are excluded from optimization. PowerShell to the rescue, of course. The Get-VM cmdlet in SCVMM module has a property called ExcludeFromPRO which tells us if a VM is excluded from PRO or DO. So, this is quite simple.

I will publish another post to show you where exactly this comes handy. Watch this space.

PoshUtils: Retrieve Cluster Shared Volume (CSV) to physical disk mapping

Last week, I was looking for a way to retrieve the Clustered Shared Volume (CSV) to physical disk mapping on Windows Server 2012 using PowerShell. I have seen some scripts elsewhere that use DiskSignature to get this mapping using WMI. However, I wasn’t able to follow the same approach as the disk signature for some of the volumes I am using turned out to be 0x0 for some reason. So, I started looking at an alternate approach and figured that I could use the volume path as the key. So, I started wrapping that code in a function and this is what I ended up with.

The code is self-explanatory. Since I am using the Windows Server 2012 storage cmdlets, this will work only on Windows Server 2012 systems and that is all I tested also. Here is how you can use this function

And, this is what you will see. Hope this is helpful.

Set (or inject) guest network configuration from Hyper-V host (Windows Server 2012)

Those of you who work(ed) on VMware ESX and use PowerCLI for ESX management would have – at some point in time – used the Set-VMGuestNetworkInterface cmdlet to set the IP address configuration of guest OS from the vCenter host or where you have PowerCLI installed. This is quite useful when performing automated guest OS installs and you want to be able to accurately set IP information for different network interfaces in the guest. In Hyper-V in Server 2008 R2, there were no interfaces to achieve something like this. However, as I’d mentioned in an earlier post, the updated WMI namespace in Hyper-V in Server 2012 provides a way to set the guest IP information from Hyper-V host. In a previous post, I showed you how to retrieve Hyper-V guest network configuration information using the updated WMI classes. In this post, we shall see how we can set the guest network information. We will use the new WMI class in Server 2012 Hyper-V WMI namespace – Msvm_GuestNetworkAdapterConfiguration. Make a note that this works only when …

Get Hyper-V (Windows Server 2012) guest network configuration using WMI

If you have not seen this yet, the updated WMI namespace for Hyper-V role in Windows Server 2012 has some hidden gems. I love playing around with WMI and the changes in Hyper-V namespace had me thinking about new possibilities. Here is the first one in this series of posts on how you can extend Hyper-V management beyond what is available in the Hyper-V PowerShell module. In this post, I will show you a simple function to get the guest network configuration details using WMI. We use the Msvm_GuestNetworkAdapterConfiguration WMI class to achieve this.

In the above function, we are making use of the updated virtualization namespace root\virtualization\v2. In this function, we first get the virtual machine object:

Once we have the VM object, we retrieve the VM setting data which includes information on how many synthetic network adapters are attached, etc.

Since the above command gives us entire VM setting data and we are interested only in the synthetic adapter data, we filter this further to get only the synthetic adapters attached …