Speeding up Runbooks by Improving Activity Loading Speed

Even on the product team, there is a lot of information we don’t see that gets published about the product. Other arms of Microsoft like Customer Support are continually listening to customers and feed bugs and change requests to the product team, but they also publish KB articles and helpful tips about performance, security, and so on.

I was scanning the documentation just now and came across something I thought I would share with everyone because I know that for most people, just arbitrarily reading the documentation is not something that happens on a regular basis – you usually go there to find answers to specific questions. So I thought I’d republish this on the blog to give it some additional exposure because I think it’s very handy.

If a runbook contains an activity that references the .NET libraries, the first reference to the .NET libraries takes additional time to initialize. This delay can be as much as 30 seconds. All remaining activities that reference the .NET libraries run immediately. This delay can also occur when a runbook is started on a computer without Internet access, because then Windows cannot verify the Microsoft Authenticode signature for the .NET libraries, and this causes a delay during the initialization of the activity.

The solution to removing the delay is to deactivate generatePublisherEvidence in PolicyModule.exe or to create a profile for the service account.

To deactivate generatePublisherEvidence in policymodule.exe.config

  1. On the runbook server where runbooks that contain an activity referencing the .NET libraries run, locate the file C:Program Files (x86)Microsoft System Center 2012OrchestratorRunbook Serverpolicymodule.exe.config.

  2. Add the following code to policymodule.exe.config:

          <generatePublisherEvidence enabled=”false”/>

To create a profile for the service account

  • On the runbook server where runbooks run that contain an activity referencing the .NET libraries, log on to the computer that is using the service account credentials. A profile is created on first logon.