← Archive
article· jaw

Creating the ultimate SCCM 2007 Frontend HTA for OSD Part I

htalanguage-packosdsccmwindows-7

I have to say that I'm still learning about sccm all the time and most of the basic concepts here are from other articles on the internet. I just wanted to try and help some other admins with this as it really took a lot of looking and trial and error to get this far, and I'm not done yet. I'm going to try and break this up into sections to make it easy to borrow code, then bring it all together at the end.

So first the challenge, a front end HTA for Windows 7 enterprise that will let us do all of the following: Set the workstation name, validate the workstation name, set the time zone, provide a drop down list of ou's and join the machine to the domain in that ou, set the default language settings of the OS, make updates optional, and populate the computer description in AD. With some help I also made the HTA bilingual.

One of the problems with installing a language pack into Windows 7 is that it will prompt for a language half way thru the deployment, killing the Zero touch dead. Now you could just set a default language but people can be touchy about that kind of thing, so how do you choose.  Best let them do it....

If you are from Canada, then today is your lucky day. I'm going to be using English and French as the languages and Canadian keyboards - and US keyboard..since that is what we mostly use.

I use a Build task sequence and a Deploy task sequence method, where the image is built and captured in one task sequence where all the apps are installed and deployed with a second where drivers are installed and the machine is joined to  the domain.

This is for the deploy task sequence the built one is only run to create a custom wim file, updated as required. During the deployment stage you want to make it as simple as possible to image a machine yet still flexible and powerful, hence the HTA.

You will need a wim file that has had the language pack installed or you could add that step to your task sequence. You will also need to have MDT integration to use some of theses task sequence steps 2012, but 2010 would probably work also.

Before we can start we need a couple of files prepared first let talk about them now. As I write this I'm still not 100% sure how some of this works, I think i might be doing a couple of things twice, for now it works so good enough. OK, we need to understand that what the task sequence is doing is modifying the unattend.xml file which controls the windows installation, most of this is transparent but to choose a language we need to force a couple of things. There are a couple of steps here from the MDT integration that make this easy. First we need to create an XML file luckily Microsoft provides a handy tool to do this as part of WAIK the windows system Image Manager. Some good info here:
http://www.utilizewindows.com/pc-fundamentals/basics/174-windows-system-image-manager-overview

Windows system image manager

 

You want to open you wim file on the bottom right, it takes a little while. Then open the selections until you find Microsoft-Windows-International-Core_neutral and then right click on it and add it to the oobe step. You can then configure your language options. Use en-CA, for English Canada and fr-CA for French Canada , but beware you must use fr-FR for French France for UIlanguage to make the OS be in French. You need to create 2 files one for English and one for French, we will use a task sequence variable to select the right one later.

This is what the XML will look like. Once you have it you can just edit it with notepad.

 

 

--------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="34e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>fr-CA</InputLocale>
            <SystemLocale>fr-CA</SystemLocale>
            <UILanguage>fr-FR</UILanguage>
            <UILanguageFallback>en-CA</UILanguageFallback>
            <UserLocale>fr-CA</UserLocale>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/users/ha5.wim#1" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
-----------------------------------------------------------------

Next we need a rules file or customsettings.ini it's a great way to do stuff in MDT and once you integrate MDT to SCCM you can use it with Zero touch deployment.

This is what I'm using, save it with you MDT toolkit package at the root, then update your DP.
http://blog.coretech.dk/mip/creating-and-using-toolkit-package/

-------------------------

[Settings]
Priority=lang,keyboard,Default
Properties=MyCustomProperty

[Default]
OSInstall=Y
 

[lang]
subsection=lang-%lang%

[lang-eng]
UserLocale=en-CA
UILanguage=en-US

[lang-fra]
UserLocale=fr-CA
UILanguage=fr-FR

[keyboard]
subsection=keyboard-%kb%

[keyboard-eng]
KeyboardLocale=01009:00000409

[keyboard-fra]
KeyboardLocale=0c0c:00011009

 

----------------------------------

This rules file will make settings based on task sequence variables that we set with the HTA, this sort of duplicates some of the stuff in the xml file so I'm not sure if they both work or if only one which one. I'll test that some day, maybe you need both....

In case you didn't know by now...you need to create a MDT toolkit package, I'm going to link some instructions on that...it's well documented. Use Google till i do.

http://blog.coretech.dk/mip/creating-and-using-toolkit-package/

Lets take a peek at what the task sequence is going to look like.

 

Continued in part II

 

Tags:

Restored from the original jawtech.com (archived copy). Links and downloads from that era may no longer work.