Good spelling is an important, and sometimes overlooked, aspect of providing your users and customers a professional IT Service Management experience. Nothing is more embarrassing than going back to look at the Request Offering or Email Template, sometimes months after it has been in production, and finding a misspelled word. So to help avoid situations like this, I have created a script that uses Microsoft Word’s spell checker to check the spelling on multiple different items inside Service Manager.

The script can be run to check the spelling on Email Templates, Subscriptions, Work Item Templates, Enumeration Lists, Request Offerings, and Service Offerings. It also takes into consideration HTML based Email Templates. It extracts just the text from the HTML so you don’t receive a bunch of false positives from the HTML elements. You also have the option to output the results to a CSV file. As well as the ability to specify words that you would like to exclude from being checked.

The script requires that you have the Service Manager PowerShell module and Microsoft Word installed on the computer executing it. Since I’m sure you don’t want to install Word on your management server, you can specify the Service Manager instance to connect to by using the “MgmtSrv” parameter.

You can choose to run it against all the item types by using the “-All” switch or you can choose the individual types you want to check by listing each switch you would like. For example, adding “-RequestOfferings” and “–ServiceOfferings” would only check the Request Offerings and Service Offerings.

You can exclude certain words from being checked by adding them to the “Exclusions” parameter as an array. In the example below the words “WeirdCompany” and “Runbook” are excluded from being checked.

The script will automatically select the language to check based on the default language of your operating system. To check what that is set to on you computer you can run the Get-Culture cmdlet in PowerShell.

The script will output five properties for each spelling error it finds. These are detailed below.

Type Object type (ex. Request Offering, Email Templates, etc)
DisplayName The display name of the object
Name The internal name of the object
Text The misspelled word
Element The element of the object with the misspelling (ex. DisplayName, Title, Body, etc.)

For a full list of the switches, parameters, and examples you can refer to the help section of the script.

Download the Service Manager Environment Spellchecker from TechNet Gallery.