Handling illegal characters in MDT Driver folders.

A two part problem and solution on this page folks! Please read both parts.

Problem:  How to handle illegal characters in make & model name for drivers in MDT, drivers aren’t installing properly and how do I know what to call my folders in Out-of-Box Drivers?

Solution:  OK so I have only really seen this with some Samsung units ‘in the field’ although I’m sure there’ll be a few more out there, I just haven’t come across them yet.

When implementing a ‘Total Control’ method for drivers (ref: bit.ly/1qvzHyp) you may find that some make & model types have illegal characters in them so you therefore cannot create an aptly named folder to reference during your task sequence because the virtual folders dont like them.  Personally, I use a neat little tool called “Clean Make and Model’ which can be found here: bit.ly/1q8fAsg this is a downloadable script called ‘CleanMakeandModel.wsf’ which you place inside your ‘Scripts’ folder on your deploymentshare and then reference it in your task sequence.

Taken from the CMAM website:
Firstly you need to define the custom variables in CustomSettings.ini in the deployment share. To do this right click on the share select properties and go to the Rules.ini tab.

In the SETTINGS section there is a property called Properties which by default will only have the MyCustomProperty property defined. Unless you have used that property… delete the property and replace with CleanMake,CleanModel so that the line looks like the following:

   1: Properties=CleanMake,CleanModel
The deployment share is now ready to have the script used within it.

In the task sequence just above the task to set the custom driver group folder add a new Run Command Line task and add the line “cscript customcleanmakeandmodel.wsf”. This will run the script and set the two variables by reading in the WMI query results and then removing illegal characters.

You next need to alter the Driver Group path value to represent the folders you have set up.  Mine in “Windows-7-x64\%CleanModel%”


In the above example I only use %CleanModel%  however you can use %CleanMake%\%CleanModel% if you so wish, it all depends how you wish to organise your driver folders.

Once the above is set all you need to worry about now are your drivers’ folders.  I don’t believe in using spaces in folder names so the way I organise my driver folders are:

   1: OperatingSystem&Architecture\CleanMake

I only use this because there are only a handful of makes I am concerned about at each of my client sites so it seems too granular to go for make and model, I only need the model.
Which translates to this in terms of folders inside Out-of-Box Drivers:

   1: Windows-7-x64\CleanMake
   2: Windows-7-x86\CleanMake
   3: Windows-8.1-x64\CleanMake

..Obviously I get no say in the CleanMake or Clean Model results and the fact there are spaces in the names

So, to find out what to call your driver folders you can use the CMAM query tool, found here: bit.ly/1laJep4

As you can see from the image below, when you run it, it will remove the illegal characters, in my case it removed the brackets and so I can create a folder without them as in the image above.

NOTE:  This needs .net4 Framework to run, notice you can use it for remote machines!

Script Author:
Contact: james@withjames.co.uk
Twitter: https://twitter.com/jamoflaw

If anyone has any other methods for handling illegal characters I would love to hear them.