<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3015909992349113025</id><updated>2025-06-01T07:31:07.797-05:00</updated><category term="SCSM"/><category term="service manager"/><category term="Alert Connector"/><category term="Operations Manager"/><category term="SCOM"/><category term="Troubleshooting"/><category term="Powershell"/><category term="SMLETS"/><category term="exchange connector"/><category term="review activities"/><category term="screenshot"/><category term="workflow"/><title type='text'>System Center Service Manager</title><subtitle type='html'>System Center Service Manager tips tricks and discoveries across the web.&#xa;Follow this blog and receive notification via email on new posts, or grab the feed URL.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-9053954425213135371</id><published>2015-04-09T14:55:00.001-05:00</published><updated>2015-04-09T14:56:52.121-05:00</updated><title type='text'>Script to Monitor Service Manager Workflows</title><content type='html'>I was asked to create a better way to check for workflow failures in Service Manager. If you use Operations Manager to monitor SCSM workflows, you know that there is one rule, and it throws an alert for every failure. I didn&#39;t like this. Instead, this script will provide a summary of failures (if there are any failures), since the last time it checked.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The script I am posting was meant to be scheduled, ran ad-hoc, or it can be modified to put into SCOM - property bags and such.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The script could have been a lot smaller if I connected directly to the database, but people don&#39;t seem to this, so it uses the NATIVE SCSM powershell module. No SMLETS needed.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This script should be ran on the workflow server.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can also throw a -verbose behind it so you can see what it is actually doing. Modify until you heart is content. I am not putting this into the Microsoft Gallery, because it would need some cleanup and such.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The first time you run it, it is going to look for a workflow status log file. It is also going to report all failures. However, it will save the most recent status Id in the log file, and then only give failures since that status id.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
param(&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; [Parameter(Mandatory=$False)][string] $LogFilePathandName = &quot;.\MonitorWorkflowFailuresLog.txt&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; )&lt;/div&gt;
&lt;div&gt;
write-verbose &quot;Starting Script&quot;&lt;/div&gt;
&lt;div&gt;
#Write-EventLog -LogName &quot;Operations Manager&quot; -Source &quot;Health Service Script&quot; -EntryType Information -EventID 12345 -Message &quot;Script Starting&quot;&lt;/div&gt;
&lt;div&gt;
[int]$IntRef = $null&lt;/div&gt;
&lt;div&gt;
$ScriptRunTime = get-date&lt;/div&gt;
&lt;div&gt;
Write-verbose &amp;nbsp;@&quot;&lt;/div&gt;
&lt;div&gt;
Paramters Used:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; LogFilePathandName = $LogFilePathandName&lt;/div&gt;
&lt;div&gt;
&quot;@&lt;/div&gt;
&lt;div&gt;
&amp;lt;#&lt;/div&gt;
&lt;div&gt;
We need to create a log file entry for each workflow and keep track of the latest workflow instance ID.&lt;/div&gt;
&lt;div&gt;
This way, we only check the latest IDs.&lt;/div&gt;
&lt;div&gt;
#&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
if ((get-childItem $LogFilepathandName -ErrorAction silentlycontinue) -eq $null)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; Write-verbose &quot;Could not find Log a File. A new log file will be created&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; New-Item $LogFilePathandName -type file -value &quot;WorkflowName,WorkflowId,WorkflowInstanceId&lt;/div&gt;
&lt;div&gt;
sample,123,123&lt;/div&gt;
&lt;div&gt;
&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; else&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;#&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;If a log file has been found, it needs to be in the correct format.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;The format should be:&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;WorkflowName,WorkflowId,WorkflowInstanceId&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;ThisisaWorflowName,1234,2134123&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Thisisaworkflownametoo,123425,43251&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;#&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
write-verbose @&quot;&lt;/div&gt;
&lt;div&gt;
Found a Log File, make sure the Log file is in the following format:&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;WorkflowName,WorkflowId,WorkflowInstanceId&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ThisisaWorflowName,1234,2134123&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Thisisaworkflownametoo,123425,43251&lt;/div&gt;
&lt;div&gt;
&quot;@&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; #check to make sure the first line is the header&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $RetreivedLogFileFirstTwoLines = Get-Content $LogFilePathandName -totalcount 2&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $RetrievedLogFileHeaderLine = $RetreivedLogFileFirstTwoLines[0]&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if ($RetrievedLogFileHeaderLine -eq &quot;WorkflowName,WorkflowId,WorkflowInstanceId&quot;)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write-verbose &quot;The Log file header is in the expected State - $RetrievedLogFileHeaderLine&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;$RetrievedLogFileHeaderLineInExpectedState = $true&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;#The header is in the expected state, so let&#39;s make sure there is at least one line to compare&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #We need to take the first data line and see if it is in a &quot;string,string,int&quot; format.&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #We really just wants to make sure items 2 and 3 (in an array that is 1 and 2) con be converted to integers#&amp;gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $RetrievedLogFileFirstDataLine = $RetreivedLogFileFirstTwoLines[1]&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write-verbose &quot;Checking RetrievedLogFileFirstDataLine - $RetrievedLogFileFirstDataLine&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;$RetrievedLogFileFirstDataLineSplit = $RetrievedLogFileFirstDataLine.Split(&quot;,&quot;)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Write-verbose &quot;Checking to see if there are three array items in the file Line&quot;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ($RetrievedLogFileFirstDataLineSplit.Count -eq 3)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;write-verbose &quot;Count is 3 for data line splt&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;#There are three comma Delimited Items. Can Items 2 and 3 (1 and 2) be converted to an integer?&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;lt;##NONE OF THIS WORKS IN .NET 3.5 OR EARLIER&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;[System.Guid]::Parse(($RetrievedLogFileFirstDataLineSplit[1])) | Out-Null&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;Try {&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;$RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState = [System.Guid]::Parse(($RetrievedLogFileFirstDataLineSplit[1])) | Out-Null # test if is possible to cast and put parsed value in reference variable&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;$RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState = $true&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;catch {&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;$RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState = $false&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;#&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;lt;#So we are going to revert to a method that will work in all versions.#&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;write-verbose &quot;Checking to see if WorkflowId is in a GUID State&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;$RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState = $true&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;write-verbose &quot;Checking to see if WorkflowInstanceId is in an int State&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;$RetrievedLogFileFirstDataLineWorkflowInstanceIdInExpectedState = [int32]::TryParse(($RetrievedLogFileFirstDataLineSplit[2]) , [ref]$IntRef) # test if is possible to cast and put parsed value in reference variable&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;if ($RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState -eq $true -and $RetrievedLogFileFirstDataLineWorkflowInstanceIdInExpectedState -eq $true)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;#The First Data line integers are in the expected state.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;$RetrievedLogFileFirstDataLineInExpectedState = $true&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;write-verbose &quot;The First Data line integers are in the expected state.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;else&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;#Either RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState or RetrievedLogFileFirstDataLineWorkflowInstanceIdInExpectedState&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;#was not true, therefore the first data line was not in the correct format&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$RetrievedLogFileFirstDataLineInExpectedState = $false&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;write-verbose &quot;RetrievedLogFileFirstDataLineWorkflowInstanceIdInExpectedState is $RetrievedLogFileFirstDataLineWorkflowInstanceIdInExpectedState&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;write-verbose &quot;RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState $RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;write-verbose &quot;Either RetrievedLogFileFirstDataLineWorkFlowIdInExpectedState or RetrievedLogFileFirstDataLineWorkflowInstanceIdInExpectedState was not true, therefore the first data line was not in the correct format&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;else&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;#RetrievedLogFileFirstDataLineSplit did not have 3 array items, therefore was not in the correct format&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;$RetrievedLogFileFirstDataLineInExpectedState = $false&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;write-verbose &quot;RetrievedLogFileFirstDataLineSplit did not have 3 array items, therefore was not in the correct format&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;else&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;$RetrievedLogFileHeaderLineInExpectedState = $false&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;write-verbose &quot;RetrievedLogFileHeaderLine was not in the expected State&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if ($RetrievedLogFileHeaderLineInExpectedState -eq $false -or $RetrievedLogFileFirstDataLineInExpectedState -eq $false)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;#Need to write the log file and then exit.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;write-error &quot;Something was false. RetrievedLogFileHeaderLineInExpectedState &amp;nbsp;is $RetrievedLogFileHeaderLineInExpectedState and RetrievedLogFileFirstDataLineInExpectedState &amp;nbsp;is $RetrievedLogFileFirstDataLineInExpectedState. There is formatting issue, the script is stopping.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exit&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;#Now that the Log file is taken care of, we need to get all of the workflows from Service Manager#&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;write-verbose &quot;About to Import the System.Center.Service.Manager Module, checking to see if it is already imported&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if ((get-module -name &quot;System.Center.Service.Manager&quot;) -eq $null)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;write-verbose &quot;System.Center.Service.Manager is not imported, importing now&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;#Write-EventLog -LogName &quot;Operations Manager&quot; -Source &quot;Health Service Script&quot; -EntryType Information -EventID 12345 -Message $Log&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;import-module -force &quot;C:\Program Files\Microsoft System Center 2012\Service Manager\Powershell\System.Center.Service.Manager.psd1&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;if ((get-module -name &quot;System.Center.Service.Manager&quot;) -eq $null)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;write-error &quot;System.Center.Service.Manager did not import, cannot continue, exiting.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exit&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;#declare the failure array&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$FailureArray = @()&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;#load the entire log file&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;write-verbose &quot;Load the log file $LogFilePathandName&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$EntireLogFile = Get-Content $LogFilePathandName&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Save all WF into $workflow&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$workflow = Get-SCSMWorkflowStatus&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;# Loop $workflow&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;write-verbose &quot;Looping through each workflow&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;foreach ($wf in $workflow) {&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;write-verbose $wf.Name&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;write-verbose &quot;Searching for the workflow in the log file&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;#; if you find the workflow, get the most recent statusid; otherwise, make the status id 0&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;$WorkflowFromLogFile = $null&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;$wfid = $wf.id&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;[array]$WorkflowFromLogFile = $EntireLogFile | ? {$_ -like &quot;*,$wfId,*&quot;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if ($WorkflowFromLogFile -eq $null)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;write-verbose &quot;The Workflow was not found in the log File, adding a line in the log file for the workflow.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;[int]$LastStatusRowId = 0&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$NewWorkflowLineforLogFile = [string]$wf.Name + &quot;,&quot; + [string]$wf.id + &quot;,&quot; + [string]0&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;Add-Content $LogFilePathandName &quot;$NewWorkflowLineforLogFile&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$WorkflowFromLogFileSplit = $NewWorkflowLineforLogFile.split(&quot;,&quot;)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$LogLineWorkflowInstanceIdCovertableStatus = &quot;GOOD&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$LogLineStatus = &quot;GOOD&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;else&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;if ($WorkflowFromLogFile.count -gt 1)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;#found more than one line, throw error for now&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;write-error &quot;Found more than one line in the log file for the workflow. This means that the workflow will be checked two times, which does not cause errors. However, it would be a good idea to find and remove the duplicate.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;$LogLineStatus = &quot;GOOD&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;if ($WorkflowFromLogFile.count -eq 1)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;write-verbose &quot;Found one line for the workflow in the log file.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;$LogLineStatus = &quot;GOOD&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;#We need to get the WorkflowStatusRowId from the log file. To do this, we can split the line from the log file into an array, and look at the third (2nd) item.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;$WorkflowFromLogFileSplit = $WorkflowFromLogFile[0].split(&quot;,&quot;)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp; if ([int32]::TryParse(($WorkflowFromLogFileSplit[2]) , [ref]$IntRef) -eq $true)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;[int]$LastStatusRowId = $WorkflowFromLogFileSplit[2]&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;$LogLineWorkflowInstanceIdCovertableStatus = &quot;GOOD&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;else&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;#The id did would not convert to an integer, there is a problem with the log file. Skip and report the error, but do not kill the script.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;write-error &amp;nbsp;&quot;The id would not convert to an integer, there is a problem with the log file. Skip and report the error, the script will continue.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$LogLineWorkflowInstanceIdCovertableStatus = &quot;BAD&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;} # this is the else, where it found a line&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if ($LogLineWorkflowInstanceIdCovertableStatus -eq &quot;GOOD&quot; -and $LogLineStatus -eq &quot;GOOD&quot;)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;write-verbose &quot;Get the workflow status&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$status = Get-SCSMWorkflowStatus -name $wf.Name&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$status = $status.GetStatus()&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$status = $status | ? {[int]$_.RowId -gt $LastStatusRowId}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;#Get the last Row Id for the status&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$MaximumStatusRowId = ($status | measure-object -Property RowId -maximum).maximum&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; write-verbose &quot;Check if the workflow has ran since the last check&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;if ($MaximumStatusRowId -eq $null)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp; write-verbose &quot;No need to update anything on the log file here. The max ID is the same.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt; &amp;nbsp;else&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;write-verbose &quot;Replace the line in the text file with a new line of the same data&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;$NewWorkflowFromLogFile = $WorkflowFromLogFile -replace &quot;,$LastStatusRowId&quot;,&quot;,$MaximumStatusRowId&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;write-verbose &quot;THIS IS THE NEW FILE ENTRY:&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;write-verbose [string]$NewWorkflowFromLogFile&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;write-verbose &quot;Setting Content&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;(Get-Content $LogFilePathandName) | Foreach-Object {$_ -replace $WorkflowFromLogFile, $NewWorkflowFromLogFile} | Set-Content $LogFilePathandName -verbose&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt; &amp;nbsp;foreach ($st in $status)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;[string]$strowid = ($st.RowId)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; write-verbose &quot;checking each status in the workflow and adding the FailureArray if failed. Status Row Id: $strowid&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; #If the status is failed, we need to report it. Rather than reporting a failure for each workflow, we are going to summarize it for all if them.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; #So we are going to add them all to an array.&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;if ($st.status -eq &quot;Failed&quot;)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;#$Log = $wf.name&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;##Write-EventLog -LogName &quot;Operations Manager&quot; -Source &quot;Health Service Script&quot; -EntryType Information -EventID 12345 -Message &quot;Added to FailureLog $Log&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$object = New-Object -TypeName PSObject&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$object | Add-Member -Name &#39;Name&#39; -MemberType Noteproperty -Value $wf.name&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$object | Add-Member -Name &#39;Status&#39; -MemberType Noteproperty -Value $st.status&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$object | Add-Member -Name &#39;TimeStarted&#39; -MemberType Noteproperty -Value $st.TimeStarted&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$object | Add-Member -Name &#39;TimeFinished&#39; -MemberType Noteproperty -Value $st.TimeFinished&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$object | Add-Member -Name &#39;RelatedObject&#39; -MemberType Noteproperty -Value $st.RelatedObject&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;$FailureArray += $object&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt; &amp;nbsp;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;} &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp;} #If everything is good statement&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;write-verbose &quot;Next Workflow&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; } #foreach workflow statement&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;#$FailureArray | foreach {[string]$FailureArrayString = [string]$FailureArrayString + $_ + &quot;`n&quot;}&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;$FailureArray&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;$FailureArray | ConvertTo-HTML | Out-File .\Report.htm&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;Invoke-Expression .\Report.htm&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/9053954425213135371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2015/04/script-to-monitor-service-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/9053954425213135371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/9053954425213135371'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2015/04/script-to-monitor-service-manager.html' title='Script to Monitor Service Manager Workflows'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-2346649745169385534</id><published>2014-09-03T11:23:00.001-05:00</published><updated>2014-09-09T12:24:26.448-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Powershell"/><category scheme="http://www.blogger.com/atom/ns#" term="review activities"/><category scheme="http://www.blogger.com/atom/ns#" term="SCSM"/><category scheme="http://www.blogger.com/atom/ns#" term="service manager"/><category scheme="http://www.blogger.com/atom/ns#" term="SMLETS"/><title type='text'>Tip: Approve all In Progress Activities in Service Manager</title><content type='html'>Stop manually approving each test review activity. Service Manager implementations usually include immense amounts of testing. If you are testing Service Requests or Change Requests, you probably have tons of review activities to approve. It can be time consuming to approve each activity, because, unlike manual activities, we can&#39;t just select them all and complete them. We have the option of deleting or canceling the work items, but this isn&#39;t really testing.&lt;br /&gt;
&lt;br /&gt;
SMLETS and powershell makes our lives much easier when it comes to administration. However, review activity relationships are slightly different than most other relationships. It can sometimes be difficult to figure out what to do when it comes to powershell and reviewers.&lt;br /&gt;
&lt;br /&gt;
The below powershell script retrieves all review activities, retrieves the reviewers for those activities, and then sets the decision to approved. This will allow the review activity to review the decisions, and then complete itself - exactly as it would happen inside the console.&lt;br /&gt;
&lt;br /&gt;
If you don&#39;t care how it works, then just grab the script and run it on your management server where you have SMLETS installed.&lt;br /&gt;
If you want to learn a little and become a better Service Manager Administrator, I have broken down the script.&lt;br /&gt;
If you don&#39;t have SMLETS, you can get it from&amp;nbsp;&lt;a href=&quot;https://smlets.codeplex.com/&quot; target=&quot;_blank&quot;&gt;Codeplex&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;The script with explanation comments:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;This is pretty self-explanatory, but we are importing SMLETS.&lt;/span&gt;&lt;br /&gt;
Import-Module SMLETS&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#Before we can retrieve any objects, we need to get the object class. The Object class we are looking for is &quot;ReviewActivity&quot;. Why the &quot;$&quot; (dollar sign) at the end? As part of this particular cmdlet, &amp;nbsp;the search is using regexp. The &quot;$&quot; marks the end of the line. We use this because there are cases where the cmdlet would retrieve more than one object class due to regexp matching.&lt;/span&gt;&lt;br /&gt;
$RAC = get-SCSMClass System.WorkItem.Activity.ReviewActivity$&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#We need to filter out object results to only &quot;In Progress&quot; review activities. &quot;Activity Status&quot; is an enumeration.&lt;/span&gt;&lt;br /&gt;
$ActStatusEnumInProgress = Get-SCSMEnumeration ActivityStatusEnum.Active$&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#We need the GUID of the enumeration so our &quot;filter&quot; switch will retrieve the correct results.&lt;/span&gt;&lt;br /&gt;
$InProgressEnumId = $ActStatusEnumInProgress.id&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#Here, we are querying the review activity objects. The &quot;class&quot; switch specifies what class we want, in this case, &quot;review activity&quot;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#The &quot;Filter&quot; switch is a server side filter that is far more efficient than &quot;Where-object&quot;. We can filter on any column for that object.&lt;/span&gt;&lt;br /&gt;
$RAS = get-SCSMObject -class $RAC -filter &quot;Status -eq &#39;$InProgressEnumId&#39;&quot;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#So far, we should have all of the Review activities that are in progress. You can type $RAS to see a list of the review activities.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#We probably have more than one activity in an array, but we need to perform actions on each individual object.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
foreach ($RA in $RAS){&lt;br /&gt;
&lt;span style=&quot;color: #274e13;&quot;&gt;&amp;nbsp; #We are going to retrieve any relationships for each activity, where the activity is the source of the relationship.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; $RElObj = Get-SCSMRelationshipObject -BySource $RA&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;#We do not want all relationships, only the reviewer relationship.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; foreach ($Obj in $RELObj) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if ($Obj.TargetObject.ClassName -eq &quot;System.Reviewer&quot;) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;#Now we are getting the reviewer object itself, but rather than specifying class and filter, we have the GUID. We can use the &quot;id&quot; switch.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; #Once we get the object, we are piping the object into the &quot;Set-SCSMObject&quot; command, which will update the object. The only thing we have to do is set the status to approved for each of the reviewers and internal SCSM workflow will take care of the rest.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; #The command below will not actually make any changes. The &quot;whatif&quot; switch is a powershell switch that essentially tells you what the command is going to do, but does not commit the command. This is a great way to test non-destrutively.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; #Many commands perform actions without output, so it is sometimes difficult to see what is going on. The &quot;verbose&quot; switch will output additional details at command execution.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; #If you are ready to execute the command and approve your activities, simply remove &quot;-whatif&quot;.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; get-SCSMObject -id ($Obj.Targetobject.ID) | Set-SCSMObject -Property Decision -Value &quot;Approved&quot; -whatif -verbose&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;The Script with no comments:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Import-Module SMLETS&lt;br /&gt;
$RAC = get-SCSMClass System.WorkItem.Activity.ReviewActivity$&lt;br /&gt;
$ActStatusEnumInProgress = Get-SCSMEnumeration ActivityStatusEnum.Active$&lt;br /&gt;
$InProgressEnumId = $ActStatusEnumInProgress.id&lt;br /&gt;
$RAS = get-SCSMObject -class $RAC -filter &quot;Status -eq &#39;$InProgressEnumId&#39;&quot;&lt;br /&gt;
foreach ($RA in $RAS){&lt;br /&gt;
&amp;nbsp; $RElObj = Get-SCSMRelationshipObject -BySource $RA&lt;br /&gt;
&amp;nbsp; foreach ($Obj in $RELObj) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if ($Obj.TargetObject.ClassName -eq &quot;System.Reviewer&quot;) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; get-SCSMObject -id ($Obj.Targetobject.ID) | Set-SCSMObject -Property Decision -Value &quot;Approved&quot; -whatif -verbose&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
When you begin writing powershell scripts, it is a good idea to keep them in a repository, as you will most likely need them more than once, especially when it comes to System Center. If you want to talk more about powershell or System Center, come see me at Techfest Saturday, September 13th at the Sparkhound booth!&lt;br /&gt;
Techfest Registration: &lt;a href=&quot;http://www.eventbrite.com/e/houston-techfest-2014-tickets-8015932871&quot; target=&quot;_blank&quot;&gt;Techfest Registration&lt;/a&gt;&lt;br /&gt;
Techfest Site:&amp;nbsp;&lt;a href=&quot;http://houstontechfest-public.sharepoint.com/&quot; target=&quot;_blank&quot;&gt;Houston Techfest&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/2346649745169385534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/09/quick-way-to-approve-all-in-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2346649745169385534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2346649745169385534'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/09/quick-way-to-approve-all-in-progress.html' title='Tip: Approve all In Progress Activities in Service Manager'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-1862792907201249747</id><published>2014-08-01T11:43:00.000-05:00</published><updated>2014-08-01T11:43:19.886-05:00</updated><title type='text'>Orchestrator - Misrepresented and Misunderstood</title><content type='html'>&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Purpose:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;1.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Talk about the misrepresentation
of Orchestrator.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;2.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Point out some things about
Orchestrator that people don&#39;t quite understand.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;3.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Convince people to give
Orchestrator a try. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Summary:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;System
Center Orchestrator is a product in the System Center Suite. If you have heard
of Orchestrator, you have probably heard it along with other buzzwords like
&quot;automation&quot; and &quot;cloud.&quot; This text is not about writing a
cool runbook, automation, pitching cloud services, or discussing how System
Center can solve all of the world&#39;s IT problems (it can though). I want to
discuss a misconstrued view of Orchestrator that I continue to see over and
over, which I think prevents IT Organizations from using it or trying it out.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;I
think that Orchestrator is both &lt;i&gt;misrepresented&lt;/i&gt; and &lt;i&gt;misunderstood&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;What
was &lt;i&gt;my&lt;/i&gt; original perception of Orchestrator?&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;As
an Operations Manager and Service Manager guy&lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:13&quot;&gt;,&lt;/ins&gt;&lt;/span&gt; I
knew that I could build automation for nearly anything without ever relying on
any products outside th&lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:13&quot;&gt;o&lt;/ins&gt;&lt;/span&gt;&lt;span class=&quot;msoDel&quot;&gt;&lt;del cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:13&quot;&gt;e&lt;/del&gt;&lt;/span&gt;se
two systems. I have been using Operations Manager to automate IT tasks, and
perform cleanup as a result of alerts for years. &lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:13&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/ins&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Service
Manager provides the tools to take a ticket system and turn it into an
automation machine using the authoring console, Powershell, and the native
flexibility of the system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;So
when Microsoft began touting Orchestrator, my first reaction was, &lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:14&quot;&gt;“&lt;/ins&gt;&lt;/span&gt;why
in the world do I need that?” The simple answer is, I don&#39;t…&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;As
a matter of fact, I have never &lt;i&gt;had&lt;/i&gt; to use Orchestrator for
anything…ever. I still haven&#39;t found a task, workflow, process, or anything
else I couldn&#39;t complete by using the other System Center products that were
already implemented, even when they were communicating outside the realm of Microsoft.
(Thanks PowerShell!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;So,
in a sense, Orchestrator almost seems like a novelty - an unnecessary System
Center Product…&lt;b&gt;&lt;u&gt;but it&#39;s not.&lt;/u&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Why
use a complex system when a simple system is available?&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Let&#39;s
take a look at Operations Manager and Service Manager. We know they both can do
just about anything that we want in terms of process and automation. When you
get down deep, both products can get somewhat complicated. They both run
complex operations on the back-end, which allows it to use a simple front-end.
I mean, have you looked at the databases or stored procedures? My point is,
there is a lot going on that we don&#39;t see. Even without much of anything
configured, the systems are churning away.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;The
beauty in Orchestrator is its &lt;b&gt;&lt;u&gt;back-end simplicity&lt;/u&gt;&lt;/b&gt;. What is
Orchestrator doing? Nothing. A little maintenance here or there, checking
schedules, checking the clock, etc. What are the others doing? Constantly
performing complex operations even at base load. And what are they doing when
you begin automating your processes, performing remediation, or waiting for a
criteria match? Even more. So much in fact, you can easily drop 40 GB of ram or
more with several separated disks on the SQL server to maintain an acceptable
level of performance while the systems are performing their operations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;So
why are so many people taking such complex operations and stuffing them full of
more complex operations creating a memory and disk eater, when we have this
nice, little calculator waiting for its command? A nice little calculator that
will do anything you tell it to do, and communicate with any machine you want
to communicate with. Yet a lot of people still don&#39;t use it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;I
think the answer is simply misrepresentation.&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Everyone
talks about all the cool, complex things Orchestrator can do, all the systems
it can talk to, and all the integration packs that are available. It actually
sounds kind of scary. I mean, who has time to do all that?&lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:18&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/ins&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;But,
at its base, Orchestrator is not much more than a scheduling engine - a simple
calculator. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&quot;Simple&quot;
is what Orchestrator was meant to be all along. Take a complex operation and
break it down into simple steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Do
this…&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Find something you would like to
do – such as automation, remediation, communication between 2 systems. Whatever
it is, start out with a goal.&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Document the exact technical
process that should happen &lt;i&gt;on &lt;b&gt;paper&lt;/b&gt;&lt;/i&gt;. If you can&#39;t write your
process on paper, you can&#39;t write it with a computer.&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Read through &lt;a href=&quot;file:///C:/Users/Brody/AppData/Local/Microsoft/Windows/INetCache/Content.Outlook/93HXHHRI/%C2%A7%09http:/blogs.technet.com/b/kevinholman/archive/2013/10/18/orchestrator-2012-r2-quickstart-deployment-guide.aspx&quot;&gt;Kevin
Holman&#39;s Orchestrator&lt;/a&gt; quick start guide. &lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 1.25in; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://blogs.technet.com/b/kevinholman/archive/2013/10/18/orchestrator-2012-r2-quickstart-deployment-guide.aspx&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #0066cc; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;http://blogs.technet.com/b/kevinholman/archive/2013/10/18/orchestrator-2012-r2-quickstart-deployment-guide.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Take 15 minute&lt;span class=&quot;msoIns&quot;&gt;&lt;ins cite=&quot;mailto:Melissa%20Lambert&quot; datetime=&quot;2014-07-23T09:20&quot;&gt;s&lt;/ins&gt;&lt;/span&gt;
and install Orchestrator 2012 R2.&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Take another 10 minutes to
download and install the integration packs. &lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 1.25in; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: Wingdings; font-size: 10.0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings;&quot;&gt;§&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=39622&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #0066cc; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;http://www.microsoft.com/en-us/download/details.aspx?id=39622&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Create a Runbook&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;Segoe UI&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Remember
this…&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;1.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;You will stumble through your
first runbook, but keep at it, it will get easier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;2.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;The more complex operations you
remove from other systems and enter into Orchestrator, the easier it will be to
maintain, document, and transfer knowledge.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 63pt; text-indent: -0.25in; vertical-align: middle;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri;&quot;&gt;3.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;color: #444444; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Segoe UI&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family: Calibri;&quot;&gt;Don&#39;t make it complicated. Don&#39;t
write a giant PowerShell script and enter it into Orchestrator; this defeats
the purpose of simplicity.&amp;nbsp; Break out your steps into multiple activities.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/1862792907201249747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/08/orchestrator-misrepresented-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1862792907201249747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1862792907201249747'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/08/orchestrator-misrepresented-and.html' title='Orchestrator - Misrepresented and Misunderstood'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-6240483637428177292</id><published>2014-04-22T15:23:00.002-05:00</published><updated>2014-04-22T15:23:33.128-05:00</updated><title type='text'>Query ALL Service Manager ENUMS and their Hierarchy</title><content type='html'>I find myself listing out all of the enumerations for lists in Service Manager quite a bit. Rather than spending time doing this over and over, I wrote a query that retrieves all of the enumeration items from Service Manager. I tried to keep it simple so anyone could adjust to his or her needs. It does not require the DW, as I am pulling directly from the ServiceManager database.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
&amp;nbsp; SELECT [EnumType].[EnumTypeId] AS Id,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; [EnumType].[ManagementPackId] AS ManagementPackId,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ep.EnumTypeName,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; [EnumType].[EnumTypeName] AS Name,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; [EnumType].[EnumTypeAccessibility] AS Accessibility,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; [EnumType].[ParentEnumTypeId] AS ParentId,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DisplayName&lt;br /&gt;&amp;nbsp; into #eview&lt;br /&gt;&amp;nbsp; FROM dbo.EnumType&lt;br /&gt;&amp;nbsp; LEFT Join dbo.EnumType ep on EnumType.EnumTypeId = ep.EnumTypeId and ep.ParentEnumTypeId IS NULL&lt;br /&gt;&amp;nbsp; LEFT OUTER JOIN DisplayStringView DS1 ON DS1.LTStringId = dbo.[EnumType].[EnumTypeId] AND DS1.LanguageCode = &#39;ENU&#39;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; INNER JOIN dbo.ManagementPack&lt;br /&gt;&amp;nbsp; &amp;nbsp;ON dbo.ManagementPack.ManagementPackId = [EnumType].ManagementPackId AND dbo.ManagementPack.ContentReadable = 1;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; with tree as (&lt;br /&gt;&amp;nbsp; SELECT ManagementPackid, Id, name,&lt;br /&gt;&amp;nbsp; cast(DisplayName as varchar(max)) as Hierarchy,&lt;br /&gt;&amp;nbsp; DisplayName,&lt;br /&gt;&amp;nbsp; ParentId&lt;br /&gt;&amp;nbsp; FROM #eview&lt;br /&gt;&amp;nbsp; Where ParentId IS NULL and displayName IS NOT NULL&lt;br /&gt;&amp;nbsp; UNION ALL&lt;br /&gt;&amp;nbsp; SELECT c.ManagementPackId, c.Id, c.name,&lt;br /&gt;&amp;nbsp; p.hierarchy + &#39;, &#39; + cast(c.DisplayName as varchar(max)),&lt;br /&gt;&amp;nbsp; c.DisplayName, c.ParentId&lt;br /&gt;&amp;nbsp; FROM #eview c&lt;br /&gt;&amp;nbsp; join tree p on p.Id = c.parentID&lt;br /&gt;&amp;nbsp; WHERE c.displayName IS NOT NULL&lt;br /&gt;&amp;nbsp; )&lt;br /&gt;select ManagementPackid, parentid, Name, Hierarchy, DisplayName&lt;br /&gt;from tree&lt;br /&gt;order by 3&lt;br /&gt;drop table #eview&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/6240483637428177292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/04/query-all-service-manager-enums-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6240483637428177292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6240483637428177292'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/04/query-all-service-manager-enums-and.html' title='Query ALL Service Manager ENUMS and their Hierarchy'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-6286744067306491315</id><published>2014-02-13T12:10:00.001-06:00</published><updated>2014-04-22T15:24:25.978-05:00</updated><title type='text'>Get Parent Affected User for Notifications</title><content type='html'>This is more of a note for myself. For an activity, this will get the affected user of the parent work item.&lt;br /&gt;
&lt;br /&gt;
$Context/Path[Relationship=&#39;CoreActivity!System.WorkItemContainsActivity&#39; SeedRole=&#39;Target&#39; TypeConstraint=&#39;WorkItem!System.WorkItem&#39;]/Path[Relationship=&#39;WorkItem!System.WorkItemAffectedUser&#39; TypeConstraint=&#39;System!System.User&#39;]/Property[Type=&#39;System!System.User&#39;]/FirstName$&lt;br /&gt;
&lt;br /&gt;
Obviously it is only the first name and the references will need to be changed to match the reference alias in the MP.</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/6286744067306491315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/02/get-parent-affected-user-for.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6286744067306491315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6286744067306491315'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2014/02/get-parent-affected-user-for.html' title='Get Parent Affected User for Notifications'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-3179519504275544388</id><published>2013-09-03T10:31:00.000-05:00</published><updated>2013-09-03T10:31:08.066-05:00</updated><title type='text'>SCSM 2012: Self Service Portal Service category color customization</title><content type='html'>The is a great solution and worthy of a repost.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.expiscornovus.com/2012/05/06/scsm2012-self-service-portal-service-category-color-customization/&quot;&gt;http://www.expiscornovus.com/2012/05/06/scsm2012-self-service-portal-service-category-color-customization/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;header class=&quot;entry-header&quot; style=&quot;background-color: white; border: 0px; color: #444444; font-family: &#39;Open Sans&#39;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 14px; margin: 0px 0px 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;h1 class=&quot;entry-title&quot; style=&quot;border: 0px; clear: both; font-size: 1.571428571rem; font-weight: normal; line-height: 1.2; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
SCSM 2012: Self Service Portal Service category color customization&lt;/h1&gt;
&lt;div class=&quot;comments-link&quot; style=&quot;border: 0px; color: #757575; font-size: 0.928571429rem; line-height: 1.846153846; margin: 1.714285714rem 0px 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;a href=&quot;http://www.expiscornovus.com/2012/05/06/scsm2012-self-service-portal-service-category-color-customization/#comments&quot; style=&quot;border: 0px; color: #757575; font-size: 13px; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;Comment on SCSM 2012: Self Service Portal Service category color customization&quot;&gt;1 Reply&lt;/a&gt;&lt;/div&gt;
&lt;/header&gt;&lt;div class=&quot;entry-content&quot; style=&quot;background-color: white; border: 0px; color: #444444; font-family: &#39;Open Sans&#39;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.714285714; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
Lately I’ve been wandering a bit more on the&amp;nbsp;&lt;a href=&quot;http://social.technet.microsoft.com/Forums/en-us/categories/&quot; style=&quot;border: 0px; color: #21759b; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;Technet Forums&quot;&gt;Technet Forums&lt;/a&gt;, this has been pretty useful. Friday I came across this&amp;nbsp;&lt;a href=&quot;http://social.technet.microsoft.com/Forums/en-US/portals/thread/fc2ca534-022c-46ab-8472-02edebc560cd&quot; style=&quot;border: 0px; color: #21759b; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;thread&quot;&gt;thread&lt;/a&gt;&amp;nbsp;from&amp;nbsp;&lt;a href=&quot;http://www.bart-timmermans.nl/&quot; style=&quot;border: 0px; color: #21759b; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;Bart Timmermans&quot;&gt;Bart Timmermans&lt;/a&gt;&amp;nbsp;about customization in the Self Service Portal of the product System Center Service Manager 2012. He asked if it was possible to adjust the styling of Service category headers. Of course I accepted the challenge.&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;em style=&quot;border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Analysis&lt;/em&gt;&lt;br /&gt;The Self Service Portal is a solution on SharePoint 2010 which deploys some web parts. Like Travis Wright described in his latest&amp;nbsp;&lt;a href=&quot;http://blogs.technet.com/b/servicemanager/archive/2012/05/04/faq-why-is-my-self-service-portal-service-catalog-blank.aspx&quot; style=&quot;border: 0px; color: #21759b; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;Self Service Portal blogpost&quot;&gt;Self Service Portal blogpost&lt;/a&gt;&amp;nbsp;those web parts use Silverlight .xap files. After some .NET Reflector work on the Portal.BasicResources DLL. I found that a lot of the color styling for the portal is being done by using brushes.&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;em style=&quot;border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Brushes&lt;/em&gt;&lt;br /&gt;A brush is an&amp;nbsp;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc189003(v=vs.95).aspx&quot; style=&quot;border: 0px; color: #21759b; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;Silverlight brush object&quot;&gt;Silverlight object&lt;/a&gt;&amp;nbsp;which can be used to paint for example solid colors or linear gradient. In that DLL I found a .xaml file which defined some solidcolorbrushes and they had a key. In Silverlight they use a 8 digit notation for the color, this is a&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/RGBA_color_space&quot; style=&quot;border: 0px; color: #21759b; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;&quot; title=&quot;RGBA&quot;&gt;RGBA&lt;/a&gt;&amp;nbsp;value.&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;em style=&quot;border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Settings.xml&lt;/em&gt;&lt;br /&gt;The Self Service Portal actually has a settings.xml file which can be used to define some basic settings. I noticed it also had some setting keys for colors. This triggered me to add a key for one of the brushes, ExpanderHeaderBgBrush. My attempt worked. After adjusting the Settings.xml and clearing my browsers cache I saw a new green color!&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;img alt=&quot;Service Category background color&quot; src=&quot;http://www.expiscornovus.com/wp-content/uploads/2012/05/expanderheaderbgbrushresult.png&quot; style=&quot;border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 4px; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;em style=&quot;border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Solution&lt;/em&gt;&lt;br /&gt;1. Go to C:\inetpub\wwwroot\System Center Service Manager Portal\ContentHost\Clientbin (or another location if your installation directory was different&lt;br /&gt;2. Open the Settings.xml file&lt;br /&gt;3. Add a setting key for ExpanderHeaderBgBrush with your desired RGBA color:&lt;br /&gt;&lt;img alt=&quot;ExpanderHeaderBgBrush setting key&quot; src=&quot;http://www.expiscornovus.com/wp-content/uploads/2012/05/expanderheaderbgbrushsettingkey.png&quot; style=&quot;border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 4px; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 0px; line-height: 1.714285714; margin-bottom: 1.714285714rem; padding: 0px; vertical-align: baseline;&quot;&gt;
Happy customizing!&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/3179519504275544388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/09/scsm-2012-self-service-portal-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/3179519504275544388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/3179519504275544388'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/09/scsm-2012-self-service-portal-service.html' title='SCSM 2012: Self Service Portal Service category color customization'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-1978759144330371734</id><published>2013-07-23T08:20:00.001-05:00</published><updated>2013-07-23T10:11:28.525-05:00</updated><title type='text'>Isolating Powershell Sessions in Workflows in Service Manager</title><content type='html'>&lt;b&gt;&lt;u&gt;Problem:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
One common issue I have ran into with writing workflows for Service Manager is the powershell sessions seem to be shared. When I call a set of cmdlets, such as the Active Directory cmdlets, they do not always load/unload properly, causing issues with subsequent scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Solution:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
We can isolate the powershell sessions inside the Service Manager Workflows. While powershell experts may know this, most of us don&#39;t, so here is my non-expert explanation.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;When you run Service Manager Workflows, they run in the same process.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;If these workflows are running powershell, the powershell sessions are sometimes (or always) shared.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;By &quot;running powershell inside a powershell&quot; we can isolate our scripts, preventing issues between shared sessions.&lt;/li&gt;
&lt;li&gt;Once the script is complete, it cleans itself up, and completely closes the sessions.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
The only issue I see with this method is that it might take the workflow a second or two longer to run because of having to open the new session - plan accordingly.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;How we do it:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Take your completed script, and simply wrap the script in powershell.&lt;/div&gt;
&lt;div&gt;
For example, if my script is:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Import-Module Activedirectory&lt;/div&gt;
&lt;div&gt;
Get-User&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I simply wrap it like this:&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #9e7c7c;&quot;&gt;&lt;strong&gt;Powershell {&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
Import-Module Activedirectory&lt;/div&gt;
&lt;div&gt;
Get-User&lt;/div&gt;
&lt;span style=&quot;color: #9e7c7c;&quot;&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Another Example with Parameters:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Powershell {&lt;br /&gt;
param($Name, $pcc);&lt;br /&gt;
get-process $Name -ComputerName $pcc;} -args &quot;explorer&quot;, &quot;localhost&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Thanks goes out to Thomas Bianco for coming up with this simple workaround as a way to isolate Powershell Sessions.&lt;/div&gt;
&lt;div&gt;
Additional information was retrieved from&amp;nbsp;&lt;a href=&quot;http://systemcenterblog.blogspot.com/2012/12/orchestrator-vs-powershell-i-win.html&quot;&gt;http://systemcenterblog.blogspot.com/2012/12/orchestrator-vs-powershell-i-win.html&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/1978759144330371734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/07/isolating-powershell-sessions-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1978759144330371734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1978759144330371734'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/07/isolating-powershell-sessions-in.html' title='Isolating Powershell Sessions in Workflows in Service Manager'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-4335208214654326397</id><published>2013-05-03T08:17:00.001-05:00</published><updated>2013-05-03T08:23:08.313-05:00</updated><title type='text'>Create and Assign Service Manager Incidents Directly from SCOM on Demand</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;u&gt;The Issue&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you use Operations Manager and Service Manager, you know by now that SCOM will automatically create Incidents in Service Manager. However, for most organizations, this just doesn’t make sense because they do not have a 1-to-1 Alert-to-Action ratio. You can set up basic criteria to limit the automatic creation, but this usually still results in too many unnecessary incidents. As a result, most organizations do not utilize this connector, which at one point was one of the most requested features of SCOM – to do really cool things with ticketing systems.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;The Solution&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So, instead, I have created a solution that will allow you to create incidents on demand directly from a SCOM Alert, while utilizing all the cool features of the Service Manager SCOM Alert connector. All you have to do is right click the alert(s) to create the on-demand tickets.&lt;/p&gt; &lt;p&gt;What are some features of the solution in conjunction with the native Connector:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Right click one more multiple alerts and assign incidents directly to the specified group/user  &lt;li&gt;Closing the alert closes the ticket and vice-versa  &lt;li&gt;The Assigned User and the Ticket Id are maintained in the alert as sourced from SCSM  &lt;li&gt;The affected component in SCOM is automatically added as a related configuration item in SCSM  &lt;li&gt;Easily can be extended to do more fun stuff with only basic PowerShell Knowledge&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;How Does it Work&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The solution utilizes the following components:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;SCOM and SCSM obviously  &lt;li&gt;A very small PowerShell Script  &lt;li&gt;SCOM CMDLETS&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Workflow:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;A user right clicks the alert and sets the resolution State.  &lt;li&gt;A Command Subscription triggers based on the resolution state, sets a couple of custom fields, and changes the resolution state to “Generate Incident” a &lt;li&gt;The SCSM Alert connector triggers based on the new resolution state, generates an incident, and applies an incident template based on data in the custom fields.&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;How to Implement the Solution&lt;/h2&gt; &lt;h3&gt;&lt;u&gt;These Steps need to be performed in SCOM&lt;/u&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step One&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Copy the following PowerShell script code and save on your SCOM management server as &lt;em&gt;UpdateCustomFieldPowershell.ps1&lt;/em&gt;. &lt;em&gt;&lt;font size=&quot;1&quot;&gt;(I took this code from another blog online and modified it as my own. Unfortunately, I don’t know who wrote the original script.)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;Param($alertid)&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;$alertid = $alertid.toString() &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;write-eventlog -logname &quot;Operations Manager&quot; -source &quot;Health Service Script&quot; -eventID 1234 -entrytype &quot;Information&quot; -message &quot;Running UpdateCustomFieldPowershell&quot; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;Import-Module OperationsManager; &quot;C:\Program Files\System Center 2012\Operations Manager\Powershell\OperationsManager\Functions.ps1&quot;; &quot;C:\Program Files\System Center 2012\Operations Manager\Powershell\OperationsManager\Startup.ps1&quot;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;$alert = Get-SCOMAlert -Criteria &quot;Id = &#39;$alertid&#39;&quot;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;write-host $alert&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;If ($alert.CustomField2 -ne &quot;AlertProcessed&quot;) &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;$AlertResState = (get-SCOMAlertResolutionState -ResolutionStateCode ($Alert.ResolutionState)).Name&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;$AlertResState&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; # $alert.CustomField1 = $alert.NetBIOSComputerName &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $alert.CustomField1 = $AlertResState&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $alert.CustomField2 = &quot;AlertProcessed&quot; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;$alert.ResolutionState&amp;nbsp; = 254&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $alert.Update(&quot;&quot;) &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;exit&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step Two&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;We need to create some new alert resolution states. The alert resolution states will trigger the script. You want to create a resolution state for each support group you would assign an alert. You can use whatever format you want. I used the format of “Assign to GROUPNAME”. Also keep in mind the Resolution State Ids and order you will use. I made my alphabetical. DO NOT use the resolution state 0,1,254, or 255. &lt;/p&gt; &lt;p&gt;To create new resolution states:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Go to the SCOM Console  &lt;li&gt;Go to the Administration Workspace  &lt;li&gt;Go to Settings  &lt;li&gt;Select Alerts  &lt;li&gt;Select the &lt;strong&gt;new&lt;/strong&gt; button, create a resolution state and assign an Id. Resolution states will always be ordered by their Id  &lt;li&gt;Repeat for each resolution state&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;After you create your alert resolution states, you will need to create one more that triggers the SCSM Connect. Name this Alert Resolution State “Generate Incident.” Also, make sure this is the exact name as the script requires. If you want to change the name, you will have to update the script. Also, set the Id to 254.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step Three&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;We need to set up a command channel and subscription that will trigger and run the script.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Open the SCOM Console  &lt;li&gt;Go the the Administration Workspace  &lt;li&gt;Go to Channels  &lt;li&gt;Create a new Command Channel  &lt;li&gt;Enter the full path of the above script  &lt;li&gt;Enter the command line parameters as shown in the example below (Be sure the use the double and single quotes correctly)  &lt;ul&gt; &lt;li&gt;&quot;C:\OpsMgrProductionScripts\SCOMUpdateCustomField.ps1&quot; &#39;$Data/Context/DataItem/AlertId$&#39;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Enter the startup folder as C:\windows\system32\windowspowershell\v1.0\  &lt;li&gt;Save the new Channel&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Next, we need to set up the subscriber for the command channel.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Open the SCOM Console  &lt;li&gt;Go the the Administration Workspace  &lt;li&gt;Open subscribers  &lt;li&gt;Create a new subscriber  &lt;li&gt;In the addresses tab, click Add  &lt;li&gt;In the subscriber address, set the channel type to command and then select the channel you set up in the previous steps. &lt;li&gt;Save the address and the subscriber &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Next, we need to set up the Command Subscription&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Open the SCOM Console  &lt;li&gt;Go the the Administration Workspace  &lt;li&gt;Open Subscriptions  &lt;li&gt;Create a new Subscription  &lt;li&gt;On the subscription criteria, check the checkbox “&lt;strong&gt;with a specific resolution state&lt;/strong&gt;”  &lt;li&gt;Select all the new resolution states except “Generate Incident” (Do not select anything other than the assignment states)  &lt;li&gt;On the subscribers, add the new subscriber you created in the previous steps  &lt;li&gt;On the Channels, add the new channel you created in the previous steps &lt;li&gt;Save the subscription &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step Four&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The last thing we have to do in SCOM is set up the Alert connector. The alert connector will be triggered based on the resolution status of “Generate Incident”.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Open the SCOM Console  &lt;li&gt;Go the the Administration Workspace  &lt;li&gt;Go to connectors and select Internal Connectors  &lt;li&gt;Open the SCSM Alert Connector  &lt;li&gt;Create a new subscription in the connector  &lt;li&gt;In the criteria of the subscription &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;&lt;u&gt;These Steps need to be performed in SCSM&lt;/u&gt;&amp;nbsp;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step One &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The first thing you want to do is enable and connect your SCSM SCOM Alert Connector. If you do not know how to do that, you can refer to technet. &lt;a title=&quot;http://technet.microsoft.com/en-us/library/hh524325.aspx&quot; href=&quot;http://technet.microsoft.com/en-us/library/hh524325.aspx&quot;&gt;http://technet.microsoft.com/en-us/library/hh524325.aspx&lt;/a&gt;. Verify it works before moving any further.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step Two&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Create a new Management Pack dedicated to storing the SCOM Incident Templates in SCSM  &lt;li&gt;Create a SCOM incident template for each group that you want to assign via SCOM. Typically, this is about 10-20 templates. For testing purposes, I would just start with one or two.  &lt;li&gt;Add the correct group as the assigned to in each template. It is not necessary to fill any other information.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Step Three&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;In SCSM open the SCOM Alert Connector  &lt;li&gt;Go to the alert routing rules and add a new rule  &lt;ul&gt; &lt;li&gt;For each rule select one of the templates that you created  &lt;li&gt;On the &lt;strong&gt;select criteria type&lt;em&gt;, &lt;/em&gt;&lt;/strong&gt;select the &lt;strong&gt;Custom Field&lt;/strong&gt; radio button  &lt;li&gt;For custom field one, enter the &lt;strong&gt;exact name&lt;/strong&gt; of the resolution state you used in SCOM. For example, if you are going to assign to the server team, and the name of resolution state is called “Assign to ServerTeam”, this is the exact phrase you need to enter into Custom Field one.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Select Custom Field two from the drop down  &lt;li&gt;For custom field two, enter “AlertProcessed”  &lt;li&gt;Click OK  &lt;li&gt;Repeat for each template&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;&lt;u&gt;Time for Testing!&lt;/u&gt;&amp;nbsp;&lt;/h3&gt; &lt;p&gt;Now you are ready to test. Find an alert in SCOM, right click the alert and set it to a resolution state for assignment. Give the subscription time to run and the SCSM connector time to run. Usually, if the connector is running every 2 minutes, it takes the total process about 5 minutes to complete. While the actual workflows are running in a second, it simply takes time for both of them to trigger.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;Troubleshooting&lt;/h4&gt; &lt;p&gt;If there are any issues with the configuration, the event logs will usually tell you about failures. If it is not working, but you don’t see any failures, your criteria probably do not match.&lt;/p&gt; &lt;h4&gt;Conclusion&lt;/h4&gt; &lt;p&gt;This is a great alternative solution to automatically creating tickets from SCOM. You can still automatically create tickets as well simply by adding subscriptions to the SCSM SCOM Alert connector. If you have any issues, question, leave a comment.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/4335208214654326397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/05/create-and-assign-service-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/4335208214654326397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/4335208214654326397'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/05/create-and-assign-service-manager.html' title='Create and Assign Service Manager Incidents Directly from SCOM on Demand'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-1060219592746641650</id><published>2013-01-15T13:55:00.001-06:00</published><updated>2013-02-27T08:21:22.574-06:00</updated><title type='text'>Notes Regarding SCSM 2012 Upgrade</title><content type='html'>&lt;br /&gt;
I just wanted to share some notes regarding the Service Manager 2012 SP1 Upgrade, that might not be obvious unless you thoroughly read the documentation. I hope these notes help prevent some problems.&lt;br /&gt;
&lt;br /&gt;
Release Notes:&lt;br /&gt;
&lt;a href=&quot;http://technet.microsoft.com/en-us/library/jj614520.aspx&quot;&gt;http://technet.microsoft.com/en-us/library/jj614520.aspx&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;The SCSM Console New Requirement:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Upgrade Note2-core 2.0 GHz CPU&lt;br /&gt;
4 GB of RAM&lt;br /&gt;
10 GB of available disk spaces&lt;br /&gt;
new requirement of Microsoft SQL Server 2012 Analysis Management Objects (AMO). Microsoft SQL Server 2012 AMO is supported on SQL Server 2008 and SQL Server 2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Self-Service Portal: Web Content Server with SharePoint Web Parts&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
8-Core 2.66 GHz CPU&lt;br /&gt;
8-core, 64-bit CPU for medium deployments&lt;br /&gt;
16 GB of RAM for 20,000 users, 32 GB of RAM for 50,000 users (See the Hardware Performance section in this guide.)&lt;br /&gt;
80 GB of available hard disk space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;When you upgrade from System Center 2012 – Service Manager, you perform an in-place upgrade of the Self-Service Portal. - This is the only thing the documentation says. I am not sure what it means.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Authoring Tool Workflows&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
When you use the Service Manager SP1 version of the Authoring tool to create a workflow, then custom scripts using Windows PowerShell cmdlets called by the workflow fail. This is due to a problem in the Service Manager MonitoringHost.exe.config file.&lt;br /&gt;
&lt;br /&gt;
To work around this problem, update the MonitoringHost.exe.config XML file using the following steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;NumberedList1&quot; style=&quot;line-height: 13.0pt; mso-line-height-rule: exactly; mso-list: none; tab-stops: .25in;&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;1.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;Navigate to %ProgramFiles%\Microsoft
System Center 2012\Service Manager\ or the location where you installed Service
Manager.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;2.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;Edit the MonitoringHost.exe.config file
and add the section in italic type from the example below in the corresponding
section of your file. You must insert the section before &amp;lt;publisherPolicy
apply=&quot;yes&quot; /&amp;gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;3.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;Save your changes to the file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;4.&lt;span style=&quot;font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;Restart the System Center Management
service on the Service Manager management server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;Code&quot;&gt;
&lt;br /&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace; font-size: 11.666666030883789px; line-height: 13.333333015441895px; overflow: auto; padding: 5px;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;
&amp;lt;configuration&amp;gt;
&amp;nbsp; &amp;lt;configSections&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;section name=&quot;uri&quot; type=&quot;System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot; /&amp;gt;
&amp;nbsp; &amp;lt;/configSections&amp;gt;
&amp;nbsp; &amp;lt;uri&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;iriParsing enabled=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;lt;/uri&amp;gt;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;lt;runtime&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyBinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name=&quot;Microsoft.Mom.Modules.DataTypes&quot; publicKeyToken=&quot;31bf3856ad364e35&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;publisherPolicy apply=&quot;no&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bindingRedirect oldVersion=&quot;6.0.4900.0&quot; newVersion=&quot;7.0.5000.0&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name=&quot;Microsoft.EnterpriseManagement.HealthService.Modules.WorkflowFoundation&quot; publicKeyToken=&quot;31bf3856ad364e35&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;publisherPolicy apply=&quot;no&quot; /&amp;gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;bindingRedirect oldVersion=&quot;6.0.4900.0&quot; newVersion=&quot;7.0.5000.0&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;dependentAssembly&amp;gt; 
&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;assemblyIdentity name=&quot;Microsoft.EnterpriseManagement.Modules.PowerShell&quot; publicKeyToken=&quot;31bf3856ad364e35&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;bindingRedirect oldVersion=&quot;6.0.4900.0&quot; newVersion=&quot;7.0.5000.0&quot; /&amp;gt;&lt;/b&gt;&lt;/i&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dependentAssembly&amp;gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;publisherPolicy apply=&quot;yes&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;probing privatePath=&quot;&quot; /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/assemblyBinding&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;gcConcurrent enabled=&quot;true&quot; /&amp;gt;
&amp;nbsp; &amp;lt;/runtime&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/1060219592746641650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/01/notes-regarding-scsm-2012-upgrade.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1060219592746641650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1060219592746641650'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/01/notes-regarding-scsm-2012-upgrade.html' title='Notes Regarding SCSM 2012 Upgrade'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-792927286063113241</id><published>2013-01-15T13:41:00.001-06:00</published><updated>2013-01-15T13:41:01.910-06:00</updated><title type='text'>SCOM Agent Supported in SCSM 2012 SP1</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;DSTOC4-0&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;DSTOC4-0&quot;&gt;
System Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Operations Manager&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
System Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Operations Manager agents were not supported with System&amp;nbsp;Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Service&amp;nbsp;Manager. However, the agent that is automatically installed by System&amp;nbsp;Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Service&amp;nbsp;Manager SP1 is compatible with System Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Operations Manager and System Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Operations Manager SP1.&amp;nbsp;&amp;nbsp;After Service Manager Setup completes, you must manually configure the agent to communicate with the Operations Manager management server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
To validate that the Operations Manager Agent was installed, open Control Panel and verify that the Operations Manager Agent is present. To manually configure the Operations Manager agent, see&amp;nbsp;&lt;a href=&quot;http://go.microsoft.com/fwlink/p/?LinkId=264988&quot;&gt;&lt;span style=&quot;font-size: 10pt; line-height: 14px;&quot;&gt;Configuring Agents&lt;/span&gt;&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
You can upgrade Service Manager servers in the presence of an System Center&amp;nbsp;2012&amp;nbsp;–&amp;nbsp;Operations Manager console.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Source: MS Documentation&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
http://www.microsoft.com/en-us/download/details.aspx?id=27850&lt;/div&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/792927286063113241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/01/scom-agent-supported-in-scsm-2012-sp1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/792927286063113241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/792927286063113241'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2013/01/scom-agent-supported-in-scsm-2012-sp1.html' title='SCOM Agent Supported in SCSM 2012 SP1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-9034836166230107025</id><published>2012-07-11T08:55:00.000-05:00</published><updated>2013-02-27T08:06:13.572-06:00</updated><title type='text'>SCSM Cube Processing and Analysis Services is a Beast</title><content type='html'>If you are using the Service Manager DW and cubes, you may have ran into some issues with the cubes not processing, failing, data issue, or something else. I have provided a couple of resources to help with troubleshooting at the bottom of my post, but I want give a little insight on my experience in dealing with what could possibly become a maintenance headache.&lt;br /&gt;
&lt;br /&gt;
Back story: I am currently working on a DEV and PRD SCSM 2012 RTM environment for a client. Each environment is up. DEV is being heavily used, but PRD is not. They have slightly different configurations, and each cube processing issue was resolved using two different methods.&lt;br /&gt;
&lt;br /&gt;
Because development is non-impacting, after troubleshooting for a few hours and not being about to resolve the issue, i figured it was best to reinstall the DW. After uninstall, reinstall, and re-sync everything works ALL data intact.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;DEV Steps:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Go into the console &amp;gt; Administration&lt;/li&gt;
&lt;li&gt;Unregister the DW&lt;/li&gt;
&lt;li&gt;On the DW Server, Go to Add/Remove Programs &amp;gt; Uninstall System Center 2012 Service Manager&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;If you get an error about a log not being found, do this:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Shift Right Click &quot;Add/Remove Programs&quot; and select run in a different process&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;li&gt;After the uninstall, restart the machine&lt;/li&gt;
&lt;li&gt;After the machine restarts, go into the registry of the DW Management Server and remove the following keys and all sub keys:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;System Center&lt;/li&gt;
&lt;li&gt;Microsoft Operations Manager&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Restart the Machine again&lt;/li&gt;
&lt;li&gt;Go REMOVE/DELETE the DW databases&lt;/li&gt;
&lt;li&gt;Go REMOVE/DELETE the DW Analysis services database&lt;/li&gt;
&lt;li&gt;On the DW Management Server, perform a fresh install, following the prompts and creating new databases.&lt;/li&gt;
&lt;li&gt;Once the install is complete, re-register SCSM to the DW&lt;/li&gt;
&lt;li&gt;Leave it Alone for 24 hours&lt;/li&gt;
&lt;li&gt;After 24 hours check to see if all the jobs and cubes have processed&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
The steps above (for dev) were quicker than troubleshooting. Hope this helps.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;PRD Steps - Actualy troubleshooting, not re-install&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
Analysis services is install on the DW server. I noticed in the event log, I was receiving event 33573. One of the events stated &quot;The operation has been cancelled due to memory pressure.&quot; This seemed pretty obvious, so I opened task manager, attempted to process the cube, and noticed that it maxed out my 8GB of memory in a couple of minutes, then the memory utilization dropped. I checked the event log again, and I received the same error. So, I increased the memory 16 GB, and processed again - No More Memory Errors. 4 of the 6 cubes processed. I still have two that are failing, but not because of memory. You might need to increase your memory above 16GB depending on the number of work and config items.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
After fixing the memory issue, I noticed the following events:&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; margin-left: 4.65pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184; width: 671px;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;height: 78.75pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border: solid windowtext 1.0pt; height: 78.75pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 35.0pt;&quot; valign=&quot;bottom&quot; width=&quot;47&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 78.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 55.5pt;&quot; width=&quot;74&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 78.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 62.2pt;&quot; width=&quot;83&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 78.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 24.4pt;&quot; width=&quot;33&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 78.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 21.15pt;&quot; width=&quot;28&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; height: 78.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 304.75pt;&quot; width=&quot;406&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Message : An Exception was
  encountered while trying to process a cube.&amp;nbsp; Cube Name:
  SystemCenterChangeAndActivityManagementCube Exception Message: An exception
  occurred while processing the cube.&amp;nbsp; Please see the event viewer log for
  more information.&amp;nbsp; Cube:&amp;nbsp; SystemCenterChangeAndActivityManagementCube
  Stack Trace:&amp;nbsp;&amp;nbsp;&amp;nbsp; at
  Microsoft.SystemCenter.Warehouse.Olap.OlapCube.Process(ManagementPackCube
  mpCube).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 67.5pt; mso-yfti-irow: 1;&quot;&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 67.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 35.0pt;&quot; width=&quot;47&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Warning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 67.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 55.5pt;&quot; width=&quot;74&quot;&gt;
  &lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;7/11/2012
  7:53&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 67.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 62.2pt;&quot; width=&quot;83&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Data Warehouse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 67.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 24.4pt;&quot; width=&quot;33&quot;&gt;
  &lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;33573&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 67.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 21.15pt;&quot; width=&quot;28&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;None&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 67.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 304.75pt;&quot; width=&quot;406&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Message : An Exception was
  encountered while trying during cube processing.&amp;nbsp; Message=&amp;nbsp;
  Processing warning encountered - Location: , Source: Microsoft SQL Server
  2008 R2 Analysis Services Code: 1092550657, Description: Errors in the OLAP
  storage engine: The attribute key cannot be found when processing: Table:
  &#39;ActivityAssignedToUser&#39;, Column: &#39;ActivityDimKey&#39;, Value: &#39;2&#39;. The attribute
  is &#39;ActivityDimKey&#39;..&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 1.25in; mso-yfti-irow: 2;&quot;&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 1.25in; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 35.0pt;&quot; width=&quot;47&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Warning&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 1.25in; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 55.5pt;&quot; width=&quot;74&quot;&gt;
  &lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;7/11/2012
  7:53&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 1.25in; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 62.2pt;&quot; width=&quot;83&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Data Warehouse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 1.25in; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 24.4pt;&quot; width=&quot;33&quot;&gt;
  &lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;33574&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 1.25in; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 21.15pt;&quot; width=&quot;28&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;None&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 1.25in; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 304.75pt;&quot; width=&quot;406&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Message : Cube Processing workitem
  has failed.&lt;br /&gt;
  This is most likely caused by the DWDataMart (primary datamart) being out of
  sync from other marts.&lt;br /&gt;
  This is an intermittent problem and will resolve on its own as the Load jobs
  complete their runs.&lt;br /&gt;
  However, to work around this issue, administrators can manually start the
  Load.Common load job, wait for it to complete and then start the Cube
  processing job.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 247.5pt; mso-yfti-irow: 3; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-top: none; border: solid windowtext 1.0pt; height: 247.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 35.0pt;&quot; width=&quot;47&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Error&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 247.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 55.5pt;&quot; width=&quot;74&quot;&gt;
  &lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;7/11/2012
  7:53&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 247.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 62.2pt;&quot; width=&quot;83&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Data Warehouse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 247.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 24.4pt;&quot; width=&quot;33&quot;&gt;
  &lt;div align=&quot;right&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: right;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;33573&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td nowrap=&quot;&quot; style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 247.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 21.15pt;&quot; width=&quot;28&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;None&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 247.5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 304.75pt;&quot; width=&quot;406&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Message : An Exception was
  encountered while trying during cube processing.&amp;nbsp; Message=&amp;nbsp; Processing
  error encountered - Location: , Source: Microsoft SQL Server 2008 R2 Analysis
  Services Code: -1054932986, Description: Errors in the OLAP storage engine:
  The process operation ended because the number of errors encountered during
  processing reached the defined limit of allowable errors for the
  operation..&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Processing error encountered
  - Location: , Source: Microsoft SQL Server 2008 R2 Analysis Services Code:
  -1054932978, Description: Errors in the OLAP storage engine: An error
  occurred while processing the &#39;ActivityAssignedToUser&#39; partition of the
  &#39;ActivityAssignedToUser&#39; measure group for the
  &#39;SystemCenterChangeAndActivityManagementCube&#39; cube from the DWASDataBase
  database..&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Processing error encountered -
  Location: , Source: Microsoft SQL Server 2008 R2 Analysis Services Code:
  -1054932986, Description: Errors in the OLAP storage engine: The process
  operation ended because the number of errors encountered during processing
  reached the defined limit of allowable errors for the operation..&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  Processing error encountered - Location: , Source: Microsoft SQL Server 2008
  R2 Analysis Services Code: -1056964601, Description: Internal error: The
  operation terminated unsuccessfully..&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  Processing error encountered - Location: , Source: Microsoft SQL Server 2008
  R2 Analysis Services Code: -1055129598, Description: Server: The operation
  has been cancelled.. &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/9034836166230107025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/07/scsm-cube-processing-and-analysis.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/9034836166230107025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/9034836166230107025'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/07/scsm-cube-processing-and-analysis.html' title='SCSM Cube Processing and Analysis Services is a Beast'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-1899937273601245326</id><published>2012-04-20T09:39:00.001-05:00</published><updated>2012-04-20T09:39:01.832-05:00</updated><title type='text'>Exchange Connector 3.0 RC Released! - System Center: Service Manager Engineering Team Blog - Site Home - TechNet Blogs</title><content type='html'>&lt;a href=&quot;http://blogs.technet.com/b/servicemanager/archive/2012/04/15/exchange-connector-3-0-rc-released.aspx&quot;&gt;Exchange Connector 3.0 RC Released! - System Center: Service Manager Engineering Team Blog - Site Home - TechNet Blogs&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/1899937273601245326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/04/exchange-connector-30-rc-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1899937273601245326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/1899937273601245326'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/04/exchange-connector-30-rc-released.html' title='Exchange Connector 3.0 RC Released! - System Center: Service Manager Engineering Team Blog - Site Home - TechNet Blogs'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-4066602988452531723</id><published>2012-03-27T15:50:00.002-05:00</published><updated>2012-03-27T15:50:39.523-05:00</updated><title type='text'>SCSM Service Request - Don&#39;t use a Single Review Activity</title><content type='html'>In Service Manager, we are allowed to have activities in service requests, just like Changes and Incidents. However, don&#39;t enter a single activity which is also a review activity. It will not move to &quot;In Progress.&quot;&lt;br /&gt;
&lt;br /&gt;
If you create a Service Request or Service Request Template, and you decide to use activities, make sure that if you are going to have an approval (Review Activity), that you also have some type of Manual Activity associated with it. Otherwise, the workflow will run successfully, but it will not change the status from Pending. Now you are stuck, and will have to use Powershell to clean it up.&lt;br /&gt;
&lt;br /&gt;
Don&#39;t do this:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;New Service Request&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;1 Review Activity&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
Do this:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;New Service Request&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;1 Review Activity&lt;/li&gt;
&lt;li&gt;1 Manual Activity&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/4066602988452531723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/03/scsm-service-request-dont-use-single.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/4066602988452531723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/4066602988452531723'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/03/scsm-service-request-dont-use-single.html' title='SCSM Service Request - Don&#39;t use a Single Review Activity'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-7634283650127797343</id><published>2012-02-14T11:58:00.002-06:00</published><updated>2012-03-19T07:11:03.814-05:00</updated><title type='text'>SCSM 2012 - Affected User Populates Affected Item Selection</title><content type='html'>&lt;br /&gt;
I don&#39;t know if many people have noticed this, because I sure didn&#39;t. Maybe I am not the most observant person. On the incident form, you see &quot;Affected user CIs:&quot;. I have always seen it, but nothing ever &quot;clicked.&quot; When you enter an affected user, it gives you a list of CIs for that User.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Assumptions:&lt;/b&gt;&lt;br /&gt;
You have SCSM 2012 Installed&lt;br /&gt;
You have your SCCM Connector&amp;nbsp;Synchronized&amp;nbsp;and it pulls workstation and user information.&lt;br /&gt;
You have AD&amp;nbsp;Synchronized&amp;nbsp;for users.&lt;br /&gt;
&lt;br /&gt;
Open the Incident Form&lt;br /&gt;
Add an Affected User&lt;br /&gt;
Watch the&amp;nbsp;Affected user CIs get populated.&lt;br /&gt;
&lt;br /&gt;
NIICE!&lt;br /&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/7634283650127797343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/02/scsm-2012-affected-user-populates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/7634283650127797343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/7634283650127797343'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/02/scsm-2012-affected-user-populates.html' title='SCSM 2012 - Affected User Populates Affected Item Selection'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-6206239462562599187</id><published>2012-02-02T16:28:00.000-06:00</published><updated>2012-02-02T16:28:03.151-06:00</updated><title type='text'>SCSM Find the Relationship GUID between two Work Items Components</title><content type='html'>I was recently editing a notification mangement pack and needed to find the GUID for a relationship between two instance so I could send an email to the correct user.&lt;br /&gt;
IN SCSM 2012 there is a cmdlet that can be used to find the name if a relationship called get-SCRelationship. However, it doesn&#39;t provide the GUID.&lt;br /&gt;
&lt;br /&gt;
If you want to view all relationship types along with there GUID and other details, use this simple database query. Open SQL Management Studio and connect to your Service Manager Database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Select &amp;nbsp;*&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;FROM ServiceManager.dbo.RelationshipTypeView&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;where&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;LanguageCode = &#39;ENU&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;and (&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Name like &#39;%incident%&#39; OR&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;DisplayName like &#39;%incident%&#39; OR&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;TargetName like &#39;%incident%&#39; OR&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;SourceName like &#39;%incident%&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace &quot;Incident&quot; with different details if needed. For example &quot;PrimaryOwner.&quot;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/6206239462562599187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/02/scsm-find-relationship-guid-between-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6206239462562599187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6206239462562599187'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2012/02/scsm-find-relationship-guid-between-two.html' title='SCSM Find the Relationship GUID between two Work Items Components'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-2055811580941137924</id><published>2011-10-25T10:02:00.001-05:00</published><updated>2012-03-19T07:12:36.759-05:00</updated><title type='text'>SCSM Workflow Date Time Token Error in the Authoring Console</title><content type='html'>The Authoring Tool workflow has an option of &quot;relative&quot; when using date fields. However, when you check the checkbox and enter a relative token such as [now] the authoring console doesn&#39;t like it and will not save. I haven&#39;t seen anyone else complain about this, so maybe it is just my environment. Either way, I had to find a workaround. It is pretty simple.&lt;br /&gt;
&lt;br /&gt;
First what might happen is you are creating an on update trigger. You select a date field and select the relate checkbox.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OtqnIB5lv7FnUtRhlpKLwmPbagkkDBC9NB49Qk2QOm01AioVN25_n_uedM_UV0xgHn-D3ZDjxgt5BfRPhIoTNdC64dUJU1K9mkrJirNwVV-Mhu44B06OtE_Xa7ZF0cakfJNs2i6NB6fi/s1600/RelativeCriteria.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OtqnIB5lv7FnUtRhlpKLwmPbagkkDBC9NB49Qk2QOm01AioVN25_n_uedM_UV0xgHn-D3ZDjxgt5BfRPhIoTNdC64dUJU1K9mkrJirNwVV-Mhu44B06OtE_Xa7ZF0cakfJNs2i6NB6fi/s400/RelativeCriteria.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You might be able to click okay, but later down the road when you save you might get this token error.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRSZd3qaGVmbxG0_8klmxtPM6zf4IF0bgEO0jvnTB3hmVQqqyhJLE-rmQBgUe2yAnS-pZFvvUQDRXFG7nAMSmU18FmOy_cSaujDJl8yRMEbsuThQmg5ebrgEgUQDobVOKeM_T5FO-uTjV8/s1600/RelativeCriteria_Error.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRSZd3qaGVmbxG0_8klmxtPM6zf4IF0bgEO0jvnTB3hmVQqqyhJLE-rmQBgUe2yAnS-pZFvvUQDRXFG7nAMSmU18FmOy_cSaujDJl8yRMEbsuThQmg5ebrgEgUQDobVOKeM_T5FO-uTjV8/s400/RelativeCriteria_Error.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is happening to you, specify the expression that you want, except do not use &quot;relative.&quot; For now, insert a static date. Save the management pack and open the xml. Go find your expression. You can see mine below.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;Expression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;SimpleExpression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ValueExpression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Property State=&quot;Post&quot;&amp;gt;$Context/Property[Type=&#39;CustomSystem_WorkItem_Library!System.WorkItem&#39;]/ScheduledStartDate$&amp;lt;/Property&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ValueExpression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Operator&amp;gt;LessEqual&amp;lt;/Operator&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ValueExpression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Value&amp;gt;2011-09-25T05:00:00&amp;lt;/Value&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ValueExpression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/SimpleExpression&amp;gt;&lt;/i&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Expression&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Replace&lt;i&gt;&amp;nbsp;&amp;lt;Value&amp;gt;2011-09-25T05:00:00&amp;lt;/Value&amp;gt;&lt;/i&gt; with&amp;nbsp;&lt;i&gt;&amp;lt;Token&amp;gt;[now]&amp;lt;/Token&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
That&#39;s it.</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/2055811580941137924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/scsm-workflow-date-time-token-error-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2055811580941137924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2055811580941137924'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/scsm-workflow-date-time-token-error-in.html' title='SCSM Workflow Date Time Token Error in the Authoring Console'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OtqnIB5lv7FnUtRhlpKLwmPbagkkDBC9NB49Qk2QOm01AioVN25_n_uedM_UV0xgHn-D3ZDjxgt5BfRPhIoTNdC64dUJU1K9mkrJirNwVV-Mhu44B06OtE_Xa7ZF0cakfJNs2i6NB6fi/s72-c/RelativeCriteria.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-6894699450487138869</id><published>2011-10-25T09:38:00.002-05:00</published><updated>2011-10-25T09:38:48.917-05:00</updated><title type='text'>SCSM Tokens</title><content type='html'>[me]&lt;br /&gt;
[mygroups]&lt;br /&gt;
&lt;br /&gt;
[now] +|- # s|m|h|d&lt;br /&gt;
&lt;br /&gt;
where:&lt;br /&gt;
&lt;br /&gt;
s =&amp;gt; seconds&lt;br /&gt;
m =&amp;gt; minutes&lt;br /&gt;
h =&amp;gt; hours&lt;br /&gt;
d =&amp;gt; days&lt;br /&gt;
&lt;br /&gt;
for example:&lt;br /&gt;
[now] + 2 h is now + 2 hours&lt;br /&gt;
[now ]+ 3 m is now + 3 minutes&lt;br /&gt;
[now] - 2 h is now - 2 hours</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/6894699450487138869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/scsm-tokens.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6894699450487138869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6894699450487138869'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/scsm-tokens.html' title='SCSM Tokens'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-3690167338849716436</id><published>2011-10-10T14:09:00.000-05:00</published><updated>2011-10-10T14:09:51.254-05:00</updated><title type='text'>Suppressing Duplicate SCSM Workflow Monitoring Alerts/Health State Changes in SCOM - SCSM Engineering Team Blog - Site Home - TechNet Blogs</title><content type='html'>&lt;a href=&quot;http://blogs.technet.com/b/servicemanager/archive/2011/09/12/suppressing-duplicate-scsm-workflow-monitoring-alerts-health-state-changes-in-scom.aspx&quot;&gt;Suppressing Duplicate SCSM Workflow Monitoring Alerts/Health State Changes in SCOM - SCSM Engineering Team Blog - Site Home - TechNet Blogs&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/3690167338849716436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/suppressing-duplicate-scsm-workflow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/3690167338849716436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/3690167338849716436'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/suppressing-duplicate-scsm-workflow.html' title='Suppressing Duplicate SCSM Workflow Monitoring Alerts/Health State Changes in SCOM - SCSM Engineering Team Blog - Site Home - TechNet Blogs'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-2796515643159962477</id><published>2011-10-10T14:04:00.000-05:00</published><updated>2011-10-10T14:04:17.238-05:00</updated><title type='text'>Action Log, History, and Auditing in Service Manager - SCSM Engineering Team Blog - Site Home - TechNet Blogs</title><content type='html'>&lt;a href=&quot;http://blogs.technet.com/b/servicemanager/archive/2010/02/04/action-log-history-and-auditing-in-service-manager.aspx&quot;&gt;Action Log, History, and Auditing in Service Manager - SCSM Engineering Team Blog - Site Home - TechNet Blogs&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a style=&quot;font-size:13px&quot; href=&quot;https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk&quot;&gt;&#39;via Blog this&#39;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/2796515643159962477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/action-log-history-and-auditing-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2796515643159962477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2796515643159962477'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/action-log-history-and-auditing-in.html' title='Action Log, History, and Auditing in Service Manager - SCSM Engineering Team Blog - Site Home - TechNet Blogs'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-2824093510198973792</id><published>2011-10-10T09:10:00.000-05:00</published><updated>2011-10-10T09:10:04.099-05:00</updated><title type='text'>Microsoft System Center Suite: List current values for a list enumeration in Service Manager</title><content type='html'>&lt;a href=&quot;http://systemscentre.blogspot.com/2010/09/list-current-values-for-list.html&quot;&gt;Microsoft System Center Suite: List current values for a list enumeration in Service Manager&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a style=&quot;font-size:13px&quot; href=&quot;https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk&quot;&gt;&#39;via Blog this&#39;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/2824093510198973792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/microsoft-system-center-suite-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2824093510198973792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/2824093510198973792'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/10/microsoft-system-center-suite-list.html' title='Microsoft System Center Suite: List current values for a list enumeration in Service Manager'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-8896925163845601130</id><published>2011-09-12T08:30:00.000-05:00</published><updated>2011-09-12T08:30:04.053-05:00</updated><title type='text'>Quickly find the SCSM Management Group Name</title><content type='html'>I always assumed the SCSM management group name was in the title of the console until I actually needed one day, then I realized it wasn&#39;t there. It seems like you would see the Management Group name every where, but it is not. Use the registry on a SCSM server to find it.&lt;br /&gt;
&lt;br /&gt;
Open regedit:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; color: #333333; font-family: Arial; font-size: 13px; line-height: 18px;&quot;&gt;HKEY_LOCAL_Machine\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Server Management Groups&amp;nbsp;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/8896925163845601130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/09/quickly-find-scsm-management-group-name.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/8896925163845601130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/8896925163845601130'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/09/quickly-find-scsm-management-group-name.html' title='Quickly find the SCSM Management Group Name'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-192522095609491514</id><published>2011-08-29T13:21:00.000-05:00</published><updated>2011-08-29T13:21:55.560-05:00</updated><title type='text'>Here are some useful SCSM DataMart Views</title><content type='html'>&lt;b&gt;Create Announcements view from The CMDB&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USE [DWDataMart]&lt;br /&gt;
GO&lt;br /&gt;
/****** Object: &amp;nbsp;View [dbo].[Custom_Announcements] &amp;nbsp; &amp;nbsp;Script Date: 08/29/2011 13:16:37 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
Create View [dbo].[Custom_Announcements]&lt;br /&gt;
As&lt;br /&gt;
Select BaseManagedEntityId,&lt;br /&gt;
ExpirationDate_DDB905FF_A923_F97D_D00B_6430C2CD5E95 as Expiration,&lt;br /&gt;
P.DisplayName&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;as Priority,&lt;br /&gt;
Title_A24FDDD9_5BC0_B3D0_E014_1F98C0B9143E Announcement,&lt;br /&gt;
Left(Substring(Body_3D226BC1_0528_14EA_F3FB_3823A132B4F8,Charindex(&#39;\ltrch&#39;,Body_3D226BC1_0528_14EA_F3FB_3823A132B4F8)+7,250),Charindex(&#39;}&#39;,Substring(Body_3D226BC1_0528_14EA_F3FB_3823A132B4F8,Charindex(&#39;\ltrch&#39;,Body_3D226BC1_0528_14EA_F3FB_3823A132B4F8)+7,250))-1) Body&lt;br /&gt;
&amp;nbsp;FROM ServiceManager.dbo.MTV_System$Announcement$Item a&lt;br /&gt;
&amp;nbsp;Join ServiceManager.dbo.DisplayStringView P on a.Priority_6986BA50_58CF_ABCA_FB58_8FCAB694E6C9 = P.LTStringId and LanguageCode = &#39;ENU&#39;&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Review Activities&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
/****** Object: &amp;nbsp;View [dbo].[Custom_ReviewActivityList] &amp;nbsp; &amp;nbsp;Script Date: 08/29/2011 13:16:37 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
CREATE VIEW [dbo].[Custom_ReviewActivityList]&lt;br /&gt;
&amp;nbsp;AS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Select&lt;br /&gt;
RA.Id + Coalesce(Cast(R.ReviewerDimKey as varchar(255)),&#39;&#39;) As ActivityandReviewer_Key,&lt;br /&gt;
RA.BaseManagedEntityId as ActivityGUID,&lt;br /&gt;
RA.Id as ActivityId,&lt;br /&gt;
Cast(&#39;https://servicemanagerdev/analyst/ReviewActivityDetails.aspx?AID=&#39; + RA.Id AS varchar(255)) ViewActivity,&lt;br /&gt;
RA.CreatedDate,&lt;br /&gt;
RA.Title,&lt;br /&gt;
DecString.DisplayName,&lt;br /&gt;
R.DecisionDate,&lt;br /&gt;
R.Comments as DecisionComments,&lt;br /&gt;
U.FirstName as ReviewerFirstName, U.LastName as ReviewerLastName, U.DisplayName as ReviewerDisplayName, U.UserName as ReviewerUserName,&lt;br /&gt;
WI.BaseManagedEntityId as ParentWorkItemGUId,&lt;br /&gt;
WI.Id as ParentWorkItemId,&lt;br /&gt;
WI.Title as ParentWorkitemTitle,&lt;br /&gt;
Cast(&#39;https://servicemanagerdev/analyst/ChangeRequestDetails.aspx?CRID=&#39; + WI.Id &amp;nbsp;AS varchar(255)) ViewParent&lt;br /&gt;
FROM ActivityDimvw A&lt;br /&gt;
Join ReviewActivityDimvw RA on A.BaseManagedEntityId = RA.BaseManagedEntityId&lt;br /&gt;
Left Join ReviewActivityhasReviewerFactvw RARF on A.ActivityDimKey = RARF.ActivityDimKey&lt;br /&gt;
LEFT Join ReviewerDimvw R on RARF.ReviewActivityHasReviewer_ReviewerDimKey = R.ReviewerDimKey&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;LEFT Join ReviewerDecisionvw RD ON R.Decision_ReviewerDecisionId = RD.ReviewerDecisionId&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Left Join dbo.DisplayStringDimvw as DecString on RD.EnumTypeId = DecString.BaseManagedEntityId and DecString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join ReviewerIsUserFactvw RU on R.ReviewerDimKey = RU.ReviewerDimKey&lt;br /&gt;
LEFT Join UserDimvw U on RU.ReviewerIsUser_UserDimKey = U.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityAreavw AA &amp;nbsp;With (NOLOCK) on RA.Area_ActivityAreaId= AA.ActivityAreaId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as AAString on AA.EnumTypeId = AAString.BaseManagedEntityId and AAString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityPriorityvw AP &amp;nbsp;With (NOLOCK) on RA.Priority_ActivityPriorityId = AP.ActivityPriorityId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as APString on AP.EnumTypeId = APString.BaseManagedEntityId and APString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityStagevw AStage &amp;nbsp;With (NOLOCK) on RA.Stage_ActivityStageId = AStage.ActivityStageId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as AStageString on AStage.EnumTypeId = AStageString.BaseManagedEntityId and AStageString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityStatusvw AStatus &amp;nbsp;With (NOLOCK) on RA.Status_ActivityStatusId = AStatus.ActivityStatusId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as AStatusString on AStatus.EnumTypeId = AStatusString.BaseManagedEntityId and AStatusString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemContainsActivityFactvw WICA on A.ActivityDimKey = WICA.WorkItemContainsActivity_ActivityDimKey&lt;br /&gt;
Left Join WorkItemDimvw WI on WICA.WorkItemDimKey = WI.WorkItemDimKey&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Incidents&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/****** Object: &amp;nbsp;View [dbo].[Custom_IncidentList_with_HL] &amp;nbsp; &amp;nbsp;Script Date: 08/29/2011 13:16:37 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
CREATE VIEW [dbo].[Custom_IncidentList_with_HL]&lt;br /&gt;
&amp;nbsp;AS&lt;br /&gt;
&lt;br /&gt;
Select &lt;br /&gt;
I.BaseManagedEntityId as IncidentGUID,&lt;br /&gt;
I.Id as IncidentId,&lt;br /&gt;
&#39;https://servicemanagerdev/enduser/RequestDetails.aspx?RequestsId=&#39; + Convert(varchar(50),I.BaseManagedEntityId) + &#39;&amp;amp;RequestType=incident&#39;&lt;br /&gt;
AS IncidentLink,&lt;br /&gt;
I.CreatedDate,&lt;br /&gt;
IncidentStatusString.DisplayName as &#39;Status&#39;,&lt;br /&gt;
IncidentClassString.DisplayName &amp;nbsp;as &#39;Classification&#39;,&lt;br /&gt;
I.Title, I.Description, Escalated,&lt;br /&gt;
IncidentImpactString.DisplayName as Impact,&lt;br /&gt;
IncidentUrgencyString.DisplayName as Urgency,&lt;br /&gt;
Priority,&lt;br /&gt;
IncidentResCatString.DisplayName as ResolutionCategory,&lt;br /&gt;
ResolutionDescription,&lt;br /&gt;
TargetResolutionTime,&lt;br /&gt;
AffectedUser.FirstName as AffectedUserFirstName, AffectedUser.LastName as AffectedUserLastName, AffectedUser.DisplayName as AffectedUserDisplayName, AffectedUser.UserName as AffectedUserName,&lt;br /&gt;
ContactMethod as AffectedUserContactMethod,&lt;br /&gt;
AssignedUser.FirstName as AssignedUserFirstName, AssignedUser.LastName as AssignedUserLastName, AssignedUser.DisplayName as AssignedUserDisplayName, AssignedUser.UserName as AssignedUserName,&lt;br /&gt;
CreatedByUser.FirstName as CreatedByUserFirstName, CreatedByUser.LastName as CreatedByUserLastName, CreatedByUser.DisplayName as CreatedByUserDisplayName, CreatedByUser.UserName as CreatedByUserName&lt;br /&gt;
FROM dbo.IncidentDimvw I With (NOLOCK)&lt;br /&gt;
Join WorkItemDimvw WI &amp;nbsp;With (NOLOCK) on I.BaseManagedEntityId = WI.BaseManagedEntityId&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentStatusvw S &amp;nbsp;With (NOLOCK) on I.Status_IncidentStatusId = s.IncidentStatusId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentStatusString on S.EnumTypeId = IncidentStatusString.BaseManagedEntityId and IncidentStatusString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentClassificationvw C on I.Classification_IncidentClassificationId = C.IncidentClassificationId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentClassString on C.EnumTypeId = IncidentClassString.BaseManagedEntityId and IncidentClassString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentImpactvw Impact on I.Impact_IncidentImpactId = Impact.IncidentImpactId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentImpactString on Impact.EnumTypeId = IncidentImpactString.BaseManagedEntityId and IncidentImpactString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentUrgencyvw Urgency on I.Urgency_IncidentUrgencyId = Urgency.IncidentUrgencyId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentUrgencyString on Urgency.EnumTypeId = IncidentUrgencyString.BaseManagedEntityId and IncidentUrgencyString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentResolutionCategoryvw ResCat on I.ResolutionCategory_IncidentResolutionCategoryId = ResCat.IncidentResolutionCategoryId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentResCatString on ResCat.EnumTypeId = IncidentResCatString.BaseManagedEntityId and IncidentResCatString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAffectedUserFactvw WIAF on WI.WorkItemDimKey = WIAF.WorkItemDimKey and WIAF.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AffectedUser on WIAF.WorkItemAffectedUser_UserDimKey = AffectedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAssignedToUserFactvw WIAT on WI.WorkItemDimKey = WIAT.WorkItemDimKey and WIAT.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AssignedUser on WIAT.WorkItemAssignedToUser_UserDimKey = AssignedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemCreatedByUserFactvw WICB on WI.WorkItemDimKey = WICB.WorkItemDimKey and WICB.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw CreatedByUser on WICB.WorkItemCreatedByUser_UserDimKey = CreatedByUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Where 1=1&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;
and Status &amp;lt;&amp;gt; (&#39;IncidentStatusEnum.Closed&#39;)&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Another Incident List without a Hyperlink&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
/****** Object: &amp;nbsp;View [dbo].[Custom_IncidentList] &amp;nbsp; &amp;nbsp;Script Date: 08/29/2011 13:16:37 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
CREATE VIEW [dbo].[Custom_IncidentList]&lt;br /&gt;
&amp;nbsp;AS&lt;br /&gt;
&lt;br /&gt;
Select &lt;br /&gt;
I.BaseManagedEntityId as IncidentGUID,&lt;br /&gt;
I.Id as IncidentId,&lt;br /&gt;
I.CreatedDate,&lt;br /&gt;
IncidentStatusString.DisplayName as &#39;Status&#39;,&lt;br /&gt;
IncidentClassString.DisplayName &amp;nbsp;as &#39;Classification&#39;,&lt;br /&gt;
I.Title, I.Description, Escalated,&lt;br /&gt;
IncidentImpactString.DisplayName as Impact,&lt;br /&gt;
IncidentUrgencyString.DisplayName as Urgency,&lt;br /&gt;
Priority,&lt;br /&gt;
IncidentResCatString.DisplayName as ResolutionCategory,&lt;br /&gt;
ResolutionDescription,&lt;br /&gt;
TargetResolutionTime,&lt;br /&gt;
AffectedUser.FirstName as AffectedUserFirstName, AffectedUser.LastName as AffectedUserLastName, AffectedUser.DisplayName as AffectedUserDisplayName, AffectedUser.UserName as AffectedUserName,&lt;br /&gt;
ContactMethod as AffectedUserContactMethod,&lt;br /&gt;
AssignedUser.FirstName as AssignedUserFirstName, AssignedUser.LastName as AssignedUserLastName, AssignedUser.DisplayName as AssignedUserDisplayName, AssignedUser.UserName as AssignedUserName,&lt;br /&gt;
CreatedByUser.FirstName as CreatedByUserFirstName, CreatedByUser.LastName as CreatedByUserLastName, CreatedByUser.DisplayName as CreatedByUserDisplayName, CreatedByUser.UserName as CreatedByUserName&lt;br /&gt;
FROM dbo.IncidentDimvw I With (NOLOCK)&lt;br /&gt;
Join WorkItemDimvw WI &amp;nbsp;With (NOLOCK) on I.BaseManagedEntityId = WI.BaseManagedEntityId&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentStatusvw S &amp;nbsp;With (NOLOCK) on I.Status_IncidentStatusId = s.IncidentStatusId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentStatusString on S.EnumTypeId = IncidentStatusString.BaseManagedEntityId and IncidentStatusString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentClassificationvw C on I.Classification_IncidentClassificationId = C.IncidentClassificationId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentClassString on C.EnumTypeId = IncidentClassString.BaseManagedEntityId and IncidentClassString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentImpactvw Impact on I.Impact_IncidentImpactId = Impact.IncidentImpactId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentImpactString on Impact.EnumTypeId = IncidentImpactString.BaseManagedEntityId and IncidentImpactString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentUrgencyvw Urgency on I.Urgency_IncidentUrgencyId = Urgency.IncidentUrgencyId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentUrgencyString on Urgency.EnumTypeId = IncidentUrgencyString.BaseManagedEntityId and IncidentUrgencyString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
LEFT Join IncidentResolutionCategoryvw ResCat on I.ResolutionCategory_IncidentResolutionCategoryId = ResCat.IncidentResolutionCategoryId&lt;br /&gt;
LEFT Join dbo.DisplayStringDimvw as IncidentResCatString on ResCat.EnumTypeId = IncidentResCatString.BaseManagedEntityId and IncidentResCatString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAffectedUserFactvw WIAF on WI.WorkItemDimKey = WIAF.WorkItemDimKey and WIAF.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AffectedUser on WIAF.WorkItemAffectedUser_UserDimKey = AffectedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAssignedToUserFactvw WIAT on WI.WorkItemDimKey = WIAT.WorkItemDimKey and WIAT.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AssignedUser on WIAT.WorkItemAssignedToUser_UserDimKey = AssignedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemCreatedByUserFactvw WICB on WI.WorkItemDimKey = WICB.WorkItemDimKey and WICB.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw CreatedByUser on WICB.WorkItemCreatedByUser_UserDimKey = CreatedByUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Where 1=1&lt;br /&gt;
--and I.Id = &#39;IR124&#39;&lt;br /&gt;
--and (&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;
--&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;AffectedUser.UserName = &#39;Brody_Kilpatrick&#39; OR&lt;br /&gt;
--&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Assigneduser.UserName = &#39;Brody_Kilpatrick&#39; OR&lt;br /&gt;
--&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;CreatedByUser.UserName = &#39;Brody_Kilpatrick&#39;&lt;br /&gt;
--&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;
and Status &amp;lt;&amp;gt; (&#39;IncidentStatusEnum.Closed&#39;)&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Change Requests&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
/****** Object: &amp;nbsp;View [dbo].[Custom_ChangeList] &amp;nbsp; &amp;nbsp;Script Date: 08/29/2011 13:16:37 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
CREATE VIEW [dbo].[Custom_ChangeList]&lt;br /&gt;
&amp;nbsp;AS&lt;br /&gt;
&amp;nbsp;Select &lt;br /&gt;
CR.BaseManagedEntityId ChangeGUID,&lt;br /&gt;
CR.ID ChangeRequestId,&lt;br /&gt;
&#39;https://servicemanagerdev/enduser/RequestDetails.aspx?RequestsId=&#39; + Convert(varchar(50),CR.BaseManagedEntityId) + &#39;&amp;amp;RequestType=changeRequest&#39;&lt;br /&gt;
AS EndUserPortalLink,&lt;br /&gt;
&#39;https://servicemanagerdev/analyst/ChangeRequestDetails.aspx?CRID=&#39; + CONVERT(varchar(50),CR.ID)&lt;br /&gt;
AS AnalystPortalLink,&lt;br /&gt;
CR.ActualStartDate,&lt;br /&gt;
CR.ActualEndDate,&lt;br /&gt;
CR.CreatedDate,&lt;br /&gt;
CR.Description,&lt;br /&gt;
CR.Notes,&lt;br /&gt;
CR.PostImplementationReview,&lt;br /&gt;
CR.Reason,&lt;br /&gt;
CR.RequiredByDate,&lt;br /&gt;
CR.Title,&lt;br /&gt;
CAString.DisplayName Area,&lt;br /&gt;
CCString.DisplayName Category,&lt;br /&gt;
CIString.DisplayName Impact,&lt;br /&gt;
CImpString.DisplayName ImplementationResults,&lt;br /&gt;
CPString.DisplayName Priority,&lt;br /&gt;
CRiskString.DisplayName Risk,&lt;br /&gt;
CSString.DisplayName &#39;Status&#39;,&lt;br /&gt;
&lt;br /&gt;
AffectedUser.FirstName as AffectedUserFirstName, AffectedUser.LastName as AffectedUserLastName, AffectedUser.DisplayName as AffectedUserDisplayName, AffectedUser.UserName as AffectedUserName,&lt;br /&gt;
ContactMethod as AffectedUserContactMethod,&lt;br /&gt;
AssignedUser.FirstName as AssignedUserFirstName, AssignedUser.LastName as AssignedUserLastName, AssignedUser.DisplayName as AssignedUserDisplayName, AssignedUser.UserName as AssignedUserName,&lt;br /&gt;
CreatedByUser.FirstName as CreatedByUserFirstName, CreatedByUser.LastName as CreatedByUserLastName, CreatedByUser.DisplayName as CreatedByUserDisplayName, CreatedByUser.UserName as CreatedByUserName&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FROM dbo.ChangeRequestDimvw CR&lt;br /&gt;
Join dbo.WorkItemDimvw WI on CR.BaseManagedEntityId = WI.BaseManagedEntityId&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAffectedUserFactvw WIAF on WI.WorkItemDimKey = WIAF.WorkItemDimKey and WIAF.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AffectedUser on WIAF.WorkItemAffectedUser_UserDimKey = AffectedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAssignedToUserFactvw WIAT on WI.WorkItemDimKey = WIAT.WorkItemDimKey and WIAT.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AssignedUser on WIAT.WorkItemAssignedToUser_UserDimKey = AssignedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemCreatedByUserFactvw WICB on WI.WorkItemDimKey = WICB.WorkItemDimKey and WICB.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw CreatedByUser on WICB.WorkItemCreatedByUser_UserDimKey = CreatedByUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Left Join ChangeAreavw CA &amp;nbsp;With (NOLOCK) on CR.Area_ChangeAreaId = CA.ChangeAreaId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CAString on CA.EnumTypeId = CAString.BaseManagedEntityId and CAString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ChangeCategoryvw CC &amp;nbsp;With (NOLOCK) on CR.Category_ChangeCategoryId = CC.ChangeCategoryId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CCString on CC.EnumTypeId = CCString.BaseManagedEntityId and CCString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ChangeImpactvw CI &amp;nbsp;With (NOLOCK) on CR.Impact_ChangeImpactId = CI.ChangeImpactId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CIString on CI.EnumTypeId = CIString.BaseManagedEntityId and CIString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ChangeImplementationResultsvw CImp &amp;nbsp;With (NOLOCK) on CR.ImplementationResults_ChangeImplementationResultsId = CImp.ChangeImplementationResultsId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CImpString on CImp.EnumTypeId = CImpString.BaseManagedEntityId and CImpString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ChangePriorityvw CP &amp;nbsp;With (NOLOCK) on CR.Priority_ChangePriorityId = CP.ChangePriorityId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CPString on CP.EnumTypeId = CPString.BaseManagedEntityId and CPString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ChangeRiskvw CRisk &amp;nbsp;With (NOLOCK) on CR.Risk_ChangeRiskId = CRisk.ChangeRiskId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CRiskString on CRisk.EnumTypeId = CRiskString.BaseManagedEntityId and CRiskString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ChangeStatusvw CS &amp;nbsp;With (NOLOCK) on CR.Status_ChangeStatusId = CS.ChangeStatusId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as CSString on CS.EnumTypeId = CSString.BaseManagedEntityId and CSString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
GO&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;All Activity List&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
/****** Object: &amp;nbsp;View [dbo].[Custom_ActivityList] &amp;nbsp; &amp;nbsp;Script Date: 08/29/2011 13:16:37 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
CREATE VIEW [dbo].[Custom_ActivityList]&lt;br /&gt;
&amp;nbsp;AS&lt;br /&gt;
&amp;nbsp;Select&lt;br /&gt;
A.BaseManagedEntityId ActivityGUID,&lt;br /&gt;
A.Id ActivityId,&lt;br /&gt;
Case When ra.ActivityId IS NULL&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Then &#39;https://servicemanagerdev/analyst/ManualActivityDetails.aspx?AID=&#39; + CONVERT(varchar(50),A.Id)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Else &#39;https://servicemanagerdev/analyst/ReviewActivityDetails.aspx?AID=&#39; + CONVERT(varchar(50),A.Id) &lt;br /&gt;
End ActivityLink,&lt;br /&gt;
A.Title,&lt;br /&gt;
ActualStartDate,&lt;br /&gt;
ActualEndDate,&lt;br /&gt;
A.CreatedDate,&lt;br /&gt;
A.Description,&lt;br /&gt;
A.Notes,&lt;br /&gt;
ScheduledStartDate,&lt;br /&gt;
ScheduledEndDate,&lt;br /&gt;
&lt;br /&gt;
AssignedUser.FirstName as AssignedUserFirstName, AssignedUser.LastName as AssignedUserLastName, AssignedUser.DisplayName as AssignedUserDisplayName, AssignedUser.UserName as AssignedUserName,&lt;br /&gt;
CreatedByUser.FirstName as CreatedByUserFirstName, CreatedByUser.LastName as CreatedByUserLastName, CreatedByUser.DisplayName as CreatedByUserDisplayName, CreatedByUser.UserName as CreatedByUserName,&lt;br /&gt;
&lt;br /&gt;
AAString.DisplayName Area,&lt;br /&gt;
APString.DisplayName Priority,&lt;br /&gt;
AStageString.DisplayName Stage,&lt;br /&gt;
AStatusString.DisplayName &#39;Status&#39;&lt;br /&gt;
&lt;br /&gt;
FROM dbo.ActivityDimvw A&lt;br /&gt;
Join WorkItemDimvw WI on A.BaseManagedEntityId = WI.BaseManagedEntityId&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemAssignedToUserFactvw WIAT on WI.WorkItemDimKey = WIAT.WorkItemDimKey and WIAT.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw AssignedUser on WIAT.WorkItemAssignedToUser_UserDimKey = AssignedUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
Left Join WorkItemCreatedByUserFactvw WICB on WI.WorkItemDimKey = WICB.WorkItemDimKey and WICB.DeletedDate IS NULL&lt;br /&gt;
Left Join UserDimvw CreatedByUser on WICB.WorkItemCreatedByUser_UserDimKey = CreatedByUser.UserDimKey&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityAreavw AA &amp;nbsp;With (NOLOCK) on A.Area_ActivityAreaId= AA.ActivityAreaId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as AAString on AA.EnumTypeId = AAString.BaseManagedEntityId and AAString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityPriorityvw AP &amp;nbsp;With (NOLOCK) on A.Priority_ActivityPriorityId = AP.ActivityPriorityId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as APString on AP.EnumTypeId = APString.BaseManagedEntityId and APString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityStagevw AStage &amp;nbsp;With (NOLOCK) on A.Stage_ActivityStageId = AStage.ActivityStageId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as AStageString on AStage.EnumTypeId = AStageString.BaseManagedEntityId and AStageString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join ActivityStatusvw AStatus &amp;nbsp;With (NOLOCK) on A.Status_ActivityStatusId = AStatus.ActivityStatusId&lt;br /&gt;
Left Join dbo.DisplayStringDimvw as AStatusString on AStatus.EnumTypeId = AStatusString.BaseManagedEntityId and AStatusString.LanguageCode = &#39;ENU&#39;&lt;br /&gt;
&lt;br /&gt;
Left Join Custom_ReviewActivityList ra on A.Id = ra.ActivityId&lt;br /&gt;
GO&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/192522095609491514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/here-are-some-useful-scsm-datamart.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/192522095609491514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/192522095609491514'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/here-are-some-useful-scsm-datamart.html' title='Here are some useful SCSM DataMart Views'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-3921386171200164163</id><published>2011-08-16T12:42:00.000-05:00</published><updated>2011-08-16T12:42:20.094-05:00</updated><title type='text'>Manual enable of Registered Servers - The IT-Toolbox</title><content type='html'>&lt;a href=&quot;http://itbloggen.se/cs/blogs/alexanderaxberg/archive/2011/01/16/manual-enable-of-registered-servers.aspx&quot;&gt;Manual enable of Registered Servers - The IT-Toolbox&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/3921386171200164163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/manual-enable-of-registered-servers-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/3921386171200164163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/3921386171200164163'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/manual-enable-of-registered-servers-it.html' title='Manual enable of Registered Servers - The IT-Toolbox'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-6494070125230323044</id><published>2011-08-06T09:15:00.000-05:00</published><updated>2011-08-06T09:15:49.827-05:00</updated><title type='text'>Notifying Analysts when Action Log was updated | SCSMfaq.ch</title><content type='html'>&lt;a href=&quot;http://blog.scsmfaq.ch/2011/08/06/notifying-analysts-when-action-log-was-updated/#more-1067&quot;&gt;Notifying Analysts when Action Log was updated | SCSMfaq.ch&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/6494070125230323044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/notifying-analysts-when-action-log-was.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6494070125230323044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/6494070125230323044'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/notifying-analysts-when-action-log-was.html' title='Notifying Analysts when Action Log was updated | SCSMfaq.ch'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3015909992349113025.post-7143055792747300351</id><published>2011-08-05T19:35:00.000-05:00</published><updated>2011-08-05T19:35:37.749-05:00</updated><title type='text'>Backing up Management packs when they&#39;re modified</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;i&gt;(Courtesy of my Co-worker and friend Thomas Bianco)&lt;/i&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 21px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #4c4c4c; font-family: monospace; font-size: 11px; line-height: 18px; white-space: pre;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #4c4c4c; font-family: monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 11px; line-height: 18px; white-space: pre;&quot;&gt;So i&#39;m warping up the SCSM project at my client, and one of the value add deliverables i wanted to include was an automatic way to backup their configuration in case they modifiy it later and break something. googling around i found This script to backup management packs, but that&#39;s not really what I wanted to do. Some quick modifications and I ended up with this script:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #4c4c4c; font-family: monospace; font-size: 11px; line-height: 18px; white-space: pre;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #4c4c4c; font-family: monospace; font-size: 11px; line-height: 18px; white-space: pre;&quot;&gt;Import-module SMLets&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #4c4c4c; font-family: verdana; font-size: 11px; line-height: 18px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;#discover if anything is modified today
$today = Get-Date(&quot;{0} 00:00:00&quot; -f (get-date).ToShortDateString()); 
if (Get-SCSMManagementPack | where-object {$_.LastModified -ge $today}) {
    
    #Inscope Definitions
    $OutPutDir = &quot;C:\Management Packs\UnsealedBackups\&quot;;
    $UnsealedMPs = Get-SCSMManagementPack | ?{ ! $_.Sealed };
    [string]$CurrentDate = Get-Date -uformat &quot;%Y\%m\%d-%A&quot;;
    $CompletePath = ($OutPutDir + $CurrentDate);

    if ( ! (test-path  $CompletePath)) {
        $output = New-Item -Type Directory -Name $CurrentDate -Path $OutPutDir;
    };
    
    $UnsealedMPs | Foreach-Object {
        &quot;   Exporting: {0}&quot; -f $_.Name;
        $_ | Export-SCSMManagementPack -targetdirectory &quot;$CompletePath&quot;;
    };
};
Remove-module SMLets -force;
&lt;/pre&gt;Then i scheduled a task to run it every night at 9:00 PM Local time.&lt;br /&gt;
&lt;br /&gt;
powershell.exe -command &quot;&amp;amp; &#39;C:\Windows\System32\WindowsPowerShell\v1.0\Examples\Backup-SCSMUnsealedMPs.ps1&#39; &quot;&lt;br /&gt;
The bonus on this is that the backup will only be created if any pack was changed today, and you get a nice sorted tree by year\month\date-day&lt;br /&gt;
&lt;img alt=&quot;2011\08\05-Friday&quot; src=&quot;https://portal.sparkhound.com/Departments/CoreInfrastructure/CIBlogs/Lists/Photos/SCSMBackupUMPsTree.gif&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemcenterservicemanager.blogspot.com/feeds/7143055792747300351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/backing-up-management-packs-when-theyre.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/7143055792747300351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3015909992349113025/posts/default/7143055792747300351'/><link rel='alternate' type='text/html' href='http://systemcenterservicemanager.blogspot.com/2011/08/backing-up-management-packs-when-theyre.html' title='Backing up Management packs when they&#39;re modified'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>