Adding additional language support

In this section, I will describe how to add support for OS display languages other than English, German or Italian.

Update the Client-side script

The client-side script detects cumulative updates for Windows by searching for a match against a specific string. In English, that string is 'Cumulative Update for'. In other display languages, this string may be different.

There are a couple of ways you can find this string. On a workstation, search in the System event log for the following event and find one that mentions the installation of a Cumulative Update for Windows. This will be reported differently for other languages, for example in German the string is reported as 'Kumulatives Update für' and in Italian 'Aggiornamento cumulativo di'.

Alternatively you can search the log analytics workspace using a query like the following:

SU_UpdateLog_CL 
| where UpdateName_s contains 'umulati'
| distinct UpdateName_s,UpdateType_s 

In the results of that query, I can locate the string used in German, for example:

You do not need the entire update name, just the equivalent of "Cumulative Update for" in that language.

In the client-side script, you need to make updates in two places. Search for the variable $CUNameArray. The first is found on line 194 within the Get-AvailableUpdatesOnline function. Add your language string to this array.

The second is found on line 644 in the UpdateLog code region. Do the same thing and add your language string to this array.

Don't forget to redeploy the script to your workstations after making these changes!

Update the Summarizer automation runbook

The Software_Updates_Reporting_Summarizer runbook determines some installation states (ie started and failed) for the current monthly security quality update by checking for the status as reported in the Windows event log. In English, these installation states are 'Installation started' and 'Installation failed' but in other languages, they may be different.

The best way to find what they are reported as in other languages is to run the following query against the log analytics workspace:

SU_UpdateLog_CL 
| distinct KeyWord1_s,KeyWord2_s

Make sure the time range of your query is sufficiently long enough to return lots of data.

In the query results, I can clearly see these installation states reported in other languages as well as English:

For example, Installation in Italian is Installazione, and Started is Avviato.

In the Azure automation runbook, locate the Language arrays section within the CalculateBStatus code region, beginning line 1736.

In these arrays, add the language equivalents of Installation, Failure and Started, as shown below:

Don't forget to save and publish your runbook when finished!

Last updated