Customising Windows 7 deployments - part 1. Changing the keyboard layout using unattend.xml
This is a very common question, how can I change the regional, keyboard, locale etc in Windows 7, so I'll try and explain how i do it in this post.
In this example we will make the Italian keyboard layout (it-IT) the default keyboard layout for Windows 7 login screen, location, keyboard layout.
Now of course you can add many more changes to your Unattend.xml file
and use them all together to apply changes to Windows 7, but this
example is only to show you how to customise the file to add Italian keyboard/locale support within Windows 7, it's up to you to get creative after this !.
Set up your LAB.
You'll need to have a few things in place in order to get this working:-
1. You will need the Windows SIM (Windows System Image Manager) tool to edit your unattend.xml files. Windows SIM is part of the WAIK. So if you havn't already done so, on a lab server, download the WAIK for Windows 7 (Windows® Automated Installation Kit) and install it.
2. You will need an extracted copy of your chosen architecture Windows 7 Enterprise DVD copied to a temp folder on your lab server. We will be using this image to build our templates (unattend.xml files) which will include our customizations to Windows 7. So go ahead and copy the contents of your Windows 7 Enterprise Edition DVD to d:\temp\windows7\x86. In this example we are using the 32 bit version of Windows 7. If you want to make changes to the 64bit version of Windows 7, then you'll need to copy the contents of your Windows 7 Enterprise Edition X64 DVD to d:\temp\windows7\x64.
3. We'll need a working Deploy Windows 7 task sequence to test this with, make sure you have one that is working 100% everytime so that you can test this with it.
Windows SIM - select a windows image
Start Windows SIM and select a windows image. Point it to the sources Directory on the installation source. You can either select the install.wim file directly in the sources folder or use the Catalog file if you have one. For this guide we shall select the install.wim file.
Once done, you may get prompted to create a Catalog file, answer Yes.
The catalog file contains descriptions of what components and packages
the image contains so may take a few minutes to generate. After the
Catalog file is created, our Windows Image pane will list some new
nodes called Components and Packages and you can expand them to see what lies within.
Windows SIM - create a new answer file
Now that we have our Windows Image loaded, we will want to configure it so in the Answer File pane, right click and choose New Answer File
Expand the Components node in the Windows image pane, scroll down until you see x86_Microsoft-Windows-International-Core_6.1.7600.16385_neutral right click on it and choose Add setting to Pass 7 oobeSystem.
Fill in the values on the Microsoft-Windows-International-Core Properties node so that it looks as follows:-
Now that we've made our changes, let's verify them so Click on Tools, Validate Answer File and verify that there are no errors reported in the Messages pane. Finally we want to save our Unattend.xml file so click on File, Save Answer File As and call the file IT_unattend.xml
you can now close Windows SIM.
Things to do on the ConfigMgr Server (SCCM)
On the ConfigMgr Server Create a folder called Unattend XMLs and place that folder in a network share.
Create a sub folder structure as follows:
--regional and locale settings
--regional and locale settings
copy the IT_unattend.xml file into the Unattend XMLs\X86\regional and locale settings folder
In the ConfigMgr console, expand Software Distribution and create a New package, call it unattend_locale_and_regional
this package requires no program but we must point the data source to the share we created above eg:
\\SCCM\sources\Unattend XMLs\X86\regional and locale settings
Once done, Create distribution point(s) for the new package and update the package to the DP's.
Adding the unattend.xml settings to our Task Sequence.
Expand the Operating System Deployment node in ConfigMgr and select our Deploy Windows 7 task sequence. (you can import this one if you wish, but you'll have to edit the four references within it for boot sequence, configmgr client package and so on).
Select the Apply Operating System step and place a checkmark in Use an unattended or sysprep answer file for a custom installation. Browse and select our newly created package above, for the filename type in IT_unattend.xml.
Save the Task sequence by applying your changes and advertise it to a collection, do a test deployment of Windows 7 and watch as the keyboard settings are changed to Italian.
If you look in the screenshot below you'll see the IT box in the top left corner, that means we have Italian keyboard support at the Login Screen !
and below is what you would see once logged into Windows.
have fun !