<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Jonathan Almquist on Operations Manager</title><subtitle type="html" /><id>http://blogs.technet.com/b/jonathanalmquist/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/b/jonathanalmquist/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2011-04-12T18:13:33Z</updated><entry><title>Moving to a new blog space</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2012/02/02/moving-to-a-new-blog-space.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2012/02/02/moving-to-a-new-blog-space.aspx</id><published>2012-02-02T16:24:00Z</published><updated>2012-02-02T16:24:00Z</updated><content type="html">Hi everyone. Just wanted to inform anyone that currently subscribes to this blog to add a new blog to your RSS reader. I will no longer be posting here. I&amp;rsquo;ve already added a couple of postings to the new blog, and have transferred some of the more popular posts to the new one. 
 The new space is not exactly ready yet - still haven't a good title or anything. But it's live. 
 Comments here will no longer be moderated here. 
 Thanks for your readership here. Looking forward to writing some...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2012/02/02/moving-to-a-new-blog-space.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3478559" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Management Group Performance Evaluation and Tuning Reports</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2012/01/28/management-group-performance-evaluation-and-tuning-reports.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2012/01/28/management-group-performance-evaluation-and-tuning-reports.aspx</id><published>2012-01-28T16:43:15Z</published><updated>2012-01-28T16:43:15Z</updated><content type="html">I created a small management pack a couple years ago to help identify performance bottlenecks in an Operations Manager 2007 R2 environment.&amp;#160; It started with a couple collection rules targeting the core SCOM server roles.&amp;#160; I would then query the database and paste results into an Excel spreadsheet.&amp;#160; Evaluating all the data and formatting the spreadsheet was a big undertaking, but provided insightful information into the overall management group performance. &amp;#160; Since then I included...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2012/01/28/management-group-performance-evaluation-and-tuning-reports.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3477635" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Custom Reports" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Custom+Reports/" /><category term="Performance Tips" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Performance+Tips/" /><category term="Tuning" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Tuning/" /></entry><entry><title>How to install Operations Manager 2012 single server configuration from the command prompt</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2012/01/19/how-to-install-operations-manager-2012-single-server-configuration-from-the-command-prompt.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2012/01/19/how-to-install-operations-manager-2012-single-server-configuration-from-the-command-prompt.aspx</id><published>2012-01-19T21:30:00Z</published><updated>2012-01-19T21:30:00Z</updated><content type="html">I was reading the Operations Manager 2012 RC documentation today and thought this was interesting enough to put up here. For those of you that might need to save some time building out a lab or two, this can be handy. 
 
 1. Log on to the server by using an account that has local administrative credentials. 
 
 2. Open the Command Prompt window by using the Run as Administrator option. 
 Note: Setup.exe requires administrator privileges because the Setup process requires access to system processes...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2012/01/19/how-to-install-operations-manager-2012-single-server-configuration-from-the-command-prompt.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3476361" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="SCOM 2012" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/SCOM+2012/" /></entry><entry><title>Cookdown example - between two or more workflows</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/11/17/cookdown-example-between-two-or-more-workflows.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/11/17/cookdown-example-between-two-or-more-workflows.aspx</id><published>2011-11-17T09:03:30Z</published><updated>2011-11-17T09:03:30Z</updated><content type="html">Thought I would do something useful while sitting on the airplane today and write up a cookdown example expanding from my last post .&amp;#160; This will be as straight forward as possible with mostly just screenshots of the steps I took to share a data source between more than one monitoring workflow. &amp;#160; In this example, I’ll show how to share a data source between a monitor and a performance collection rule, as depicted in this workflow .&amp;#160; The scenario is to count files in a directory.&amp;#160;...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/11/17/cookdown-example-between-two-or-more-workflows.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3465749" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /></entry><entry><title>Cookdown</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/11/08/cookdown-in-system-center-operations-manager.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/11/08/cookdown-in-system-center-operations-manager.aspx</id><published>2011-11-09T04:11:00Z</published><updated>2011-11-09T04:11:00Z</updated><content type="html">I recently did a presentation in which the scenario was cooking down a data source. I ended up created these visual aids in Visio on the plane. I hope they might help others out there understand cookdown. 
 Other resources 
 http://technet.microsoft.com/en-us/library/ff381335.aspx 
 http://myitforum.com/cs2/blogs/vdipippo/pages/workflow-cook-down-in-operations-manager-2007.aspx 
 http://nocentdocent.wordpress.com/category/scom/cookdown/ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 #cookdown in system...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/11/08/cookdown-in-system-center-operations-manager.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3464068" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /></entry><entry><title>Pulling back groups for use in a report drop-down list (group picker)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/09/23/pulling-back-groups-for-use-in-a-report-drop-down-list-group-picker.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/09/23/pulling-back-groups-for-use-in-a-report-drop-down-list-group-picker.aspx</id><published>2011-09-23T19:22:00Z</published><updated>2011-09-23T19:22:00Z</updated><content type="html">There are a couple different ways to include a group picker list in your custom report. One way is to use the built-in report controls included in the SCOM reporting framework. Personally, I have found these controls to be tricky to implement and not quite as flexible to use as a universal implementation for any type of object or monitoring data. This may just be due to my lack of experience with the built-in reporting controls, but I&amp;rsquo;ve found another way to create a group picker control that...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/09/23/pulling-back-groups-for-use-in-a-report-drop-down-list-group-picker.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3455245" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>List of supported network devices in Operations Manager 2012</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/11/list-of-supported-network-devices-in-operations-manager-2012.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/11/list-of-supported-network-devices-in-operations-manager-2012.aspx</id><published>2011-08-11T20:30:46Z</published><updated>2011-08-11T20:30:46Z</updated><content type="html">This question came in today and Vishnu Nath, Program Manager at Microsoft, gave a very concise answer.&amp;#160; This made for an excellent blog post! “In Operations Manager 2012 we support monitoring of network devices that support SNMP.&amp;#160; Port monitoring is available for devices that have implemented the interface MIB ( RFC 2863 ) and MIB-II ( RFC 1213 ) standards.&amp;#160; In addition, we support peripheral monitoring including Processor and Memory monitoring on a subset of devices, the exact devices...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/11/list-of-supported-network-devices-in-operations-manager-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3446617" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="SCOM 2012" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/SCOM+2012/" /></entry><entry><title>Solving the problem of automated distribution of credentials (literal expression)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/solving-the-problem-of-automated-distribution-of-credentials-literal-expression.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/solving-the-problem-of-automated-distribution-of-credentials-literal-expression.aspx</id><published>2011-08-06T03:37:00Z</published><updated>2011-08-06T03:37:00Z</updated><content type="html">This is a continuation of a previous post . The only difference is this accepts a literal expression, rather than a group system name. 
 As with the other script example, there is no reverse action. If you specify a group that contains hundreds of windows computer objects and it was a mistake, you'll have to manually delete hundreds of health service instances from your secure distribution in the Run As Account. 
 The script accepts the below parameters &amp;ndash; all are required. First set of variables...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/solving-the-problem-of-automated-distribution-of-credentials-literal-expression.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3445474" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Powershell" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Powershell/" /><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /></entry><entry><title>Solving the problem of automated distribution of credentials (group criteria)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/solving-the-problem-of-automated-distributing-of-credentials-group-criteria.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/solving-the-problem-of-automated-distributing-of-credentials-group-criteria.aspx</id><published>2011-08-06T03:30:00Z</published><updated>2011-08-06T03:30:00Z</updated><content type="html">It&amp;rsquo;s possible to leverage a powershell script in a composite write action to distribute credentials to a health service. The following example will distribute the specified credentials to health services instances derived from a group of windows computer objects. 
 Instance groups containing other types may not work as expected without modifying the code. Also, group system name must be used in this script. I decided to use group system name to foster accountability in the implemention, which...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/solving-the-problem-of-automated-distributing-of-credentials-group-criteria.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3445473" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Powershell" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Powershell/" /><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /></entry><entry><title>Return all dirty aggregations in last X days</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/return-all-dirty-aggregations-in-last-x-days.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/return-all-dirty-aggregations-in-last-x-days.aspx</id><published>2011-08-05T17:04:24Z</published><updated>2011-08-05T17:04:24Z</updated><content type="html">/*Return all dirty aggregations in last X days*/ 
 

 DECLARE @Days AS int 
 

 SET @Days = 1 --number of days to go back 
 

 SELECT DS.DatasetDefaultName, 
 

 CASE SDAH.AggregationTypeId 
 

 WHEN 0 THEN 'Raw' WHEN 20 THEN 'Hourly' WHEN 30 THEN 'Daily' ELSE 'Unknown' 
 

 END AS Type, 
 

 SDAH.AggregationDateTime, 
 

 DATEADD(HH, (datediff(HH, getutcdate(), getdate())), SDAH.AggregationDateTime) AS [ LocalTime ], 
 

 SDAH.DirtyInd, 
 

 SDAH.AggregationCount ...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/return-all-dirty-aggregations-in-last-x-days.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3445394" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="TSQL (misc)" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/TSQL+_2800_misc_2900_/" /></entry><entry><title>Count dirty aggregations in last X days</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/count-dirty-aggregations-in-last-x-days.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/count-dirty-aggregations-in-last-x-days.aspx</id><published>2011-08-05T17:03:33Z</published><updated>2011-08-05T17:03:33Z</updated><content type="html">/*Count dirty aggregations in last X days*/ 
 

 DECLARE @Days AS int 
 

 SET @Days = 1 --number of days to go back 
 

 SELECT Count (*) AS [Failed], 
 

 DS.DatasetDefaultName AS [Dataset], 
 

 CASE SDAH.AggregationTypeId 
 

 WHEN 0 THEN 'Raw' WHEN 20 THEN 'Hourly' WHEN 30 THEN 'Daily' ELSE 'Unknown' 
 

 END AS [Type] 
 

 FROM Dataset AS DS INNER JOIN 
 

 StandardDatasetAggregationHistory AS SDAH ON SDAH.DatasetId = DS.DatasetId 
 

 WHERE SDAH.DirtyInd &amp;lt;&amp;gt;...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/05/count-dirty-aggregations-in-last-x-days.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3445393" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="TSQL (misc)" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/TSQL+_2800_misc_2900_/" /></entry><entry><title>Transport latency impacted - 99th percentile of messages not meeting SLA over last 30 min - Red(&gt;90)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/04/transport-latency-impacted-99th-percentile-of-messages-not-meeting-sla-over-last-30-min-red-gt-90.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/04/transport-latency-impacted-99th-percentile-of-messages-not-meeting-sla-over-last-30-min-red-gt-90.aspx</id><published>2011-08-04T21:45:48Z</published><updated>2011-08-04T21:45:48Z</updated><content type="html">New article in the Exchange 2010 MP online library recently.&amp;#160; Read more about it here: http://technet.microsoft.com/en-us/library/ff360301(EXCHG.140).aspx Taken from the article: Explanation This Error event indicates that end-to-end e-mail message flow is taking longer than 90 seconds for more than percent of all messages that have been handled over the previous 30 minutes. This event may be triggered when one or more of the following conditions are true: A networking issue exists. The Microsoft...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/04/transport-latency-impacted-99th-percentile-of-messages-not-meeting-sla-over-last-30-min-red-gt-90.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3445206" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Exchange 2010 MP" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Exchange+2010+MP/" /></entry><entry><title>Set management server list for agent</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/03/set-management-server-list-for-agent.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/03/set-management-server-list-for-agent.aspx</id><published>2011-08-03T15:16:31Z</published><updated>2011-08-03T15:16:31Z</updated><content type="html">Noticed I didn’t have an agent-specific one to reference – here it is. #Assign agents a management server failover list 
 

 $primaryMS = Get -ManagementServer | where {$_.Name –eq '&amp;lt;MS1_FQDN&amp;gt;'} 
 

 $failoverMS = Get -ManagementServer | where {$_.Name –eq '&amp;lt;MS2_FQDN&amp;gt;'} 
 

 $agent = Get -Agent | where {&amp;lt;add some criteria here&amp;gt;} 
 

 Set -ManagementServer -AgentManagedComputer: $agent -PrimaryManagementServer: $primaryMS -FailoverServer: $failoverMS...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/03/set-management-server-list-for-agent.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3444900" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Can the SCOM databases share a SQL instance with other databases?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/01/can-the-scom-databases-share-a-sql-instance-with-other-databases.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/01/can-the-scom-databases-share-a-sql-instance-with-other-databases.aspx</id><published>2011-08-01T23:54:00Z</published><updated>2011-08-01T23:54:00Z</updated><content type="html">Just wanted to answer this question here as a pointer for later reference. But b efore I continue, I want to mention that this is from the perspective of SCOM. You&amp;rsquo;ll need to read documentation of your specific application before collocating your other database with the SCOM db&amp;rsquo;s. 
 
 
 The biggest concern will be one of performance. There are many contributing factors to deciding whether this will provide acceptable performance &amp;ndash; hardware, configuration of disks, configuration...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/08/01/can-the-scom-databases-share-a-sql-instance-with-other-databases.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3444594" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Performance Tips" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Performance+Tips/" /></entry><entry><title>Why is my custom report displaying deleted objects or groups?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/07/16/why-is-my-custom-report-displaying-deleted-objects-or-groups.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/07/16/why-is-my-custom-report-displaying-deleted-objects-or-groups.aspx</id><published>2011-07-16T15:23:23Z</published><updated>2011-07-16T15:23:23Z</updated><content type="html">Here’s a fairly common stumbling block when creating custom reports, so I wanted to share this quick tip. Discovered inventory will stay in the data warehouse for 400 days, by default, at which time these items will be deleted.&amp;#160; In the interim, these objects will stick around and often times the report author doesn’t realize they need to filter out objects that have been marked for deletion.&amp;#160; You'll need to make sure you're not selecting objects that are marked for deletion when creating...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/07/16/why-is-my-custom-report-displaying-deleted-objects-or-groups.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3442016" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Custom Reports" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Custom+Reports/" /></entry><entry><title>Windows Service Monitoring (reduce false alerts…part 2)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/24/windows-service-monitoring-reduce-false-alerts-part-2.aspx" /><link rel="enclosure" type="text/xml" length="7885" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-43-74-46/My.New.Windows.Service.Monitors.xml" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/24/windows-service-monitoring-reduce-false-alerts-part-2.aspx</id><published>2011-06-25T04:38:00Z</published><updated>2011-06-25T04:38:00Z</updated><content type="html">Shortly after posting the sample Windows service monitoring library , I realized a &amp;ldquo;short&amp;rdquo; follow-up article was in order to explain how to use the monitor types defined in the library. 
 
 First and foremost, any management pack that includes discoveries, rules or monitors should be sealed. The reason behind sealing the types of management packs is to retain version control of the MP. Without version control, anyone with the privilege to modify these workflows in the Operations Console...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/24/windows-service-monitoring-reduce-false-alerts-part-2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3437446" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /></entry><entry><title>Microsoft.SystemCenter.WebApplication.WebApplicationData (URL Probe Runtime Output)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/22/microsoft-systemcenter-webapplication-webapplicationdata-url-probe-runtime-output.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/22/microsoft-systemcenter-webapplication-webapplicationdata-url-probe-runtime-output.aspx</id><published>2011-06-23T01:33:51Z</published><updated>2011-06-23T01:33:51Z</updated><content type="html">I was recently working with the Microsoft.SystemCenter.WebApplication.UrlProbe module and wanted to know exactly what I could pass through an expression filter and potentially include in an alert description.&amp;#160; It’s easy enough to get this after creating a monitor and simulating the workflow, but sometimes this information is needed while authoring new composites/types.&amp;#160; Of course, this is before any opportunity to simulate the monitoring workflow. So, just as a reference, I am posting this...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/22/microsoft-systemcenter-webapplication-webapplicationdata-url-probe-runtime-output.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3436978" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Windows Service Monitoring (reduce false alerts with consecutive sample module)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/21/windows-service-monitoring-reduce-false-alerts-with-consecutive-sample-module.aspx" /><link rel="enclosure" type="text/xml" length="14551" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-43-67-13/Service.Monitoring.Library.xml" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/21/windows-service-monitoring-reduce-false-alerts-with-consecutive-sample-module.aspx</id><published>2011-06-21T22:24:00Z</published><updated>2011-06-21T22:24:00Z</updated><content type="html">Sometimes customers need to create their own Windows service monitors. This usually leads them to the Windows Service wizard in the Operations Console . 
 
 There is nothing wrong with using the wizard, but let me tell you about one of the drawbacks with using the wizard to create your service monitors. The resultant monitor will check if the service is running at an interval. If it is detected that the service is not running for a single sample, the monitor changes state and generates an alert...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/21/windows-service-monitoring-reduce-false-alerts-with-consecutive-sample-module.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3436713" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /></entry><entry><title>Monitoring all services on all computers (service outage report)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/11/monitoring-all-services-on-all-computers-service-outage-report.aspx" /><link rel="enclosure" type="text/xml" length="95347" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-43-49-24/Stopped.Services.Collection.Reporting.xml" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/11/monitoring-all-services-on-all-computers-service-outage-report.aspx</id><published>2011-06-11T17:26:00Z</published><updated>2011-06-11T17:26:00Z</updated><content type="html">Occasionally customers will ask how we can monitor all services that are configured to automatically start on all agent-managed computers. This is a good question and one that does have some merit. I n reality, this can be a challenge coming up with the right solution. 
 
 To get state of all services running on all monitored computers would increase the management group instance space significantly, because we would need to discover every service on every computer. This is something I would stay...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/06/11/monitoring-all-services-on-all-computers-service-outage-report.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3434924" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Authoring" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Authoring/" /><category term="Custom Reports" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Custom+Reports/" /></entry><entry><title>Heartbeat Failure and Failed to Connect Alerts with Duration</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/05/13/heartbeat-failure-and-failed-to-connect-alerts-with-duration.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/05/13/heartbeat-failure-and-failed-to-connect-alerts-with-duration.aspx</id><published>2011-05-14T02:35:19Z</published><updated>2011-05-14T02:35:19Z</updated><content type="html">I find this especially useful in determining out of box heartbeat settings, since the default 3 minutes is almost never an optimal setting.&amp;#160; Without the information returned from this query, I generally suggest 9 minutes out of box (adjusting the agent interval from 60 to 180 seconds). /* 
 

 Heartbeat Failure and Failed to Connect with Duration 
 

 Jonathan Almquist (http://blogs.technet.com/b/jonathanalmquist/) 
 

 05-13-2011 
 

 */ 
 

 &amp;#160; 
 

 DECLARE @MGID AS INT...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/05/13/heartbeat-failure-and-failed-to-connect-alerts-with-duration.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3429170" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Report Datasets" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Report+Datasets/" /></entry><entry><title>Powershell Scripts - Illegal Variable Name</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/05/06/powershell-script-variable-illegal-variable-name.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/05/06/powershell-script-variable-illegal-variable-name.aspx</id><published>2011-05-06T16:44:19Z</published><updated>2011-05-06T16:44:19Z</updated><content type="html">Just figured out this annoying issue I have seen come up many times while saving Powershell script workflows. For some reason, I would get management pack validation exceptions when trying to save workflows in the Authoring Console. Note: The following information was gathered when the operation was attempted . The information may appear cryptic but provides context for the error . The application will continue to run . 
 

 &amp;#160; 
 

 : Verification failed with [1] errors: 
 

 ------...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/05/06/powershell-script-variable-illegal-variable-name.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3427260" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Now translated to 34 different languages!</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/30/now-translated-to-34-different-languages.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/30/now-translated-to-34-different-languages.aspx</id><published>2011-04-30T17:45:43Z</published><updated>2011-04-30T17:45:43Z</updated><content type="html">Since we migrated to a new platform in May, 2010, there are more options for us as bloggers to customize the readers’ experience.&amp;#160; I was making some changes to my blog recently and noticed we now have a translator widget available.&amp;#160; Not sure if this was an option from the start, but I didn’t notice it until a few days ago. I added the translator widget to all my pages, so almost everyone in the world will have access to these articles in their language.&amp;#160; Just look for the “Translate...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/30/now-translated-to-34-different-languages.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3425444" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>The threshold for the Logical Disk\Avg. Disk sec/Transfer performance counter has been exceeded</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/26/the-threshold-for-the-logical-disk-avg-disk-sec-transfer-performance-counter-has-been-exceeded.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/26/the-threshold-for-the-logical-disk-avg-disk-sec-transfer-performance-counter-has-been-exceeded.aspx</id><published>2011-04-26T22:01:04Z</published><updated>2011-04-26T22:01:04Z</updated><content type="html">If you see these alerts generated by your Windows 2008 and Windows 2008 R2 servers with unusually high values, this is due to an issue with the RegQueryValueEx function , which is used in the Average Disk Seconds Per Transfer monitor. For Windows 2008 R2, apply this hotfix: http://support.microsoft.com/kb/2470949 For Windows 2008, apply this hotfix: http://support.microsoft.com/kb/2495300 This is also referenced on Kevin Holman’s hotfix page (a must read for the SCOM administrator).&amp;#160; I’m also...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/26/the-threshold-for-the-logical-disk-avg-disk-sec-transfer-performance-counter-has-been-exceeded.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3424435" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Root Management Server Unavailable History with Reason</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/19/root-management-server-unavailable-history-with-reason.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/19/root-management-server-unavailable-history-with-reason.aspx</id><published>2011-04-19T14:59:00Z</published><updated>2011-04-19T14:59:00Z</updated><content type="html">/* 
 
 RMS Unavailable History with Reason 
 
 http://blogs.technet.com/b/jonathanalmquist/ 
 
 04-19-2011 
 
 Updated 04-20-2011 with outage durations dd:hh:mm 
 
 */ 
 
 SELECT 
 
 ME. Path , 
 
 HSO.StartDateTime AS OutageStartDateTime, 
 
 CAST (DATEDIFF( SECOND , HSO.StartDateTime, HSO.EndDateTime)/86400 AS VARCHAR (5)) + ':' + 
 
 CONVERT ( CHAR (5), DATEADD( SECOND , DATEDIFF( SECOND , HSO.StartDateTime, HSO.EndDateTime), '' ), 114) AS 'Duration (dd:hh:mm)' , 
 
 HSO...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/19/root-management-server-unavailable-history-with-reason.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3422780" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Report Datasets" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Report+Datasets/" /></entry><entry><title>Inventory and Configuration Reports</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/12/inventory-and-configuration-reports.aspx" /><id>http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/12/inventory-and-configuration-reports.aspx</id><published>2011-04-12T23:13:33Z</published><updated>2011-04-12T23:13:33Z</updated><content type="html">Someone asked today if there was a way to generate a report displaying inventory/configuration of SQL Server.&amp;#160; Chris Harris, SCOM Program Manager, answered the question with one of our built-in configuration reports.&amp;#160; He was so kind as to provide screenshots and everything, and indicated that someone should blog it.&amp;#160; So, here you go.&amp;#160; Thanks, Chris!&amp;#160; Credits go to you… Of course, this can be done with any discovered inventory in SCOM – not just SQL databases.&amp;#160; It’s a...(&lt;a href="http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/12/inventory-and-configuration-reports.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3421044" width="1" height="1"&gt;</content><author><name>Jonathan Almquist</name><uri>http://blogs.technet.com/jtalmquist/ProfileUrlRedirect.ashx</uri></author><category term="Custom Reports" scheme="http://blogs.technet.com/b/jonathanalmquist/archive/tags/Custom+Reports/" /></entry></feed>