Jump to content

Recommended Posts

Posted (edited)

Been working with MDT 2012 imaging Dell machines. Works a treat!

Now have some Samsung Laptops to image. Have sysprepped and captured an image. Following the same principle I did with the Dells I have created an Out of Box Drivers folder ;

 

SAMSUNG ELECTRONICS CO., LTD.

 

But the model name Samsung have is "300E4C/300E5C/300E7C". I cant use this as a name in the folder structure as MDT says you cannot have special characters in the name.

 

How do you guys load drivers for devices with strange model names?

 

I read about model alias here ;

 

Modelalias User Exit for Microsoft Deployment Toolkit 2010/2012 « The Deployment Bunny

 

But I cant get my head around how I would use it.

Edited by fiza
Posted
tbh I don't think you need folders with names for your different hardware just do import drivers from the out-of-box drivers section and then scan from cd or folder where you have the drivers. I have all the drivers for different models in the main folder and it selects the right ones to use when imaging automatically.
  • Thanks 1
Posted

Hi,

 

We had the same problem with our Samsung drivers with MDT. We got around this by editing the ZTIGather.wsf script located inside the Scripts folder in your DeploymentShare.

 

If you open up your ZTIGather.wsf script and search for "smodel" you should find an if statement about halfway down similar to this:

 

If smodel is "300E4C/300E5C/300E7C"

Then smodel is "Whatever name you want to call this"

 

This is roughly the if statement used, I cannot be sure as I don't have the script open up in front of me.

 

Try that and remember to update your deployment share after editing the script.

  • Thanks 1
Posted
Hi,

 

We had the same problem with our Samsung drivers with MDT. We got around this by editing the ZTIGather.wsf script located inside the Scripts folder in your DeploymentShare.

 

If you open up your ZTIGather.wsf script and search for "smodel" you should find an if statement about halfway down similar to this:

 

If smodel is "300E4C/300E5C/300E7C"

Then smodel is "Whatever name you want to call this"

 

This is roughly the if statement used, I cannot be sure as I don't have the script open up in front of me.

 

Try that and remember to update your deployment share after editing the script.

 

Looked at the ZTIGather.wsf in my Deploymentshare and the only line with if smodel is this one;

 

LogTypeInfo

End if

If sModel = "" then

oLogging.CreateEntry "Unable to determine model via WMI.",

 

 

What should I change this to?

Posted

Directly underneath the line you posted there is an End If statement. Below that leave a space and the insert the line

 

If sModel = "300E4C/300E5C/300E7C" then

SModel = "300E5C"

End If

 

The parts in quotations are what you want to change the model name from and what you want to change it to.

 

Hope this helps

  • Thanks 1
Posted (edited)

for the useralias script, you reference it in your Customsettings.ini its an userexit script. It then generates 2 new vaialbles: modelalias and makealias.

 

in your out of box drivers folder, you create new folders based on model name (The same that modelalias produces) put all the drivers for that model in there.

 

out-of-box drivers

->Win7x86

-->E5500

---> Dell Drivers (x86)

-->HP Compaq Elite 8300 Touch All-in-One PC

--->HP Drivers (x86)

->Win7x64

--->E5500

---> Dell Drivers (x86)

-->HP Compaq Elite 8300 Touch All-in-One PC

--->HP Drivers (x86)

 

if that makes sense?

 

In your TS, before you get to the Inject drivers (pre install) you add a new TS variable "DriverGroup001" and you reference your model folders in Out-of-box drivers like "win7x86\%modelalias%"

Then set inject drivers selection profile to "nothing" and select "Install all drivers from selection profile"

 

I personally dont use this method, because I am lazy and dont have lenovo's (lenovo model names are 8 digits long but the last 4 are batch so change even among the same range). I use a similar one called "Cleanmakeandmodel" it works similar, but you add a script to your scripts folder, run it before you create you DriverGroup001 variable, then use %cleanmake% and %cleanmodel% works just as well, and the guy who wrote it created a little app that gets he info on the local and remote machines with a button that drops the relevnat field onto the clipboard, meaning, you dont get spelling mistakes!

 

heres the link to cleanmakeandmodel

Edited by warren17c
typo
  • Thanks 2
Posted
for the useralias script, you reference it in your Customsettings.ini its an userexit script. It then generates 2 new vaialbles: modelalias and makealias.

 

in your out of box drivers folder, you create new folders based on model name (The same that modelalias produces) put all the drivers for that model in there.

 

out-of-box drivers

->Win7x86

-->E5500

---> Dell Drivers (x86)

-->HP Compaq Elite 8300 Touch All-in-One PC

--->HP Drivers (x86)

->Win7x64

--->E5500

---> Dell Drivers (x86)

-->HP Compaq Elite 8300 Touch All-in-One PC

--->HP Drivers (x86)

 

if that makes sense?

 

In your TS, before you get to the Inject drivers (pre install) you add a new TS variable "DriverGroup001" and you reference your model folders in Out-of-box drivers like "win7x86\%modelalias%"

Then set inject drivers selection profile to "nothing" and select "Install all drivers from selection profile"

 

I personally dont use this method, because I am lazy and dont have lenovo's (lenovo model names are 8 digits long but the last 4 are batch so change even among the same range). I use a similar one called "Cleanmakeandmodel" it works similar, but you add a script to your scripts folder, run it before you create you DriverGroup001 variable, then use %cleanmake% and %cleanmodel% works just as well, and the guy who wrote it created a little app that gets he info on the local and remote machines with a button that drops the relevnat field onto the clipboard, meaning, you dont get spelling mistakes!

 

heres the link to cleanmakeandmodel

 

 

The tool on my website (linked above) was developed because of the Samsung WMI info! :)

 

To the post re why do you filter drivers:

 

Basically if you put all your drivers in one pot you will end up with multiple drivers for each hardware ID. If you want to do regression testing on your builds each time you add drivers then adding them to one pot is all good, however driver filtering allows complete control over which drivers you add to your builds. Adding a new hardware type is then guaranteed to NOT affect your other builds which will build exactly the same as you first intended even years after the hardware type was first created.

 

For reference the scripts MDT Script – Clean the Make and Model WMI Queries | RS Applications basically allow you to filter on make and model regardless of what the WMI queries return. The make and model variables are left intact (invalid chars etc) so that the rest of the build info which can pull information from these variables works, instead as was mentioned above, cleanmake and cleanmodel are created and populated with the cleaned variables for use in driver filtering.

 

Shout if you need any help, its easier than I make it sound!

  • Thanks 3
Posted
The tool on my website (linked above) was developed because of the Samsung WMI info! :)

 

To the post re why do you filter drivers:

 

Basically if you put all your drivers in one pot you will end up with multiple drivers for each hardware ID. If you want to do regression testing on your builds each time you add drivers then adding them to one pot is all good, however driver filtering allows complete control over which drivers you add to your builds. Adding a new hardware type is then guaranteed to NOT affect your other builds which will build exactly the same as you first intended even years after the hardware type was first created.

 

For reference the scripts MDT Script – Clean the Make and Model WMI Queries | RS Applications basically allow you to filter on make and model regardless of what the WMI queries return. The make and model variables are left intact (invalid chars etc) so that the rest of the build info which can pull information from these variables works, instead as was mentioned above, cleanmake and cleanmodel are created and populated with the cleaned variables for use in driver filtering.

 

Shout if you need any help, its easier than I make it sound!

 

I must say a huge Thanks (and have clicked to indicate) Samsung is the reason I went looking and found. makes my life a lot easier!

Posted
The tool on my website (linked above) was developed because of the Samsung WMI info! :)

 

To the post re why do you filter drivers:

 

Basically if you put all your drivers in one pot you will end up with multiple drivers for each hardware ID. If you want to do regression testing on your builds each time you add drivers then adding them to one pot is all good, however driver filtering allows complete control over which drivers you add to your builds. Adding a new hardware type is then guaranteed to NOT affect your other builds which will build exactly the same as you first intended even years after the hardware type was first created.

 

For reference the scripts MDT Script – Clean the Make and Model WMI Queries | RS Applications basically allow you to filter on make and model regardless of what the WMI queries return. The make and model variables are left intact (invalid chars etc) so that the rest of the build info which can pull information from these variables works, instead as was mentioned above, cleanmake and cleanmodel are created and populated with the cleaned variables for use in driver filtering.

 

Shout if you need any help, its easier than I make it sound!

@Jamo - Thanks.

 

Beginning to organise my drivers list. I had originally created just folders with "Dell Inc." and then models under. I have now organsied it with "Windows 7" then "Dell Inc." and then the model . Only thing is my model is for example "Optiplex 7010" but when querying it comes back as "OptiPlex 7010" will the fact I dont have a capital P make a difference? I cant seem to change it now.

Posted
@Jamo - Thanks.

 

Beginning to organise my drivers list. I had originally created just folders with "Dell Inc." and then models under. I have now organsied it with "Windows 7" then "Dell Inc." and then the model . Only thing is my model is for example "Optiplex 7010" but when querying it comes back as "OptiPlex 7010" will the fact I dont have a capital P make a difference? I cant seem to change it now.

 

I dont think it matters but if you want to be precice, name it something differnet (stick a 1 at the end) then rename it back with the correct Capialization. I use the copy to clipboard function of @Jamo's tool whack it in a text file then use that from MDT.

  • Thanks 1
Posted
I dont think it matters but if you want to be precice, name it something differnet (stick a 1 at the end) then rename it back with the correct Capialization. I use the copy to clipboard function of @Jamo's tool whack it in a text file then use that from MDT.

 

Great Thanks - Why didnt I think of that?!!!

 

Made all the changes and I have updated my Deployment Share but do I need to regenerate the iso/wim files too?

Posted (edited)

Ran my first deployment with the new settings - it failed.

 

Failed to run action "make and model"

Incorrect function

 

 

I followed the instructions here : MDT Script – Clean the Make and Model WMI Queries | RS Applications

 

I created a new Run Command Line just above where I put the DriverGroup task. The command line "cscript CustomCleanMakeandModel.wsf". I didnt provide a "Start in" parameter or a run as parameter.

I made sure the script had the same name and was placed in the scripts folder of the deploymentshare.

 

Where did I go wrong? @Jamo @warren17c Any pointers would be appreciated

Edited by fiza
Posted
Quotes is what I was missing!! Just copied the syntax of one of the other tasks . Seems to be working now and the deployment is continuing.
Posted
Quotes is what I was missing!! Just copied the syntax of one of the other tasks . Seems to be working now and the deployment is continuing.

 

good work!

 

what i also do is, change the Install drivers task. I change it to Install Drivers - %cleanmake% - %cleanmodel%

 

then during the Task sequence, you get to see that it is picking the right drivers (peace of mind when you dony believe that it can be this simple!)

Posted
good work!

 

what i also do is, change the Install drivers task. I change it to Install Drivers - %cleanmake% - %cleanmodel%

 

then during the Task sequence, you get to see that it is picking the right drivers (peace of mind when you dony believe that it can be this simple!)

 

Which one is the install drivers task? Is it the Inject Drivers? And where do you change it to Install Drivers - %cleanmake% - %cleanmodel%

 

sounds like a great idea.

Posted
good work!

 

what i also do is, change the Install drivers task. I change it to Install Drivers - %cleanmake% - %cleanmodel%

 

then during the Task sequence, you get to see that it is picking the right drivers (peace of mind when you dony believe that it can be this simple!)

 

Worked it out now - brilliant.

Posted

Hello all.

 

Wondering if you could help. I am implementing CleanMakeandModel as per the advice on post #7 on [and I cant seem to get it to work, can you advise?

 

So in my task sequence I have a step called 'CUSTOM MAKE AND MODEL", it is a 'Run Command Line' step and the properties are set to "cscript.exe "%SCRIPTROOT%\CustomMakeandModel.wsf", which runs in my TS just fine.

Immediately after this step I have a set called 'SET DRIVER PATH', it is a 'Set Task Sequence Variable' step and the properties are set to:

Task Sequence Variable: DriverGroup001

Value: Windows 7 x64\%CleanModel%

 

In my CUSTOMSETTINGS.INI I have set the following: Properties=CleanMake,CleanModel

 

My "Inject Drivers" step is set to "Nothing" as per the advice here

 

And finally my Out-of-Box Drivers folder is organised as such:

 

>Windows 7 x64

>>TOSHIBA NB200

>>ESPRIMO P

>>HP Pro 3300 Series MT

 

>Windows 7 x86

>>TOSHIBA NB200

>>ESPRIMO P

 

I have no need for %CleanMake% so have simply ommited it, yet every device I deployed today failed to install any drivers??

 

Can you suggest anything?

Posted
Hello all.

 

Wondering if you could help. I am implementing CleanMakeandModel as per the advice on post #7 on [and I cant seem to get it to work, can you advise?

 

So in my task sequence I have a step called 'CUSTOM MAKE AND MODEL", it is a 'Run Command Line' step and the properties are set to "cscript.exe "%SCRIPTROOT%\CustomMakeandModel.wsf", which runs in my TS just fine.

Immediately after this step I have a set called 'SET DRIVER PATH', it is a 'Set Task Sequence Variable' step and the properties are set to:

Task Sequence Variable: DriverGroup001

Value: Windows 7 x64\%CleanModel%

 

In my CUSTOMSETTINGS.INI I have set the following: Properties=CleanMake,CleanModel

 

My "Inject Drivers" step is set to "Nothing" as per the advice here

 

And finally my Out-of-Box Drivers folder is organised as such:

 

>Windows 7 x64

>>TOSHIBA NB200

>>ESPRIMO P

>>HP Pro 3300 Series MT

 

>Windows 7 x86

>>TOSHIBA NB200

>>ESPRIMO P

 

I have no need for %CleanMake% so have simply ommited it, yet every device I deployed today failed to install any drivers??

 

Can you suggest anything?

 

The make and model WMI queries will return the manufacturer and model respectively.

 

Download MDT – Using WMI with Invalid Characters | RS Applications and check the results of the WMI parts.

 

Basically if you were to only use cleanmodel your folders would have to look like this:

 

>Windows 7 x64

>>NB200

>>P

>>Pro 3300 Series MT

 

>Windows 7 x86

>>NB200

>>P

 

(assuming the model numbers are as above)

 

 

To get it the way you want, you could try changing the drivergroup001 variable to

 

Windows 7 x86\%cleanmake% %cleanmodel% (note the space in the middle)

 

Not tried it though

 

 

If you are confused you can try this:

 

Browse to C:\Windows\Temp\DeploymentLogs\ on a imaged station and find BDD.log. Open and search for Drivergroup001, you can then see what it was set to during the last install and work out what path was being used.

 

Hope that helps

Posted (edited)

Thanks.

 

I used the Tool to obtain the models which were right and case sensitive as they were displayed on my post. Hence my confusion.

 

I will look into your suggestions and retest this weekend, thanks!

Edited by jonniehack
Posted
Thanks.

 

I used the Tool to obtain the models which were right and case sensitive as they were displayed on my post. Hence my confusion.

 

I will look into your suggestions and retest this weekend, thanks!

 

Personally, I would go with either Just Model's under your Win7 folders (windows 7 x86\%cleanmodel%) or have both cleanmake and clean model (windows 7 x86\%cleanmake%\%Cleanmodel%)

 

I would also eliminate the spaces, Just so that the full path has nothing to complain about, not sure if it will need quotes round the string because of them or not, or if it even accepts it with the quotes. let us know how it goes.

Posted
Personally, I would go with either Just Model's under your Win7 folders (windows 7 x86\%cleanmodel%) or have both cleanmake and clean model (windows 7 x86\%cleanmake%\%Cleanmodel%)

 

I would also eliminate the spaces, Just so that the full path has nothing to complain about, not sure if it will need quotes round the string because of them or not, or if it even accepts it with the quotes. let us know how it goes.

 

Yeah I would agree with the above, not sure how using the spaces would work, it might do though so don't give up just yet!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...