Setting the Machine Name of a vCAC-provisioned VM to comply with a Corporate Standard – Part 1 of 4

Important Aside
You should visit Adam Bohle’s blog and his fantastic posts about this. He knows way more about it than I do. I stepped through his and Tom O’Rourke‘s procedures and wanted to document what it took. Those guys are the authority on vCAC.

Machine Prefixes in vCAC allow administrators to set a standard name for machines provisioned by members of a Business Group. The default is simply an alphanumeric prefixing a number. For many (most?) organizations, this is not sufficient and the provisioned machine names should comply with a corporate standard.

Solution Overview
I’m looking for a fairly simple method to apply a compliant machine name that can be used by multiple Blueprints, Business Groups and Reservations.

For this example, the name should use the initials of the Business Group, “V” for Virtual, a single letter for the OS (“W” for Windows, “L” for Linux), a three character “role” and a two digit sequence number for uniqueness.

Example Naming convention:
BG1 = Business Group initials
V = Virtual
W = Windows
APP = APPlication server
14 = Sequence number

Same preparation steps as here


  1. Create a new Machine Prefix that will be used by your Business Group. I used the machine prefix BG1- and set the number of digits to two.
    Machine Prefix to be used  by Business Group
    Machine Prefix to be used by Business Group

    Did you notice the dash in the machine prefix? That’s important because in this example, I’m going to replace that dash with the additional information. This way, we retain the Business Group-specific prefix and the vCAC-generated sequence number.

  2. We want to provide our users with a dropdown list of “roles”, so that they can indicate which is appropriate for the requested VM. We do this by using a property dictionary. Navigate to Infrastructure|Blueprints|Property Dictionary
  3. Click “New Property Definition” and fill out the fields. In this case, lets name it custom.machineRole, set the Display Name to Role, the Control Type to DropDown and Required.
    Setting up the Property Definition
    Setting up the Property Definition

    Click the Green check to save

  4. On our freshly-baked Property Definition, click “Edit” under Property Attributes
  5. Click “New Property Attribute” and fill out these fields. Here, we’ll set the Type to ValueList, the name to custom.machineRole and the Value to “APP,CTX,DEV,ORA,SQL,VDI,WEB” (or whatever comma-delimited list you wish)
    Set the Property Attribute
    Set the Property Attribute
  6. Now, we need to ensure our dropdown is displayed correctly on the blueprint. So, we’ll create a Property Layout. Just like before, click “New Property Layout”, give it a name – I used “machineRole.selection”.  Enter a meaningful description.Property LayoutGreen check to save
  7. Click Edit under “Property Instances” on our new Property Layout, and select custom.machineRole from the dropdown. Set the Order to 1 (since it’s the only one property definition we’re concerned with right now). Property InstancesGreen check to save. Click OK to exit Property Instance editing.

Continue to Part 2, Powershell