This solution converts end-user userinput from Service Manager Portal into a clean formated string table and commits it to a new Action Log entry in top. The script can be modified for other purposes: e.g. used in Orchestrator or appended to the description field.

I made this powershell workflow script because of different wishes from customers all related to complains about the user input on the Service Manager Portal:

Problem:

  • End-Users can’t see what they typed on a request offering in the service manager portal.
  • Even if the formular only contains limited questions (e.g. Title and Description) the description field on the portal can only show 3 rows (yes, it’s true Smile).
  • The User Input on a Service Request can be hard to read for the analysts as it is printed out in XML (the below happens if you want to display Config Items on the portal via Query Result option):

image

  • The User Input on a Incident is not shown at all! The inputs are mapped to the incident form, but could be mapped to different places and might be hard to find. Although Anders Bengtsson made a solution to come to grips with this(http://contoso.se/blog/?p=3121). it doesn’t account for the xml printout and the End-user still can’t see his/her user input. Allthough, you could probably use a combination of this and my solution here.

Solution:

So, to solve this for both end-users and analysts I decided to commit the user input to the action log instead. And at the same time clean the user input to handle config items and enumerations. This way the end-user are able to read all his/her previous answers and the Analyst can also view the user input on the General panel in the top of the Action Log.

Scenario:

Ok so here is what happens:

1) The end-user makes a new Request from the Service Manager Portal (either Incident or Service Request):

portal

2) A workflow with a powershell script runs that triggers on Work Item created where User Input is not empty (this way we can get both Incidents and Service Requests and reasure it’s coming from the portal). The script then cleans the user input into a formated string table and commits it as a new actionlog entry.

3) How the Analysts see it:

Service Request:

console

Incident:

UserInput_console3

4) How the End-User see it:

portal1

As a bonus you can also see the related request offering which makes it a little easier for analysts to quickly recognize the type of request.

Requirements:

  • SMlets installed on the SCSM Management Server (workflow server) : http://smlets.codeplex.com
  • Service Manager 2012 SP1 with UR2 or later (version numbers in references could be modified to support older versions, but it’s not tested on these. Just write to me if you want a version compatible with older versions)

Download

Download from techned gallery here:

http://gallery.technet.microsoft.com/Commit-User-Input-from-a47d7afe

The zip file contains the following:

  1. Coretech.PSWorkflow.SetUserInputToActionLog.xml : The unsealed Management Pack that contains the workflow (feel free to seal it if you want)
  2. PSWorkflow_SetUserInputToActionLog.dll  : Assembly dll file
  3. SetUserInputToActionLog.ps1 : Script file if you want to check it out or reuse elsewhere.

Installation instructions:

  1. Copy PSWorkflow_SetUserInputToActionLog.dll  to your Service Manager install folder, e.g. C:\Program Files\Microsoft System Center 2012\Service Manager
  2. Import the Management Pack Coretech.PSWorkflow.SetUserInputToActionLog.xml
  3. Enjoy!

If you have any feedback on this, just throw a comment or write me an email.

The solution is provided “as-is.” You bear the risk of using it.