As you are all aware, the old Orchestrator console was built on Silverlight and Silverlight has been completely discontinued. Read more about the Silverlight announcement in the following link.
So, Microsoft built a brand-new web console for System Center Orchestrator 2019. The new web console works well on modern browsers without Silverlight dependency. This console will only work SCORCH 2019 onwards.
After following the below article to set up the new SCO API, I am not able to see any of the Runbooks.
To Test the API connection have run the following command in PowerShell but Can’t see any of the runbooks.
Invoke-RestMethod http://localhost:85/api/runbooks -UseDefaultCredentials -Outfile runbooks.json
The command returns an empty list of runbooks, even though I have several runbooks in my Orchestrator environment.
But when I am running it for folder, I could see all the folders.
Invoke-RestMethod http://localhost:85/api/Folders-UseDefaultCredentials -Outfile folders.json
In this blog post, I will show you how to troubleshoot this issue and make sure that your new web console can display and run your runbooks.
– Why we can see the runbooks is because when we are computing the authorization cache, only 1 SP got executed and it creates the token, and it got timed out. However, when we are trying to run it again, we don’t see the folders.
– The reason is while we are computing, due to the fact it got timed out and a token got generated, we never got into the following statement.
|IF EXISTS (SELECT 1 FROM [Microsoft.SystemCenter.Orchestrator.Internal].AuthorizationCache WHERE [TokenId] = @TokenId) |
exec [Microsoft.SystemCenter.Orchestrator.Internal].ComputeRunbookAuthorizationCache @TokenId
exec [Microsoft.SystemCenter.Orchestrator.Internal].ComputeFolderAuthorizationCache @TokenId
– When we are trying to compute the authorization cache, it is getting timed out.
After researching, I have created a workaround which will fix this issue. I would recommend creating a SQL job and run it every 30 minutes.
use Orchestrator GO Truncate table [Microsoft.SystemCenter.Orchestrator.Internal].AuthorizationCache DECLARE @secToken INT DECLARE tokenCursor CURSOR FOR SELECT Id FROM [Microsoft.SystemCenter.Orchestrator.Internal].SecurityTokens where ExpirationTime >= GETUTCDATE() OPEN tokenCursor FETCH NEXT FROM tokenCursor INTO @secToken WHILE @@FETCH_STATUS = 0 BEGIN PRINT 'Computing Authorization Cache for Security Token: ' + Convert(Nvarchar, @secToken) exec [Microsoft.SystemCenter.Orchestrator].ComputeAuthorizationCache @TokenId = @secToken FETCH NEXT FROM tokenCursor INTO @secToken END CLOSE tokenCursor DEALLOCATE tokenCursor