UCS Base Configuration Builder PowerShell Script

Version 31

    This is a ZIP file with four PowerShell scripts inside:

         File one is Data-Blank.ps1 and this is a worksheet to fill out with all the basic requirements for your UCS deployment.

         File two is UCS Base Configuration v0.9.17.ps1 which connects to the Data-<yourUCS>.ps1 file and then configures your UCS system with all the standard parameters needed to build service profiles.

         The third is a sample Data-Laptop.ps1 file to give you good examples for your deployment.  I use this one on my UCS emulator on my laptop.  You will just need to make minor changes to the IP addressing info to match your emulator or system to test.

         The fourth is a customization script template.  It allows someone with advanced PowerShell/PowerTool knowledge to customize their install after the base script has run.


    There is a readme file in the ZIP will provide more information.  The script contains many of my 'best practices' and can be adjusted or customized for your needs.  After filling out the data file it generally takes only a few minutes (between 2:30 and 15 minutes) for the script to completely run and configure your UCS.


    The script does the following:

         Configures equipment policies

         Configures server, uplink and FC ports

         Creates port-channels if used for LAN and SAN

         Set VLAN and VSAN information

         Set's up all Pools, Policies and Templates required to run a UCS

         Builds a series of Service Profile Templates using created pools, policies and templates

    Upon completion there should be very little customization required to get your system running.  If there is, the customization script feature can automate those changes.


    The script contains the concept of a UCS Domain ID.  This concept is a two digit hexadecimal number that uniquely represents a UCS system.  It is used to make UUID, MAC, WWPN, WWNN, IQN pools unique and non-overlapping between multiple UCS systems.


    The benefit of this script is rapid and consistent provisioning of new UCS deployments.

    Let me know if you have any problems, questions or recommendations for changes



    v0.9 - Added Support for Rack Mount Servers under UCSM

    v0.9.01 - Added support for LAN and SAN Port Channels

    v0.9.02 - Added tons of customizations and better flow and documentation in the answer file (Data-) along with a sample config

    v0.9.03 - Added additional documentation into answer file.  Changed Boot Policies for FC to prefix with Boot_from_

    v0.9.04 - Fixed logic problem when you don't have a chassis and/or a fex in re-ack creating an infinite loop.  Changed default in answer file to rack immediate discovery

    v0.9.05 - Fixed issue of vNIC build where added native vlan name does not match vNIC name

    v0.9.06 - Added tons of data file validation checks and corrected a few minor issues.

    v0.9.07 - Added the ability to modify the format for the pools.  This requires using the latest script and data file attached.  Also added the ability to add notes to the data file which will appear as the script finishes.  These can be helpful to remind you of special settings to make to UCSM that are outside the scope of this script.

    v0.9.08 - Added the ability to run a customization script called from the data file to execute special settings on your UCSM.

    v0.9.09 - Added custom background color and coloring in the script to make it more readable.  Fixed typo in answer file.  Added readme file to ZIP.  Added information to the script to help the user understand the script.

    v0.9.11 - Validated that you were running at least PowerShell v3 for the script to function

    v0.9.12 - Fixed issue with waiting for FI's or Modules to reboot after universal ports converted from Ethernet to Fibre Channel

    v0.9.13 - Tested on UCSM 2.1 and 2.2.  Added new features for UCSM 2.2.  RAID50, RAID60, UDLD and DIMM Blacklisting

    v0.9.14 - Rolled back support for UCSM 2.2 building UDLD, RAID50 and RAID60 as a new PowerTool is required.  Does configure DIMM blacklisting.  Added checks for UCSM 2.2 to not try to put 2.2 features into 2.1.  Checks PowerTool version to make sure minimum for 2.1 UCSM support.  Create new BIOS policy called "Performance" that has highest performance CPU settings.  It is not applied to Service Profile Templates though as "Basic" is the default.

    v0.9.15 - Cleaned up a few minor parsing errors, Changed default BIOS policy from Basic to Performance and Adjusted script to be able to handle non-failover NICs that share VLANs.  Examples for this final feature are in the sample answer files.

    v0.9.16 - Added support for a single fabric deployment with a single Fabric Interconnect and single IOMs.  Added delay for re-login to validate that UCSM is up.

    v0.9.17 - Fixed issue with single FI check.  Adjusted delay for re-login when system is a UCS emulator to speed up testing

    v0.9.18 - Added built in help.  Command line options.  Standard naming convention.

    v0.9.19 - Fixed issue with mgmt. pools failing to create due to non-default subnet mask (  Added option to add Subnet Masks to iSCSI IP Pools.  If you are using an older answer file the system will use

    v0.9.22 - Fixed issue with newer UCSM versions creating boot policy including local hard drive

    As always, let me know if you have any questions, comments or concerns.