Automating Windows Server Deployment

Version 4


    The amount of time wasted on setup, consistent configuration, and deployment of operating systems should not be ignored. Manual server operating system installation is a huge waste of resources and time, which translates into wasted money. Besides wasting time and money, manually performing these tasks is often prone to error, possibly resulting in production downtime or delayed implementations.  Automation of the OS installation ensures a consistent, error-free installation that meets all the standards required by an organization.


    The goal of this document is to provide you with the knowledge to enable you to create an environment that makes the deployment of Windows Server quick and easy.  Key capabilities include:


    • Use of Cisco UCS PowerTool to access information from the Service Profile that can be used to tailor the installation.
    • A ‘portable’ deployment system – can be deployed on a laptop and used anywhere without any supporting infrastructure; just need network access to UCS Manager
    • Very tailorable – this document provides sample procedures that can be readily customized to varying environments
    • Tested with:
      • Windows and Hyper-V Server 2012 R2
      • Windows and Hyper-V Server 2016
      • Windows Server 2016 Nano Server


    Microsoft PowerShell is THE tool for automation of Windows tasks.  It is stated within the Microsoft community that if you are not learning PowerShell, you are limiting your career options.  Cisco recognizes PowerShell’s importance and has released modules (Cisco PowerTool) that can be added to PowerShell to manage both Cisco UCS and CIMC systems. 


    In the document, we focus on combining the automation capabilities of Windows PowerShell with Cisco UCS servers (although similar capabilities could be accomplished with Cisco IMC servers).  Using configuration files and built-in capabilities of Microsoft tools, this document describes how the power of UCS Manager can be tapped to ‘on-the-fly’ tailor a Windows Server installation by reading information from the UCS Manager Service Profile of the server to which the operating system is being installed.


    Though the samples provided can be used ‘as is’, you are encouraged to use your own imagination to augment what can be done.  Even though these sample scripts have been tested in my environment, they should be tested in your lab environment before any release to production.  Each individual is going to find other things that would benefit from automation.  Give it a go!  Once you start, you often find additional things you would like to automate. 


    No support or warranty is implied for the use of these scripts and procedures, but if you have any issues, feel free to post back here with questions.  I will do what I can to help guide you.


    Lastly, please return here to share with others what you have learned, ideas you have to improve this, or other automation scripts you have found useful.