Upgrading my home lab from ESXi 6.0 to ESXi 6.7

I deployed my original ESXi 6.0 home lab server back in 2015, and although I’ve been putting off upgrading the hardware, ESXi 6.7 was released in April 2018 and I’ve finally gotten around to upgrading ESXi.

I’m a Microsoft guy by trade, but wanted to build some experience around VMware so made the decision a number of years ago to have VMware ESXi in my home lab as my primary hypervisor instead of Hyper-V (although I have run them both in my home lab at one point). The biggest challenge I’ve had with this setup is using hardware that is on the VMware HCL and making sure that I could find supported drivers for the NICs I had laying around. Through this upgrade from 6.0 to 6.7, I found out first-hand how tricky dealing with non HCL’d hardware and lack of VMware-supported drivers would be. read more...


My first look at Windows Sandbox

Earlier this week, Windows Insiders who were part of the Fast Ring, got their first glimpse of an isolated desktop environment called Windows Sandbox.

Windows 10 Insider Preview Build 18305 contains this new capability that will allow users to test out applications, untrusted or otherwise, without the fear of it destroying their existing their existing desktop environment.

Through the magic of the Windows hypervisor (and some Windows Containers goodness), this isolated non-persistent environment looks just like a Windows 10 virtual machine with its own file system, registry, and network connectivity, but is walled off from your actual desktop protecting it from any rogue-ness that could otherwise render your installation unusable. read more...


PowerShell One-Liner: SC Series storage class and RAID level allocations

With the PowerShell SDK for Dell EMC SC Series arrays, you can easily retrieve volume information including allocated, free, and used space.  But what if you’re looking for RAID allocations on the entire array?  Like how much RAID10, RAID5 or RAID6 is allocated across all of your tiers?  That’s easy too:

Get-DellScStorageTypeClass -ConnectionName <connectionName> | foreach { Get-DellScStorageTypeClassStorageUsage $_.InstanceId -ConnectionName <connectionName> } | Select AllocatedSpace,FreeSpace,UsedSpace,InstanceName | ft

From these couple handy cmdlets strung together, you’ll get exactly what you’re looking for:



PowerShell: Dynamic generation of an iCal/vCalendar (ICS) format file

Generating your own custom calendar or event invites in the iCal (vCalendar) format is pretty easy, once you’ve read the 140+ page spec.

Actually, it’s a pretty complex but flexible way to build schedule items.  Just think about the possibly combinations that exist when you create a new meeting request or appointment in Outlook or your preferred calendar application.  You get recurrences, descriptions, summaries, invitees, location, start time, end time, all-day…. and the list goes on and on.

For this example, we’ll keep it simple and walk through building a function for an event with a yearly recurrence; something like a birthday or an anniversary.

The first part of this function is going to put together some of variables for building out the ICS file.  In this case, the function is going to ask for input for all the fields.  To truly automate, you’ll want to suck this information in from a file or another datasource since you’ll want to minimize the user intervention.

function CreateNewEvent {

# Custom date formats that we want to use
$longDateFormat = "yyyyMMddTHHmmssZ"
$dateFormat = "yyyyMMdd"

# Prompt the user for the start date in a specific format
$startDate = Read-Host -Prompt 'Enter the start date of the event in the format "yyyymmdd"'

# Give the event a name specified by the user
$eventSubject = Read-Host -Prompt 'Enter the event subject'

# This field is optional, but let's ask for the details (description)
$eventDesc = Read-Host -Prompt 'Enter the event description summary (optional)'

# Provide location information (also optional)
$eventLocation = Read-Host -Prompt 'Enter the event location (optional)'