eeg3
This user hasn't shared any biographical information
Posts by eeg3
WinXP LSI Logic SAS Unsigned Driver & View Composer
Apr 1st
If experiencing issues with guest customization of a Windows XP gold image in VMware View after converting from IDE to LSI Logic SAS, it may be related to the LSI SAS driver.
When browsing logs in a virtual desktop that fails to customize, check for messages like the following at the end of the guest customization logs (VMware KB 1023146):
Status: 0xC0000022 NtCreateFile(\??\D:\simvol.dat) SvmFindPersistentDisks – Could not find config volume.
svmNga debug: Rpci: Sending request=’machine.id.get ‘
The “Found New Hardware” wizard should also pop up at login. The reason for this is that the LSI Logic SAS SCSI controller could be the unsigned version. Even though the controller may be functioning properly in the master image, this causes problems when Composer goes to add the secondary OS disk. This can be checked in Device Manager by viewing the ‘Driver’ tab of the SCSI Controller for ‘Not digitally signed’.
The LSI support website, where VMware recommends to download the driver in VMware KB 1007035, is painful to search, so it’s an easy mistake. The correct driver to use for ESX 4.1 hosts is SYMMPI_SCSI_WinXP_x86_1.34.02.zip (Link goes to official LSI web site). For reference, the device driver properties should look like the following once updated:
To recap, update the master image with the signed LSI Logic SAS driver, recompose the pool, and the virtual desktop should compose without any problems.
VMware Horizon View Feature Pack 1 Test Drive
Mar 17th
VMware released the Feature Pack 1 for VMware Horizon View 5.2 a week or so after the standard release. The feature pack comes with the HTML5 Access (Blast Protocol) and Unity Touch.
The new HTML5 client for VMware Horizon View 5.2 is something I was looking forward to trying out. Is it a pain to use a full client? No, but having the flexibility to roam around to different devices and not need to install an application is a nice mobility feature.
Protocol Wars
The HTML5 client doesn’t use PCoIP, and instead uses VMware’s own Blast protocol. Using a different procol piques my interest because VMware does not own PCoIP, which is a Teradici product. Could VMware buy Teradici? They certainly could, but they haven’t in the past so it seems unlikely they ever will. The talking point response here seems to be that Teradici is a ‘hardware’ company and does not fit VMware’s portfolio which focuses on software. Maybe the goal is to keep using two protocols. Or maybe the long-term goal is to develop the Blast protocol to a point where PCoIP isn’t needed. That is 100% speculation on my part, obviously, and that would be far down the road.
The agent for the Blast Protocol is an additional application install from the feature pack, and must be installed into the virtual desktop image on top of the View Agent. The software must also be installed to the connection server, and the pool(s) must be edited to enable the ‘HTML Access’ checkbox, etc. The whole process is simple, and doesn’t require a reboot.
Gunnar Berger has created a video comparing the protocols on YouTube: VMware Horizon View – Blast protocol vs PCoIP. One thing that appears different in the release than in his video of the beta is that the shadowing “functionality” is actually removed. The behavior mimics PCoIP now in that if another client connects then it disconnects the original connection.
Blast Positives
Protocol wars aside, I do like the Blast implementation. The video performance is very good, although not as good as PCoIP; the build-to-lossless functionality is relatively noticeable, for example. Watching video shows the real performance differences. Normal usage is solid and responsive, and is fine for a task worker that doesn’t require multimedia.
From testing the client on different platforms and browsers, I noticed that the client detects whether the connection is coming from a mobile or regular desktop OS and adjusts accordingly. This is very handy, as using Safari on an iPad gives the touchpad overlay option in addition to the other options the tablet interface provides. The below images compare the experience from an iPad with Safari, and MacOS with Google Chrome:
Blast’s Room-for-Improvement
This is the first release, so there are going to be rough edges that need some polish. Below are some of the issues in the current release (Feature Pack 1 with Horizon View 5.2):
- No Multimedia or Flash Redirection
- No ThinPrint Support
- No USB Support
- No Audio Support
- No WebCam Support
- Unsupported on Android
I tried using HTML5 client from my Droid Bionic running Android ICS, even though the documentation does not list Android in the supported platforms. The web page notifies the user of such:
Proceeding with the Android native browser fails outright, but the client does work in a degraded state with Chrome for Android. The only bug I noticed with Chrome for Android was that the client panel shows up in the middle of the screen, which results in a couple pixel tall line through the desktop when the panel is shrunk.
Unity Touch
Unity Touch is a nice feature addition for tablet users, although using Windows 7 on a tablet is not exactly a pleasurable experience. Unity Touch does make it a bit more enjoyable, though. A panel is added to the left side of the interface that gives easy access to programs, files, and running applications:
Browsing Windows Explorer and the Start Menu aren’t really built for tablets, so moving these to a panel that is made for the tablet experience is perfect. This is a great start to making a full Windows OS (Win8 excluded) more accessible for a tablet.
Thoughts
The features added by the Horizon View 5.2 Feature Pack 1 are great additions to the product, and really add functionality that competing products do not have. The Blast protocol is still a new feature and has limitations of such, but using a desktop inside a web browser is perfect when on a device without the ability to install applications, and it provides easy, quick access at that. Unity Touch is a great usability/experience additional for tablet users that make Windows on a tablet a little more more enjoyable.
It’s great to see VMware innovating in the VDI space.
Deploying vSphere Hosts with Dell’s Management Plugin for vCenter
Feb 5th
The Dell Management Plugin for vCenter is a paid product from Dell that allows management of the physical infrastructure through the vSphere Windows Client. It’s a nifty tool that provides a lot of functionality if your environment is Dell only and are either 11G and 12G servers (9G/10G are supported, but have less functionality), and you love doing things through the vSphere Client. In this write-up, I’ll cover the process for deploying a host with the tool, but at the end I’ll cover some of the other neat functionality and general thoughts.
Host Deployment
Gather Preliminary Info/Setup
The following information is needed to complete the deployment wizard:
- iDRAC IP
- Host Management IP (DHCP can be used and switched later, but it is more time consuming)
- DNS Information
Remove Host from Connection Profile (If Applicable)
If the host has already been deployed using this tool, it needs to be removed from its connection profile.
- Open the console, and on the left side is a ‘Connection Profiles’ link. Click it and the ‘Connection Profiles’ subsection will appear.

- Browse to the ‘Connection Profile’ that the host is associated with, and click ‘View/Edit’.
- On the left side, click ‘Associated Hosts’ and then click ‘Edit’ in the top right. Browse to the hosts location and uncheck them, then click Save.

Create Connection Profile
If no Connection Profile has been created, one must be created. This profile holds the iDRAC and ESXi Host login credentials. This can be a global profile if all hosts share these credentials, or specific to certain hosts if credentials vary.
1. Open the console, and on the left side is a ‘Connection Profiles’ link. Click it and the ‘Connection Profiles’ subsection will appear.
2. Click ‘Create New’ under ‘Available Profiles’.
3. Fill out the wizard, which will ask for ‘Profile Name’, ‘Associated Hosts’, iDrac Credentials, and ESXi Host Credentials.
Create Hardware Profile
If no Hardware Profile has been created, one must be created. This will hold the hardware settings such as: Boot Order, BIOS Settings (Processor Options, etc.), iDRAC Settings, and RAID Configuration. I typically name these profiles after the server model, for example an ‘R620′ profile for hosts that run on PowerEdge R620 servers.
- Expand the ‘Deployment’ link on the left hand side of the console and then expand ‘Deployment Templates’. Click ‘Hardware Profiles’.
- Click ‘Create New’ under ‘Available Profiles’.
- Fill out the wizard, which will ask for ‘Profile Name’, and then allow you to select a ‘Reference Server’ to base the settings for all hosts in this profile.
- All of the inherited settings from the ‘Reference Server’ can be modified or excluded.

Create Hypervisor Profile
If no Hypervisor Profile has been created, one must be created. This will hold settings that specify which ISO to use, where to place hosts that are created from the profile within vCenter (e.g. Cluster location), and a Host Profile to apply if one is available. I typically name these profiles based on their Datacenter and the ESXi version, for example ‘DatacenterX ESXi 5.1′. It is useful to create these per Datacenter as you can specify an ISO that is local to the hosts.
- Expand the ‘Deployment’ link on the left hand side of the console and then expand ‘Deployment Templates’. Click ‘Hypervisor Profiles’.
- Click ‘Create New’ under ‘Available Profiles’.
- Fill out the wizard, which will ask for ‘Profile Name’, and then allow you to select a ‘Reference ISO’ and specify ‘vCenter Settings’ for hosts created from this profile.

Create Deployment Template
If no Deployment Template has been created, one must be created. This template is essentially the combination of a Hardware Profile and a Hypervisor Profile. I typically name these based on the combination of the hardware and hypervisor profile names, for example ‘DatacenterX R620 ESXI 5.1′.
- Expand the ‘Deployment’ link on the left hand side of the console and then select ‘Deployment Templates’.
- Click ‘Create New’ under ‘Available Templates’, and supply a name for the template.
- Click ‘Edit’ at the top right of the newly selected template.
- Choose a Hardware Profile and a Hypervisor Profile, and save the template.

Use Deployment Wizard
The deployment wizard will walk through the steps to actually deploy the host based on the previous templates and profiles.
- Expand the ‘Deployment’ link on the left hand side of the console and then select ‘Deployment Wizard’.
- Add servers to deploy by clicking on ‘Add Server’ and then entering iDRAC Credentials, this will pull Service Tag, Model, iDRAC IP, Compliance Status, etc. Select the checkbox next to the added servers, and select Next.
- Select a ‘Deployment Template’.
- Select Installation Target (Hard Disk or Internal SD).
- Enter Server Identification information: Host Name, Management NIC, Networking, DNS, etc.

- Assign the servers to a Connection Profile.
- Deploy the job or schedule it for later.
- The job will be submitted, and will give the option to be taken to the Job Queue.

The plugin will now go through the process of rebooting the server, applying the hardware profile settings, installing ESXi, joining the host to vCenter, attaching the host profile, and putting the host into maintenance mode. All of this can be watched by browsing to the iDRAC and viewing the console. Once ESXi is installed, the tasks for adding it to vCenter and doing an inventory task will also show up in the Recent Tasks pane:
At this point, the host should be all setup and just needs the host profile applied, any special post-install configuration options, and it is good to go. It also now has all the benefits of being configured into the plugin, such as…
Other Features
- Server Management Action Items: Indicator Light On/Off, Launch OMSA, Launch Remote Access

- Dell Server Management Host Tabs

- Warranty Monitoring/Information

- Hardware Component Extended Details

- Ability to update Firmware through vCenter

- Power Monitoring

- Additional Dell-Hardware-specific Alarms
Final Thoughts
I will admit I was skeptical of paying $100/host at first, but can be bundled into your hardware purchases and whatnot. Personally, I’d love to see it as a free tool (similar to their Equallogic plugin) but the price isn’t too painful, and I’m sure your friendly Dell Account Executive will be happy to help there.
Additionally, the tool (as of writing this) does not integrate with the vSphere Web Client. Supposedly, this is in the works and they are certainly not the only tool to not integrate with it quite yet. One of the downsides of plugins in the Windows vSphere Client is that the panels can be cramped inside the window, and this plugin has those same issues with the ‘Next’ buttons being hidden in the bottom right of the window if the screen resolution is too low.
Those issues aside, the tool is actually a good way to ensure host build standardization and provides lots of neat functionality within vCenter. Some of the simpler things are features that I enjoy the most, like the ability to launch the iDRAC remote console and directly managing/monitoring warranty info. There’s also some real meat to the product with the deployment wizard, firmware updates, and Dell-specific alarms. If you can spare the money (or bundle it into the hardware purchase), it’s definitely worth deploying.
Resolving VM Memory Limits with PowerCLI
Dec 14th
During a health check of a pre-existing environment using the vCheck script, I found a lot of VMs with Memory Limits configured. After further investigation, these limits did not appear to be on purpose, but perhaps from a previous template or mis-configuration.
Since there were probably about 50 or so, I wanted to attack this in an automated manner instead of manually editing the settings of each VM, comparing configured memory with the limit, and so on. I found a lot of good resources for clearing them in a sweeping manner, but I wanted an approach that would allow me to first get a report of what the configured memory is and what the configured limit is. Unable to find these, I spent a few minutes concocting the following set of commands:
Get-VM | Foreach-Object -Process { Tee-Object -InputObject $_ -Variable Temp | Get-VMResourceConfiguration | where {$_.MemLimitMB -ne ‘-1′} } | Select VM,@{N=”MemoryMB”;E={$Temp.MemoryMB}},MemLimitMB
This returns in a format as follows:
So, based on the output there may be some VMs with no real reason to have a memory limit since it is equal to their configured memory anyway, but there are also some that have memory limits much lower than their configured memory. If I just cleared all memory limits, I’d have several machines with memory possibly over-allocated. Instead of clearing them all, I found the ones that had these values equal via the following command:
Get-VM | Foreach-Object -Process { Tee-Object -InputObject $_ -Variable Temp | Get-VMResourceConfiguration | where {$_.MemLimitMB -eq $Temp.MemoryMB} } | Select VM,@{N=”MemoryMB”;E={$Temp.MemoryMB}},MemLimitMB
Then I went ahead and cleared those via:
Get-VM | Foreach-Object -Process { Tee-Object -InputObject $_ -Variable Temp | Get-VMResourceConfiguration | where {$_.MemLimitMB -eq $Temp.MemoryMB} } | Set-VMResourceConfiguration -MemLimitMB $null
To reiterate, the aforementioned clears out any memory limits where the limit is the same size as the configured memory. This will spawn sequential tasks within vCenter that, from my runs, took about ~6 seconds each:
For the list of virtual machines with limits set different from their configured memory, those will be addressed manually with re-sizing if appropriate.
VCP5-DT Exam Experience
Dec 8th
In July of 2011, I took and passed the VCA-DT exam based on View 4.x; however, I figured it was time to go ahead and update to the VCP-DT on View 5.x. I found a 25% off exam coupon on Twitter around Thanksgiving time, so I went ahead and scheduled it using that (I’ve seen these floating around frequently and it usually states for the VCP specifically but also applies to VCP-Desktop and VCP-Cloud, from my experience).
Due to Holidays and travel plans, my study time was a little cramped but was able to put together some notes based on the blue print and study some great resources that others in the community have put together. The following are the resources I used:
- VMware Community Member jkpk’s VCP5-DT Notes – Security Guide, Administration Guide, Installation Guide, and Architecture Planning Guide
- SpeakVirtual’s VCP5-DT Blueprint Study Guide
- My personal VCP5-DT Exam Notes
- Official VMware View 5.1 Architecture Planning Guide
- Official VMware View 5.1 Installation Guide
- Official VMware View 5.1 Administration Guide
- Official VMware View 5.1 Security Guide
As far as my experience, I arrived at the testing center early, but myself and others (who were taking things like TSA exams, Microsoft exams, and Cosmetology exams) weren’t able to begin until an hour or so later due to the proctor arriving late. I thought the test was challenging but passed with a pretty good score so in the end it all worked out. I was able to finish with about 45 minutes left of the total 90 minutes allowed. I hope the aforementioned documents prove helpful, and I wish the best of luck to all others in their efforts to obtain this certification!
Manually Deploying vRanger Virtual Appliance
Nov 15th
While performing a redesign of the vRanger infrastructure, I was deploying the virtual appliances throughout the multiple regions. All were successful except for one cluster, which would fail with “Error: The request was aborted: The request was canceled.”
Within vCenter, it also showed that the task was canceled.
This cluster and the others were rather homogenous, so it wasn’t clear what was causing this. To resolve, I was able to manually deploy the vRanger appliance via the vSphere Client as a regular OVF. The only caveats being that there are a few less-automated steps in this approach.
- Connect to vCenter and deploy the OVF that can be downloaded through the traditional approach.
- Connect to the VM Console and deploy VMware Tools in the same manner as other Linux systems (Default root password is ‘vzroot1′). The virtual appliance appears to be based on LFS (Linux From Scratch) instead of CentOS or Ubuntu like many other appliances.
- Open ‘Configuration Options’ window via Tools->Options within the vRanger Console, and navigate to the ‘Virtual Appliance’ section.
- Under ‘Configure Existing Virtual Appliances’ select ‘Add’ and navigate to the deployed VM.
- Enter the root password (Default: vzroot1). It should detect the IP Address automatically as long as VMware Tools are running properly. Select ‘Use as default virtual appliance for cluster’, if appropriate.
Once deployed, be sure to change the DRS Automation Level for the VM to ‘Disabled’ if using a version of vRanger that does not support vMotioning of the virtual appliances. The vRangerVA should now function as expected with all of the the joys that it brings:
vSphere Data Protection 5.1 Impressions
Sep 27th
With the release of vSphere 5.1, VMware has retired VMware Data Recovery (VDR) and replaced it with vSphere Data Protection (VDP). From my experience, there were not a lot of fans of the old VMware Data Recovery product, so this is a welcomed change. I decided to give it a spin, and see how it stacks up and what quirks there are in the first release.
Installation
The virtual appliance comes in three options that correspond to the size of the storage available to store backups: .5TB, 1TB, and 2TB. This sizing is a drawback as there is no way to increase the capacity of the appliance’s attached storage after installation other than adding another appliance.
The appliance can only backup to the attached VMDK, and it cannot backup directly to CIFS, etc. Of course, the CIFS space could be presented as an NFS share to the ESXi host(s) and then the VMDK stored on top, but this is rather kludgy.
Each vCenter can support up to 10 VDP appliances and up to 100 VMs per appliance (1000 total). It’s worth noting that this is the supported limit and not a hard limitation; VMware has not done testing beyond the aforementioned number and will not support more. vCenter 5.1 and the Web Client are required, but will work with ESX >=4.0 hosts.
There are some interesting aspects of the configuration:
- Password requirements: It requires an exactly nine character (no less, no more) password.
- DNS: Both forward AND reverse lookups must work.
Usage
Management is done through the vSphere Web Client, and is not possible through the classic Windows client. The interface is rather straight to the point with not a lot of flare or advanced features.
Deduplication is built-in, but only works within each appliance; for example, data backed up on appliance[n] will not be deduped against data on appliance[n+1].
When creating backup jobs, there is no built-in way to exclude certain VMDKs: it is all or nothing. Six concurrent backups can occur at a time. There is also no way to tell the job not to quiesce the guest, etc.
Only one backup per virtual machine can run each day, as there is no granularity for multiple backups per day. This may be a problem for some.
File-level recovery requires logging in to the appliance from the guest VM that needs the file restored. Individual files cannot be restored from the appliance in the same manner a full virtual machine can be restored. Compared to other products, this is a very different way to restore individuals files, and is rather inconvenient especially for Linux guests that don’t have a GUI. There is no way to restore from the command-line currently.
Overall
The actual functionality of VDP is solid on a great base with EMC Avamar’s engine, and it’s a good product despite the aforementioned. It is limited in what it can do in this release, lacking many simple features that are available in other products (selecting only certain VMDKs, multiple backups scheduled per day, better file level recovery, more granular options on jobs,etc). It is also missing the advanced functionality in other products (running from backup, catalogue of files, etc). It’s likely a great fit for many SMB environments that just need no-frills VM backups, but until it matures in certain areas it is probably best to stick with Veeam, PHD Virtual, or others for more advanced needs.
More Details
- VMware KB: VMware Data Protection (VDP) FAQ
- VMware KB: Required ports for vSphere Data Protection 5.1
- VMware vSphere Blog: Setting the record straight on VMware vSphere Data Protection
- Document: vSphere Data Protection 5.1 Release Notes
- Document: vSphere Data Protection 5.1 Administration Guide
Failed to connect to VMware Lookup Service – SSL Certificate Verification Failed
Sep 23rd
Ran into the following error when working on the home lab: Failed to connect to VMware Lookup Service https://vcenter01.eeg3.lab:7444/lookupservice/sdk – SSL certificate verification failed.
It turns out this was caused by the SSL certificate still matching the original hostname, which the web client does not seem to like. Re-generating the SSL certificate is pretty simple, though:
- Log in the VCSA itself via https://<vcsa-name>:5480
- Navigate to the ‘Admin’ tab
- Turn ‘Certificate regeneration enabled‘ to ‘yes‘ by using the ‘Toggle certificate setting‘ button
- Reboot the vCenter Server Appliance
During reboot, the following message should appear on the VM console: Regenerating the self-signed certificates.
Logging in through the Web Client should now work again. After the certificate was regenerated, I went back into the VCSA appliance and un-toggled the regeneration.
After doing the previous, I noticed regenerating the certificates can cause some oddities with other applications that depend on SSO, such as vSphere Data Protection:
A reboot of the VDP appliance appears to be all that is needed to resolve the sync issue.
vSphere 5.1 – Lesser publicized, neat improvements.
Aug 29th
There are a lot of neat improvements in vSphere 5.1, but it’s worth mentioning some of the neat features that may not be getting as much publicity. Below are some of the features in the release documentation that aren’t in the “What’s New in vSphere 5.1” one-pager, and so-far I haven’t seen nearly enough excitement about thus far. These are features that an engineer will enjoy, but the engineer’s boss might not care so much about.
- 32 Nodes Accessing VMDK Simultaneously on VMFS: This is an important improvement for VMware View workloads using Linked Clones as it allows for higher density clusters. Previously, VMFS only supported 8 nodes accessing a VMDK, and to overcome that then the architect had to use NFS. VMFS and NFS now support the same number of nodes to a read-only file with View 5.1 and greater.
- Virtual Machine Hardware Compatibility: Instead of simply relying on the virtual hardware version number, virtual machines are now given a Virtual Machine Compatibility. For example, VM Hardware Version 4 is now labeled as “Compatible with VMware ESX 3.x and later“. In addition, Administrators can select a “Default Compatibility Level,” which will be a great feature in mixed version clusters.


- Parallel “Multi-threaded” Storage vMotions: Storage vMotion is now capable of performing four simultaneous disk copies. When migrating a virtual machine with five VMDK files, Storage vMotion copies the first four disks in parallel, then starts the next disk copy as soon as one of the first four finish. This will dramatically increase svMotion processes with many disks.

- All Paths Down (APD) Events No Longer Break Hostd: Prior to vSphere 5.1, an APD event could cause hostd to become unresponsive as it would permanently retry failing I/O, which would cause hosts to disconnect from vCenter, etc. A new timeout is now being implemented via the Misc.APDHandlingEnable and Misc.APDTimeout global settings. In the event of an APD, after the default 140 seconds subsequent I/O is met with a quick “No_Connect” response preventing hostd and other processes from hanging.
- Better Latency Monitoring within Storage I/O Control: A new metric ‘VmObservedLatency’ is available that replaces the datastore latency metric within SIOC. This metric measures the time between receipt of the I/O by the VMkernel from the virtual machine and receipt of the response from the datastore. Previously, SIOC only measured the latency after the IO had left the ESXi host, but it now measures and controls storage workload latency throughout the whole virtualized storage stack.

- vCenter Inventory Tagging: Virtual machines can now be tagged with labels for more granular, advanced grouping. For example, Tier-1 applications can be tagged as such while also being tagged as a ‘Sharepoint’ server. This is a relatively simple additions that gives much better sorting capabilities for Virtual Machines.

For a list of more features added, there is documentation for each section that dives into the individual features that may not be as marketable but are excellent features that virtualization admins will enjoy:
- What’s New in VMware vSphere 5.1
- What’s new in VMware vCenter 5.1
- What’s New in VMware vSphere 5.1 – Networking
- What’s New in VMware vSphere 5.1 – Platform
- What’s New in VMware vSphere 5.1 – Storage
- What’s New in VMware vSphere 5.1 – Performance
- Introduction to VMware vSphere Replication
- Introduction to VMware vSphere Data Protection
- What’s new in VMware vSphere Storage Appliance
- What’s new in vCloud Director 5.1
Documenting Environment Settings with PowerCLI
Aug 12th
Below are some PowerCLI snippets I have used to quickly gather information on an environment, as well as to help document settings. The following were grabbed from PowerCLI gurus such as LucD and Alan Renouf, and I have tried to cite the author’s work with each snippet (Note: I was unable to find where I grabbed some of these, but please shoot me an email if I accidentally didn’t cite the source).
These all exports into CSV format to allow easy merging into a document. I tend to include the code to grab the information within the overview document to allow the data to be easily updated on a periodic basis by anyone with PowerCLI installed, as well.
Cluster and Host Hardware Overview
Get-VMHost | Select Parent,Name,Manufacturer,Mode,Version,MemoryTotalMB,Model,NumCpu | Export-Csv “PathHere”
Datastore Capacity and Usage (Credit: LucD.info)
$DS = @()
Get-Cluster | ForEach-Object {
$Cluster = $_
$Cluster | Get-VMHost | ForEach-Object {
$VMHost = $_
$VMHost | Get-DataStore | Where-Object { $_.Name -notlike "local*"} | ForEach-Object {
$out = "" | Select-Object Cluster, DSName, FreespaceGB, CapacityGB, PercentFree
$out.Cluster = $Cluster.Name
$out.DSName = $_.Name
$out.FreespaceGB = $($_.FreespaceMB / 1024).tostring("F02")
$out.CapacityGB = $($_.CapacityMB / 1024).tostring("F02")
$out.PercentFree = (($_.FreespaceMB) / ($_.CapacityMB) * 100).tostring("F02")
$DS += $out
}
}
}
$DS | Sort-Object Cluster, DSName –Unique | Export-Csv “PathHere”
List of iSCSI Targets by Host (Credit: LucD.info)
Get-VMHost | Get-View | %{
$esx = $_
$esx.Config.StorageDevice.HostBusAdapter | where {$_.GetType().Name -eq "HostInternetScsiHba"} | %{
$hba = $_
$_.ConfiguredSendTarget | `
Select @{N="ESX Name";E={$esx.Name}},
@{N="HBA Device";E={$hba.Device}},
@{N="IScsi Name";E={$hba.IScsiName}},
@{N="IScsi Target";E={$_.Address}}
}
} | Export-Csv "PathHere" -NoTypeInformation –UseCulture
Service Console Details by Host (Credit: Virtu-al.net)
Get-VMHost | Get-VMHostNetwork | Select Hostname, ConsoleGateway, DNSAddress -ExpandProperty ConsoleNic | Select Hostname, PortGroupName, IP, SubnetMask, ConsoleGateway, Devicename | Export-Csv “PathHere”
VMKernel Details by Host
Get-VMHost | Get-VMHostNetwork | Select Hostname, VMkernelGateway -ExpandProperty VirtualNic | Select Hostname, PortGroupName, IP, SubnetMask, VMkernelGateway, Devicename | Export-Csv "PathHere"
Port Group Details by Host
Get-VMHost | ForEach-Object -Process {
Tee-Object -InputObject $_ -Variable Temp | Get-VirtualPortGroup |
Select @{N="VMHost";E={$Temp.Name}},Name,VirtualSwitch,VirtualSwitchName,VLanId
} | Export-Csv "PathHere”
vSwitch Details by Host (Credit: Virtu-al.net)
$NetworkInfo = @()
Foreach ($VMHost in (Get-View -ViewType HostSystem | Where {$_.Runtime.ConnectionState -ne "disconnected"})){
Write $VMHost.Name
$NetworkSystem = Get-View $VMHost.ConfigManager.NetworkSystem
Foreach ($PG in $NetworkSystem.NetworkInfo.PortGroup){
$Details = "" | Select VMHost, vSwitch, PortGroup, ActiveNics, StandbyNics
$Details.VMHost = $VMHost.Name
$Details.Portgroup = $PG.Spec.Name
If ((($PG.ComputedPolicy.NicTeaming.NicOrder.ActiveNic | Select -ExpandProperty $ActiveNic).Length) -gt 1){
$Details.ActiveNics = [string]::join(';',($PG.ComputedPolicy.NicTeaming.NicOrder.ActiveNic | Select -ExpandProperty $ActiveNic))
}
Else {
$Details.ActiveNics = ($PG.ComputedPolicy.NicTeaming.NicOrder.ActiveNic | Select -ExpandProperty $ActiveNic)
}
If ((($PG.ComputedPolicy.NicTeaming.NicOrder.StandbyNic | Select -ExpandProperty $StandbyNic).Length) -gt 1){
$Details.StandbyNics = [string]::join(';',($PG.ComputedPolicy.NicTeaming.NicOrder.StandbyNic | Select -ExpandProperty $StandbyNic))
}
Else{
$Details.StandbyNics = ($PG.ComputedPolicy.NicTeaming.NicOrder.StandbyNic | Select -ExpandProperty $StandbyNic)
}
Foreach ($VS in $NetworkSystem.NetworkInfo.vSwitch){
If ($VS.Name -eq $PG.Spec.vSwitchName){
$Details.vSwitch = $VS.Name
}
}
$NetworkInfo += $Details
}
}
$NetworkInfo | Sort VMHost, VSwitch, PortGroup | Export-Csv "PathHere" –NoTypeInformation
Another great tool that should be in every Admin’s tool-belt is RVTools, which leverages PowerCLI to generate a great deal of information. All of the data generated through RVTools can also be exported to CSV and merged into the documentation.






















