Monday, August 26, 2013

AD attributes to fully Automating OS deployment with WDS (Windows Deployment Services)

Microsoft provides many tools for deploying an Operating System (Windows 7, Windows 8, Windows Server 2008, Windows Server 2012).  Each has their pros and cons.  Some are easy to setup some a little harder.

One thing I found over the years at Microsoft was when setting up a test system that is physical hardware it is best to do a clean install, thus using WDS. 

The info below was used as part of the Automation system I developed while at the Microsoft Enterprise Engineering Center.  By using WDS with the automation system we were able to simply click on a server in the UI and select Image.  This would then kick off the OS Imaging workflow.
Deployment Steps:
  1. Power Server off (via Raritan Switched PDUs and SNMP)
  2. Move Network interfaces for server into correct Vlan (via Network Vlan plugin system)
  3. Set Active Directory Attributes below for WDS
  4. Set KVM interface Name (via Raritan Command Center APIs)
  5. Power Server ON (via Raritan Switches PDUs)
 Advantages of using WDS
  • No image to maintain for each model
  • No images to patch each month
  • System is clean and pure
  • Bases (install) images are easy to setup (just need the .WIM from the CD)
  • Does not require agents to be installed on everything
  • Allows for an easy system audit script to be run at the same time
  • Don't have to worry about a "safe OS" being installed on some drive

I am not going to go into detail on how to setup WDS or add boot or install images.  This is well documented on MSDN.

I don't recommend using Stand-alone mode if you need a system that needs some resiliency.  The AD integrated option works the best!

A few requirements
We will be working with 2 AD attributes


This attribute specifies what PXE client should be used when the computer boots.  You can use wdsutil /Set-Device /Device:<name> /BootProgram:<path> to set this.

3 common values
  • <WDS Server FQDN>\boot\x86\pxeboot.n12 - Tells the PXE client to NOT required F12. If you used the N12 option be sure to run "wdsutil /set-server /resetbootprogram:yes" on the WDS server. If you don't the clients will always be in reboot loop.
  • <WDS Server FQDN>\boot\x86\ - Tells the PXE client to abort any PXE boot attempt on that NIC and move to next device in boot order
  • <WDS Server FQDN>\boot\x86\ - Tells PXE to request the user to push F12.  Will move to next boot device if they don't.


This attribute holds the following items for a ZERO Touch deployment.
  • What boot file (WIM) to use - BootImagePath
  • Path to unattend XML file (provides path to install WIM) - WdsUnattendFilePath
  • If you want the computer joined to the domain - JoinDomain
As MSDN provides (in link above) the info is in Key=value; format.

Example: to use boot image foo, unattend bar and NOT join the domain


 Note the trailing ;.  See for more info.

These items can also be set by running the following WDSUtil commands
  • WDSUTIL /Set-Device /Device:<name> /WDSClientUnattend:<path>
  • WDSUTIL /Set-Device /Device:<name> /BootImagePath:<path>
  • WDSUTIL /Set-Device /Device:<name> /JoinDomain:No


Unknown said...

Thank you, this is just what I was looking for. It's amazing to think this zero-touch deployment has been part of WDS since Server 2003 (perhaps 2000 as well) yet nobody seems to know about it. When people ask if zero-touch PXE deployment is possible with WDS, most responses will say no and recommend using SCCM (it took me forever to find out that isn't the case).

Robotic Process Automation Tutorial said...

Thank you so much for your information,its very useful and helful to me.Keep updating and sharing. Thank you.
RPA training in chennai | UiPath training in chennai

cynthiawilliams said...

Thanks for posting this info, I found it very interesting and informative.
RPA Training in Chennai
Robotics Process Automation Training in Chennai
Blue Prism Training in Chennai
UiPath Training in Chennai
Data Science Course in Chennai
RPA Training in Anna Nagar
RPA Training in Chennai
RPA course in Chennai

Anbarasan14 said...

Awesome Post. Have been waiting for a long time. Thanks for sharing.

Spoken English Class in Chennai
IELTS Coaching Centre in Chennai
English Speaking Course in Mumbai
IELTS Classes in Mumbai
IELTS Coaching in Mumbai
IELTS Mumbai
Best IELTS Coaching in Mumbai
IELTS Center in Mumbai

invincible01 said...

Amazing Article, Really useful information to all So, I hope you will share more information to be check and share here.

Internship near me
Inplant Training for cse
Inplant Training for IT
Inplant Training for ECE Students
Inplant Training for EEE Students
Inplant Training for MECHANICAL Students
inplant Training for CIVIL Students
Inplant Training for Aeronautical Engineering Students
Inplant Training for ICE Students
Inplant Training for BIOMEDICAL Engineering Students

Diyalabs said...

Thanks for sharing such a helpful, and understandable blog. I really enjoyed reading it.

Robots for kids
Robotic Online Classes
Robotics School Projects
Programming Courses Malaysia
Coding courses
Coding Academy
coding robots for kids
Coding classes for kids
Coding For Kids

Gurjeet Singh said...

Web Solution Centre A renowned company offering Web Development and Web Designing Company In Delhi, Before beginning out of a web design project, it is important to speak about positive essentials with your web Designing company. For more information May contact us....