cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Automating Windows Server Deployment

4416
Views
10
Helpful
1
Comments

 

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.

 

Comments
Community Member

Dear Timothy,

Right now need to deploy a cluster of Cisco UCS C240 M4 with Windows Nano Server 2016.

I see have a list example chipset drivers needed to add to winpe

Directory of E:\Share\Automation\Drivers\Intel-Chipset

            39,638 Chipset.cat

            14,634 Chipset_SMBus.inf

            61,224 Chipset_System.inf

             9,182 Chipset_Thermal.inf

             6,618 Chipset_USB.inf

             8,154 Chipset_Win78only.inf

I extract the intel chipset drivers and the following lists. which have a very difference structure then what you have propose. Could you please help highlight which one are needed.

    Directory: F:\Automation\Drivers\Chipset\intel

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

d-----        7/21/2017  11:43 AM                avoton

d-----        7/21/2017  11:43 AM                broadwell-de

d-----        7/21/2017  11:43 AM                coletocreek

d-----        7/21/2017  11:43 AM                common

d-----        7/21/2017  11:43 AM                cougarpoint

d-----        7/21/2017  11:43 AM                crystalwell

d-----        7/21/2017  11:43 AM                denverton

d-----        7/21/2017  11:43 AM                haswell

d-----        7/21/2017  11:43 AM                haswelle

d-----        7/21/2017  11:43 AM                ivybridge

d-----        7/21/2017  11:43 AM                ivytown

d-----        7/21/2017  11:43 AM                jaketown

d-----        7/21/2017  11:43 AM                kabylake

d-----        7/21/2017  11:43 AM                knightslanding

d-----        7/21/2017  11:43 AM                lewisburg

d-----        7/21/2017  11:43 AM                lynxpoint

d-----        7/21/2017  11:43 AM                null_heci

d-----        7/21/2017  11:43 AM                pantherpoint

d-----        7/21/2017  11:43 AM                patsburg

d-----        7/21/2017  11:43 AM                skylake

d-----        7/21/2017  11:43 AM                skylake-e

d-----        7/21/2017  11:43 AM                sunrisepoint-h

d-----        7/21/2017  11:43 AM                wellsburg

    Directory: F:\Automation\Drivers\Chipset\intel\avoton

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103976 avoton.cat

-a----         8/3/2016   3:41 PM          10127 AvotonSystem.inf

-a----         8/3/2016   3:41 PM           3035 AvotonUSB.inf

    Directory: F:\Automation\Drivers\Chipset\intel\broadwell-de

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103543 broadwell-de.cat

-a----         8/3/2016   3:41 PM          47990 Broadwell-DESystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\coletocreek

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103541 coletocreek.cat

-a----         8/3/2016   3:41 PM           3267 ColetoCreekSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\common

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103531 common.cat

-a----         8/3/2016   3:41 PM           3540 CommonSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\cougarpoint

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103996 cougarpoint.cat

-a----         8/3/2016   3:41 PM          10739 CougarPointSystem.inf

-a----         8/3/2016   3:41 PM           3284 CougarPointUSB.inf

    Directory: F:\Automation\Drivers\Chipset\intel\crystalwell

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103541 crystalwell.cat

-a----         8/3/2016   3:41 PM           3756 CrystalwellSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\denverton

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103992 denverton.cat

-a----         8/3/2016   3:41 PM           3065 DenvertonPorts.inf

-a----         8/3/2016   3:41 PM          14854 DenvertonSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\haswell

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103533 haswell.cat

-a----         8/3/2016   3:41 PM           4349 HaswellSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\haswelle

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103535 haswelle.cat

-a----         8/3/2016   3:41 PM          40449 HaswellESystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\ivybridge

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103537 ivybridge.cat

-a----         8/3/2016   3:41 PM           4773 IvyBridgeSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\ivytown

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103533 ivytown.cat

-a----         8/3/2016   3:41 PM          34963 IvyTownSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\jaketown

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103535 jaketown.cat

-a----         8/3/2016   3:41 PM          22360 JaketownSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\kabylake

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103996 kabylake.cat

-a----         8/3/2016   3:41 PM           5347 KabylakeSystem.inf

-a----         8/3/2016   3:41 PM           2924 KabylakeSystemGMM.inf

    Directory: F:\Automation\Drivers\Chipset\intel\knightslanding

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103547 knightslanding.cat

-a----         8/3/2016   3:41 PM          14395 KnightsLandingSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\lewisburg

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103988 lewisburg.cat

-a----         8/3/2016   3:41 PM          18797 LewisburgSystem.inf

-a----         8/3/2016   3:41 PM           2959 LewisburgUSB.inf

    Directory: F:\Automation\Drivers\Chipset\intel\lynxpoint

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103537 lynxpoint.cat

-a----         8/3/2016   3:41 PM          10749 LynxPointSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\null_heci

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103537 null_heci.cat

-a----         8/3/2016   3:41 PM           4287 NULL_HECISystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\pantherpoint

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103543 pantherpoint.cat

-a----         8/3/2016   3:41 PM          11984 PantherPointSystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\patsburg

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103984 patsburg.cat

-a----         8/3/2016   3:41 PM           9698 PatsburgSystem.inf

-a----         8/3/2016   3:41 PM           3265 PatsburgUSB.inf

    Directory: F:\Automation\Drivers\Chipset\intel\skylake

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103992 skylake.cat

-a----         8/3/2016   3:41 PM           4620 SkylakeSystem.inf

-a----         8/3/2016   3:41 PM           2926 SkylakeSystemGMM.inf

    Directory: F:\Automation\Drivers\Chipset\intel\skylake-e

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103537 skylake-e.cat

-a----         8/3/2016   3:41 PM          14617 Skylake-ESystem.inf

    Directory: F:\Automation\Drivers\Chipset\intel\sunrisepoint-h

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         104503 sunrisepoint-h.cat

-a----         8/3/2016   3:41 PM          13945 SunrisePoint-HSystem.inf

-a----         8/3/2016   3:41 PM           5122 SunrisePoint-HSystemLPSS.inf

-a----         8/3/2016   3:41 PM           2914 SunrisePoint-HSystemThermal.inf

    Directory: F:\Automation\Drivers\Chipset\intel\wellsburg

Mode                LastWriteTime         Length Name

----                -------------         ------ ----

-a----         8/3/2016   3:54 PM         103988 wellsburg.cat

-a----         8/3/2016   3:41 PM          14906 WellsburgSystem.inf

-a----         8/3/2016   3:41 PM           3264 WellsburgUSB.inf

Thank you very much

Best regards,

Sarin Na Wangkanai

CreatePlease to create content
Content for Community-Ad
August's Community Spotlight Awards