Tuesday, September 3, 2013

Using Group Policy to Install Multiple Keyboards

After searching through several other blog posts, and a series of trial and error, I was able to create a GPO that forces the install (and sets preference for multiple keyboards in Windows 7 and I assume 8)

1.  Create an XML file for Windows to reference, here is a sample XML:


 <!--Keyboard Language Change-->
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
    <!--User List-->
    <gs:UserList>
        <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/>
    </gs:UserList>
    <!--input preferences-->
    <gs:InputPreferences>
        <!--es-IN-->
                                <gs:InputLanguageID Action="add" ID="040a:0000040a" Default="true"/>
                <!--en-US-->
                                <gs:InputLanguageID Action="add" ID="0409:00000409"/>
    </gs:InputPreferences>
</gs:GlobalizationServices>




The only lines you'll need to worry about modify are the under <gs:Input LanguagePreferences>


<!--es-IN-->
                                <gs:InputLanguageID Action="add" ID="040a:0000040a" Default="true"/>
                <!--en-US-->
                                <gs:InputLanguageID Action="add" ID="0409:00000409"/>




First you'll need to define a "name tag" for each keyboard, for example I just made up <!--es-IN-->, it doesn't seem to matter what the name tag says as long as it's in that format of <!--$$-$$-->

Next you'll need to fine the Local IDs for the keyboards you want to install, those codes can be found here: http://msdn.microsoft.com/en-us/goglobal/bb895996.aspx

In this example I've got Spanish Traditional (040a:0000040a) and English (0409:00000409) installed with the Spanish set as default, and set by the line : "040a:0000040a" Default="true"/>

2.  Save your XML file as whatever.XML

3.  Create a Batch file which will run as a login script to install the Keyboard:

Here is an example of the batch file that I made:


Start, control intl.cpl,, /f:"\\server\share\whatever.xml"


Note:

 the /f: argument is not to be replaced with a drive letter, this through me at first.  It's an argument to specify a file location.  The format must be /f:"location of xml" so if the file was location on your C:
drive it would be /f:"C:\whatever.xml"

4. Assign this new batch file as a start script on the target OU:


Remember if the target OU contains only Computer Objects you'll need to enable Loopback Policy Processing.



No comments:

Post a Comment