Automating Windows 10 Enterprise Technical Preview with MDT 2013 Update 1 Preview

To follow-up on my earlier post “Deploying Windows 10 Enterprise Technical Preview with MDT 2012 Update 1 Preview” Let’s try to do a little automation to make the deployment experience a little smoother.

We just need to do a little configuration within the Microsoft Deployment Toolkit 2013 Update 1 Preview.

The first thing that comes to mind is, when we PXE/media boot our client.
We are shown the Microsoft Deployment Toolkit Welcome Wizard. We need to click Run the Deployment Wizard to install a new Operating System.

Note that in this picture is also the option to set Default Keyboard layout for Windows PE as well as a Static IP. I’m going to assume that we always have DHCP in place and accessible for our clients.

To skip the Welcome Wizard:

  1. Right Click your Deployment Share
  2. Click Properties
  3. Click Rules
  4. Click Edit Bootstrap.ini
    1. The bootstrap.ini contains configuration needed before we connect to our Deployment Share.
    2. Keep in mind that all changes here will not be reflected until a new media has been generated.
  5. in the [Default] section right under that path to your DeployRoot add: SkipBDDWelcome=YES
  6. Close the editor
  7. Click Ok to close Deployment Share Properties
  8. Right click your Deployment Share
  9. Click Update your deployment share
  10. Click Next
  11. Click Next
  12. Click Finish
  13. The ISO and WIM image within the Boot folder of your Deployment Share has now been updated – attached ISO media to VM or update WIM file on your Windows Deployment Server. I’m going to copy the Wim to my Hyper-V Host and mount it in my test VM.
  14. Boot your client to verify the changes

Next up – User Credentials Prompt

MDT User Credentials Wizard

Specify credentials for connecting to network shares

This is where need to type in the credentials for the Deployment Share. This is the last prompt before we start processing data from the Deployment Share – so we need to edit bootstrap.ini again

  1. Right Click your Deployment Share
  2. Click Properties
  3. Click Rules
  4. Click Edit Bootstrap.ini
  5. in the [Default] section right under that path to your SkipBDDWelcome add: UserID=<someusername>
    UserDomain=<domain or servername>
    UserPassword=<somepassword>

    1. The UserID can we a local account on the server hosting our Deployment Share.
    2. UserDomain must reflect if the account is Domain based or local on our Deployment Share server
    3. We only need NTFS read rights (and of course read share permissions) for the Deployment Share
  6. Close the editor
  7. Click Ok to close Deployment Share Properties
  8. Right click your Deployment Share
  9. Click Update your Deployment Share
  10. Click Next
  11. Click Next
  12. Click Finish
  13. Update your ISO or PXE Media
  14. Boot your client to verify the changes

We are now taken directly to the Task Sequence wizard

MDT Task Sequence list

Select a task sequence to execute on this computer

Let suppose that we only have and need one task sequence job – lets automate this step as well

Changes will be a bit easier this time, hence we don’t need to update the ISO or PXE media each time – we are now working with CustomSettings.ini

  1. Right Click your Deployment Share
  2. Click Properties
  3. Click Rules
  4. in the [Default] section right under the last line (In my case its SkipBitLocker=Yes) add:
    1. SkipTaskSequence=Yes
    2.  TaskSequenceID=IW10ETPX64
      1. The Task Sequence ID can be found in Task Sequences tab under the Deployment Share
  5. MDT Task Sequence list

    List of Task Sequences within your Deployment Share

  6. Click Ok
  7. Boot your client to verify the changes

You should now be brought directly to the Computer Details page

Domain or workgroup information

Domain or workgroup information

I’m going to keep this window visible for the computer naming part, but it can of course be skipped. It will require two skip options:

  • SkipComputerName=Yes
  • SkipDomainMembership=Yes

You could also just prepopulate the fields in CustomSettings.ini for either Domain or Group

Domain:

  • JoinDomain=ClientGeeks.com
  • MachineObjectOU=OU=Staging,DC=CLientgeeks,DC=com

Workgroup:

  • JoinWorkgroup=SomeWorkGroup

It will automatically use the account used to connect the network share, you can for obviously reasons use a different account

  • JoinDomain=ClientGeeks.local
  • DomainAdmin=DomainJoinAccount
  • DomainAdminDomain=Clientgeeks.com
  • DomainAdminPassword=Pa$$w0rd1

The great part of working with CustomSettings.ini is that there is no need to rebuild boot media – changes are effective immediately – go ahead and give it a try

When you boot your client again with the latests additions, we have arrived at Move Data and Settings:

move user data and settings

Move data and settings from a previous version of Windows

The default option for this step is: Do not move user data and settings, If we where to just skip this step, the outcome would be no data and settings backup

  • SkipUserData=YES

Some other configuration options are:

  • USMTOfflineMigration=True
  • DoNotFormatAndPartition=Yes
  • OSDStateStorePath=\\MDT01\StateStore$

Configure CustomSettings.ini and boot the client again – you could also just click next, BUT we know that testing is good, and more testing is better! 😉

Next up is the Locale and Time Zone selection

Specify locale and time preferences

Specify locale and time preferences

The valid skip options:

  • SkipLocaleSelection=Yes
  • SkipTimeZone=Yes

I’m going to configure the optional options just as default

  • KeyboardLocale=0409:00000409
  • UserLocale=0409:00000409
  • UILanguage=en-us
  • TimeZone=004
  • TimeZoneName=Pacific Standard Time

If you ready and retry – you should now only be prompted with a “Ready to begin” and a blank details section, don’t see any need for this page, so let’s just skip this as well

Ready to begin

Ready to begin

This can be skipped with the follwing option:

  • SkipSummary=Yes

Let try it out! 🙂

Hopefully you have achieved an automated installation progress now

Installation Progress

Installation Progress

The IT Organization and Running Package name can also we changed, here is an example that includes the current date and tasksequence ID using a variable – can of course just be static text.

  • _SMSTSOrgName=ClientGeeks.com #day(date) & “-” & month(date) & “-” & year(date)#
  • _SMSTSPackageName=%TaskSequenceID%
Customized Installation Progress Window

Customized Installation Progress Window

Here is a snip of my CusomSettings.ini and Bootstrap.ini – yours should look similar to this

CustomSettings.ini

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
SkipCapture=YES
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerBackup=YES
SkipBitLocker=YES

SkipTaskSequence=Yes
TaskSequenceID=IW10ETPX64

SkipComputerName=Yes
SkipDomainMembership=Yes

JoinDomain=ClientGeeks.com
MachineObjectOU=OU=Staging,DC=ClientGeeks,DC=com

SkipUserData=Yes

SkipLocaleSelection=Yes
SkipTimeZone=Yes

KeyboardLocale=0409:00000409
UserLocale=0409:00000409
UILanguage=en-us
TimeZone=004
TimeZoneName=Pacific Standard Time

SkipSummary=Yes

_SMSTSOrgName=ClientGeeks.com #day(date) & “-” & month(date) & “-” & year(date)#
_SMSTSPackageName=%TaskSequenceID%

Bootstrap.ini:

[Settings]
Priority=Default

[Default]
DeployRoot=\\MDT01\DeploymentShare$

SkipBDDWelcome=YES

UserID=svc-mdt-install
UserDomain=ClientGeeks.com
UserPassword=Password1

Have fun deploying! 🙂

Leave a Reply