Sometimes you just want to hide a console task don’t you? Take for example the useless ‘Request Input From User’ task. Especially if you are using the SendEmail solution from the Exchange connector the ‘Request Input from End User’ task is useless. How can you hide it and other console tasks for other reasons? There are three ways to control the visibility of console tasks:
1) All console tasks in MPs that do not have the following category in them will be hidden. This was primarily done to hide all the console tasks in MPs that weren’t specifically designed for SCSM and therefore we don’t know how to handle them – think MPs that were originally designed for SCOM.
<Category ID="SCSMMPCategory" Value="Console!Microsoft.EnterpriseManagement.ServiceManager.ManagementPack">
<ManagementPackName>Your MP ID Here</ManagementPackName>
<ManagementPackVersion>Your MP Version Here</ManagementPackVersion>
I’ve discussed this before and you can read more about I here.
2) If you want to just hide the console task from some people then you can create a custom user role and scope the users to specific console tasks that you want them to be able to see. You can only grant tasks using user roles. There is no way to say ‘all tasks except these tasks’.
3) If you want to hide a console task from everybody (including administrators) you just need to create a category in an MP and import it into your system. The category needs to look like this:
<Category ID="Category.Task.Hide.RequestUserInput "
The ID can be anything you want. Target attribute needs to point at the console task you want to hide. The Value always needs to point to the enum Microsoft.EnterpriseManagement.ServiceManager.UI.Console.DonotShowConsoleTask.
If you import the attached MP you’ll see that it will indeed hide the Request Input from User console task.
Update… 7/5/2011 – I’ve added all the console tasks for incident management to the MP now. You can just comment out or delete those items that you do want to show before you import the MP.
Update… 7/12/2011 – You should also be able to hide console tasks in forms using a category targeted at a different enumtype:
<Category ID="Category.Task.Hide.RequestUserInputFromForms "