smsagent.blog
  • docs.smsagent.blog
  • Custom Reporting in Microsoft Intune
    • Delivery Optimization Report
    • Windows Update for Business Custom Reporting
      • Power BI Report Walkthrough
      • Known issues / limitations
      • Change log
      • Deploy the solution
        • Create Azure Resources
        • Configure Azure Resources
        • Deploy the client-side script
        • Deploy the Azure automation runbooks
        • Configure the Power BI report
      • Adding additional language support
      • Table schema reference
    • Automating Data Exports from Microsoft Graph
      • Azure Automation account
        • Create / configure an Azure automation account
        • Grant API permissions
        • Create an Azure automation runbook
      • Azure Storage account
      • Automate Data Export to Azure Storage Account
      • Automate Data Export to Azure Monitor Logs
      • Creating / Troubleshooting Runbooks
      • Power BI
        • Connect Power BI to an Azure storage account data source
        • Connect Power BI to an Azure log analytics workspace as a data source
    • Managed Devices Report
      • Create / configure an Azure automation account
      • Grant API permissions
      • Create / configure an Azure storage account
      • Create an Azure automation runbook
      • Create a PowerBI report
      • MEM Managed Device Report template
      • Bonus! Unhealthy MEMCM Clients email report
    • Intune Assignments Report
      • Create / configure an Azure automation account
      • Grant API permissions
      • Create / configure an Azure storage account
      • Create an Azure automation runbook
      • Create a Power BI report
      • Change log
    • Patch My PC Report
      • A look at the Power BI reports
      • Change log
      • Video guides
      • Things to know
      • Create / configure an Azure automation account
      • Grant API permissions
      • Create / configure an Azure storage account
      • Create an Azure automation runbook
      • Create the Power BI report
      • Feedback
    • Windows 11 Hardware Readiness Report
    • Gathering Custom Inventory with Intune
      • Set up the Azure Resources
      • Create a Proactive remediations script package
      • Create a runbook
  • PowerShell Scripts Online Help
    • Get-AzSubscriptionActivityLog
  • Azure Solutions
    • Automated Azure Table Storage Backups
      • Change log
      • Deploy the solution
        • Create the Azure resources
        • Set the backup schedule
        • Add storage tables to the backup
        • Add role assignments to the storage account/s
        • Create a lifecycle management rule
      • Run a manual backup
      • Restore a backup
Powered by GitBook
On this page
  • Update the Client-side script
  • Update the Summarizer automation runbook

Was this helpful?

  1. Custom Reporting in Microsoft Intune
  2. Windows Update for Business Custom Reporting

Adding additional language support

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

PreviousConfigure the Power BI reportNextTable schema reference

Last updated 2 years ago

Was this helpful?

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!