Tag Archives: mdt

MDT – MDT 2013 update 1 released

Published / by Rens Hollanders / Leave a Comment

Just a short notice to everyone concerning operating system deployment who have interest in deploying Windows 10. As of yesterday August 17, MDT 2013 Update 1 has officially been released.

Read all about it on Michael Niehaus’ technet blog: here

mdt2013u1

Find the download links of MDT 2013 update 1 and Windows ADK for Windows 10 here:

Find a list with changes and improvements, here: MDT 2013 Update 1 Now Available

Cheers! Rens

MDT – Monitoring creates event viewer entries

Published / by Rens Hollanders / 7 Comments on MDT – Monitoring creates event viewer entries

This quick post is about admitting that sometimes even I learn new stuff about MDT.

Since I usually do not setup MDT monitoring (I use dynamic logging most of the time), at a particular customer I did, since they wanted to track progress of their deployments.

Setting up monitoring is quite easy, enable the checkbox on your deployment share properties and add an additional property into your customsettings.ini:

figure 1.1: Enabling MDT Monitoring

mdtmonitor001

figure 1.2: Monitoring property customsettings.inimdtmonitor002

EventService=http://WIN81-LAPTOP:9800

When this is done, for each machine that will be deployed through MDT, the MDT Monitoring service will create an event in your Application log, with information regarding when the deployment was started for a particular machine, when it has ended and if any error’s did occur.

figure 1.3: Eventviewer Application Log MDT entriesmdtmonitor003

Cheers! Rens

MDT – Put the domain join where it belongs..

Published / by Rens Hollanders / 62 Comments on MDT – Put the domain join where it belongs..

Hi Guys and Gals,

Long time no see. Took me some time to move into our new house which had to be decorated with wallpaper, flooring, additional electric and internet wiring etc. So March 2015 will leave a gap in my blog archive, but I’m hoping to compensate this with writing some new articles.

One of them is this one: Put the domain join where it belongs. If you are like me, I like to work with one MDT deploymentshare to rule them all. When looking on social.technet in the MDT forum’s I see many people struggling to combine build and deployment shares together, or shares that have separate settings regarding computer deployment or domain membership.

Now MDT offers four options to create a deploymentshare so flexible you’ll only need one share to truly rule them all:

  1. The customsettings.ini
  2. Multiple customsettings.ini
  3. The MDT Database
  4. Task Sequence Variables

Allow me to explain each option and the pro’s and con’s:

Customsettings.ini: hey If you can manage it per model, macaddress, tasksequenceid etc. thats fine! But usually you are going to end up with a conflict that either strikes your build deployment or your deploy deployment. Most issues I see here are domainjoin and capture related.

figure 1.1: CustomSettings.ini

customset000

Multiple customsettings.ini, you can specify which ini file to process right into your task sequence “gather” step; this makes your deploymentshare more flexible and forces a specific task sequence to use a different ini file for processing then let’s say the default task sequence. Editing the Gather step is an option, but since you’ll have to edit it multiple times in one task sequence, it’s easy overlooked and prone to error when making typo’s

figure 1.2: Multiple customsetttings.ini

customset002

If you are planning on changing the gather step’s, then please take into consideration there are four of them in every deployment task sequence:

The first is during Initialization, the second during Preïnstall the third during State Restore and the last one can be found during Imaging

figure 1.3: Configuring different CustomSetting.ini

customset001

Then there is the MDT Database, store settings that would otherwise end-up in your customsettings.ini individually based per machine, make and/or model, roles or location, a very good alternative to use but a little bit overpowered when just wanting to make the difference between machines joining a domain or getting captured.

figure 1.4: Using the MDT database integration

mdtdb001

figure 1.5: Properties of a MDT database object (A customsetting.ini of your own)mdtdb002

Task Sequence variables, this to me is the most powerful option of all. Let’s say I want to specify a property which may not occur anywhere else, simply put a task sequence variable at the front of your task sequence.

figure 1.6: Using task sequence variables in your task sequence

tsvars001

Just as you would post information about capturing your reference build in the build task sequence, you could do exactly the same for the following values regarding domain joins:

  • JoinDomain=contoso
  • DomainAdmin=mdt-domainjoin
  • DomainAdminDomain=contoso
  • DomainAdminPassword=P@$$w0rd
  • MachineObjectOU=OU=Computers,OU=Laptops,DC=contoso,DC=local

This prevents machines that are intended to be captured, end up domain joined and machines that are deployed and are domain joined to be captured (which will result in error, since sysprep will not allow a domain joined machine to be generalized for capture).

Hope this helps in gaining insight in how to achieve a more flexible MDT deployment.

Cheers! Rens

MDT – Inject printer drivers

Published / by Rens Hollanders / 1 Comment on MDT – Inject printer drivers

Just a quick post before February ends:

Allot has been said and written about injecting drivers with MDT into you operating system. However I thought that it should be useful to point out that any of the drivers you want to inject into your operating system, at the preïnstallation phase, occur before the actual drivers for your system are applied.

I cannot substantiate this process which (part of the) script does the trick, but I recently noticed that injecting hardware drivers for a particular machine prior to injecting printer drivers, is not going to do anything with the printer drivers. They are skipped and later on in the process not found on the Operating System “C:\Windows\System32\DriverStore”. But when I switch the tasks with each other, and printer drivers are injected before hardware specific drivers, the printers drivers are nicely injected.

printers001

The only conclusion I can draw from this, is that the mechanism which triggers “Microsoft.BDD.PnPEnum.exe” to query for the vendor and device ID’s of the hardware, does not have a complete match of hardware devices found in relationship to the pool of drivers which is offered. Until then it will accept all drivers to be injected prior to the actual hardware driver injection.

Hope this can be of any assistance

Cheers! Rens

By the way I’m receiving the key of our new house in the next couple of days and I’ll be spending my time getting our house ready for moving in. So I’m not expecting to write an article before the beginning of April.