Orchestrator: Remove offline objects from Deployment Manager

Recently ran up against the issue of having computer objects in my Orchestrator Deployment Manager>Runbook Designers that are no longer online/available to properly “Uninstall”.

Unfortunately there is no method to remove an object via the console if the object is offline.  However as the link below explains, a quick SQL query can fix you right up.

http://blogs.technet.com/b/orchestrator/archive/2012/06/04/removing-inaccessible-computers-from-deployment-manager.aspx

Advertisements

Managing “If Null” for Published Data in Orchestrator

Anyone who has ever created a script knows that If statements are a cornerstone for error checking and decision points. You can easily check for a null value and redefine the variable with a specific value.

Fast forward to Orchestrator Runbooks.  As you have likely seen already or will see at some point, this same logic doesn’t translate natively to Runbook activities.

Consider this scenario:

You create Runbook activity to retrieve an attribute from an AD User.  In our example we’ll use the “Get Object Property Values” Activity from the “SCORCH Dev – Active Directory” IP (available on CodePlex) to retrieve the “DisplayName” property of a User:

GetDisplayName
If that attribute contains a value you’re golden! The value can be retrieved from the databus for future activities:

PublishDataPropertyValue

What if that attribute does not contain a value? What if you would like to check for a Null value and create a new Published Data entry for DisplayName that has a value of “Unknown” for example? You could certainly use a link condition to determine if the value was Null, but then what?

There is a fairly simple solution to this utilizing the Run .NET Script activity and Powershell.

Using 2 simple lines of code you simply check the Property Value, if null you set a Powershell variable with your own value:

RunDotNetDetails

You then publish the Powershell variable to the Databus using the Published Data tab

RunDotNetPublishedData

Snippet of what the Runbook looks like:

runbook

Very simple solution to check for Null values and redefine as needed ensuring you have a value on the databus for future activities.  😉  Would love to hear from others in the comments to see how they accomplish this.

Hope this info provides useful for others!