<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Kevin Holman's OpsMgr Blog</title><link>http://blogs.technet.com/kevinholman/default.aspx</link><description>Posts in this blog are provided "AS IS" with no warranties, and confers no rights.  Use of included script samples are subject to the terms specified in the &lt;a
href="http://www.microsoft.com/info/cpyright.htm"&gt;Terms of Use&lt;/a&gt;
&lt;/BR&gt;
&lt;/BR&gt;
Are you interested in having a dedicated engineer that will be your Microsoft 'go to' technical resource, work with you on projects, provide training and also help troubleshoot problems that come up? Then Dedicated Support Engineering (DSE) is for you.  Learn more at &lt;a
href="http://www.microsoft.com/services/Microsoftservices/default.mspx"&gt;Microsoft Premier Services&lt;/a&gt; or contact your Technical Account Manager.

</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Making groups of logical disks – an example from simple to advanced</title><link>http://blogs.technet.com/kevinholman/archive/2009/11/05/making-groups-of-logical-disks-and-example-from-simple-to-advanced.aspx</link><pubDate>Thu, 05 Nov 2009 06:00:37 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3291597</guid><dc:creator>kevinhol</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3291597.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3291597</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3291597</wfw:comment><description>&lt;p&gt;I have been seeing this question come up a lot lately – as customers try and create groups of their disks – in order to create overrides for “certain” disks.&amp;#160; So – I am creating this post to give some real world examples.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well – I will start this simply.&amp;#160; Say we want to create a group of all logical disks, with the drive letters of C: and D:?&lt;/p&gt;  &lt;p&gt;I would start with creating a new group – and adding the “Windows Server 2003 Logical Disk” class.&amp;#160; Now – I could just use the parent class of “Logical Disk” instead of the OS specific class if I wanted.&amp;#160; The only issue with that is that most monitors targeting a disk – are OS specific – and duplicated three times.&amp;#160; So it is best to create specific groups for these – but totally not required.&lt;/p&gt;  &lt;p&gt;Ok – so in the Dynamic Members query builder – I click add, and pick a property.&amp;#160; Since I know “Device Name” contains the drive letter – this will do nicely.&amp;#160; I select device name “Equals” “C:”.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb.png" width="486" height="85" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now – I want to also include D:.&amp;#160; There are many way to do – this – and I will go through them.&amp;#160; First – I could simply Insert a new line for Windows Server 2003 Logical Disk – and replicate the line I have – adding one for D:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_2.png" width="484" height="107" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Only one problem – this is an “AND” grouping – I really need this to be an “OR” grouping to include both C: and D: drives.&amp;#160; You can switch this grouping the in UI, just right click the word “AND” and change it to an OR grouping:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_3.png" width="313" height="140" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Voila!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_4.png" width="471" height="114" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This formula now looks like:&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;( Object is Windows Server 2003 Logical Disk AND ( Device Name Equals C: ) OR ( Device Name Equals D: ) )&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Save your group – then right click it – and choose “View Group Members”.&amp;#160; This will ensure we are cooking with gas.&amp;#160; It should contain all your Windows 2003 based C: and D: volumes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_5.png" width="447" height="145" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So far – so good.&lt;/p&gt;  &lt;p&gt;Now – what if I &lt;strong&gt;&lt;em&gt;ONLY&lt;/em&gt;&lt;/strong&gt; want C: and D: disks, that are &lt;strong&gt;&lt;em&gt;HOSTED&lt;/em&gt;&lt;/strong&gt; by specific Windows Computers?&amp;#160; I can do that too!&amp;#160; Lets say I want a group – of all the C: and D: logical disks, on servers that begin with the name “SR______”&lt;/p&gt;  &lt;p&gt;If you look at the bottom of the list of properties for Logical Disks – you will see (Host=Windows Computer).&amp;#160; From here – we can pick any attribute of the Windows Computer class as well to add to our expression – to limit our logical disks in our group to very specific Computers.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_16.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_6.png" width="684" height="406" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Go back to the properties of your group, edit the Dynamic Members, and you can construct something like this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_1.png" width="479" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Which translates to the following formula:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;( Object is Windows Server 2003 Logical Disk AND ( Windows Computer.NetBIOS Computer Name Matches wildcard sr* ) AND ( ( Device Name Equals C: ) OR ( Device Name Equals D: ) ) )&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now – I will be honest – getting all the “ands” and “ors” in the right place using the UI is a big pain.&amp;#160; It is very easy to screw it up.&amp;#160; I like to simplify this to the fewest lines possible – using Regex.&lt;/p&gt;  &lt;p&gt;Using Regular Expressions – we can use modifiers to create very advanced expressions.&amp;#160; my favorites are ^ which means the beginning of a new line or word, and | which is the “pipe” symbol – which means “or”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So a simple way to accomplish the same example above – without all the complexity – is this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_18.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_7.png" width="481" height="94" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;WAY simpler!&lt;/p&gt;  &lt;p&gt;However – you might notice – this doesn't work right.&amp;#160; This is because Regex is case sensitive.&amp;#160; If the Server NetBIOS name is detected in all CAPS, this expression wont match.&amp;#160; I talk a little about this issue in this post:&amp;#160; &lt;a title="http://blogs.technet.com/kevinholman/archive/2009/04/21/quick-tip-using-regular-expressions-in-a-dynamic-group.aspx" href="http://blogs.technet.com/kevinholman/archive/2009/04/21/quick-tip-using-regular-expressions-in-a-dynamic-group.aspx"&gt;http://blogs.technet.com/kevinholman/archive/2009/04/21/quick-tip-using-regular-expressions-in-a-dynamic-group.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So – based on that posts example – there is a simple way to make a RegEx case insensitive:&amp;#160; (?i:blah)&lt;/p&gt;  &lt;p&gt;Using that as an example – we can now make very advanced groupings, quite easily:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_20.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_8.png" width="482" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(?i: to make it case insensitive.&amp;#160; ^ to signify the beginning of the word/line match.&amp;#160;&amp;#160; Here is the formula now:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;( Object is Windows Server 2003 Logical Disk AND ( Device Name Matches regular expression (?i:^C|^D) ) AND ( Windows Computer.NetBIOS Computer Name Matches regular expression (?i:^sr) ) )&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Check it out:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_9.png" width="468" height="138" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Victory!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What if I wanted all logical disks that we NOT hosted by a Virtual Machine?&amp;#160; Easy!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_24.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_10.png" width="470" height="87" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;( Object is Logical Disk AND ( Windows Computer.Virtual Machine Equals False ) AND True )&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;This reveals a group of ALL logical disks hosted by a Windows Computer with the attribute of Virtual Machine = False:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_26.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Makinggroupsoflogicaldiskstheeasyway_6CA1/image_thumb_11.png" width="453" height="408" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you can see – using the Hosting relationship of the disk – to the Windows Computer object, there is much more you can do with groups.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3291597" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/Authoring/default.aspx">Authoring</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/UI/default.aspx">UI</category></item><item><title>Updated Active Directory ADMP Management Pack released – Version 6.0.7065.0</title><link>http://blogs.technet.com/kevinholman/archive/2009/11/04/updated-active-directory-admp-management-pack-released-version-6-0-7065-0.aspx</link><pubDate>Wed, 04 Nov 2009 19:53:34 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3291515</guid><dc:creator>kevinhol</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3291515.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3291515</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3291515</wfw:comment><description>&lt;p&gt;This is now available on the catalog.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx" href="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx"&gt;http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Changes in this update:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for monitoring Windows Server® 2008 R2 server operating systems as well as Windows® 7 client operating systems&lt;/li&gt;    &lt;li&gt;Support for monitoring the Active Directory Web Service (ADWS) in Windows Server 2008 R2 as well as the Active Directory Management Gateway Service in Windows Server 2008 and Windows Server 2003&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There were a few other minor fixes as well, such as the AD LSASS CPU overload monitor.&amp;#160; This release also replaces a recently released ADMP version 6.0.7050.0 that was pulled to fix the aforementioned monitor.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3291515" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category></item><item><title>Why do my group memberships for Windows Computers have machines that don't belong there?</title><link>http://blogs.technet.com/kevinholman/archive/2009/11/03/why-do-my-group-memberships-for-windows-computers-have-machines-that-don-t-belong-there.aspx</link><pubDate>Tue, 03 Nov 2009 05:35:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3290973</guid><dc:creator>kevinhol</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3290973.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3290973</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3290973</wfw:comment><description>&lt;p&gt;Here is a little tip if you find that your Windows Computer Groups (and state views scoped by groups) contain computers that should not be there.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Have you noticed that you have state views or Windows Computer Groups that contain servers that you don't expect?&amp;#160; Like Exchange Servers in your SQL Computers Group?&amp;#160; Or SQL Servers in your Exchange 2007 computer group?&amp;#160; Or maybe Hyper-V host servers in a LOT of your groups?&amp;#160; If so – you are probably running Hyper-V, and using the Hyper-V MP version 6.0.6633.0.&lt;/p&gt;  &lt;p&gt;Have a look at the below example:&amp;#160; My SQL Management Pack “Computers” view – contains domain controllers, exchange servers… even XP clients… plus it also includes the Hyper-V host (VS3).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_thumb.png" width="502" height="381" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;This can wreak havoc on your management group&lt;/em&gt;&lt;/strong&gt;…. because we use groups of Windows Computers for Overrides, and for scoping console views.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The good news is – there is a very simple workaround:&amp;#160; There is a relationship in this MP that we need to disable.&amp;#160; This relationship attempts to associate the Windows Computer objects of a guest to its host – however it doesn't work properly, and isn't necessary.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Open Authoring in the console.&amp;#160; Select “Object Discoveries”.&amp;#160; Scope to “Hyper-V Virtual Machine”.&amp;#160; Find the discovery named: “Hyper-V 2008 Guest Computer Relationship Discovery”&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_thumb_1.png" width="901" height="188" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Create an override for this – “for all objects of class:&amp;#160; Root Management Server”.&amp;#160; Set this discovery to disabled.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now that that is disabled – we need to run a little cleanup on aisle 7.&amp;#160; We have a nifty little cmdlet in the OpsMgr command shell – named &lt;strong&gt;remove-disabledmonitoringobject&lt;/strong&gt;.&amp;#160; This cmdlet will basically remove any discovered objects – for any situation where they are explicitly disabled with an override on a discovery.&amp;#160; Since that is what we just did (disabled a discovery) this will quickly delete any discovered relationships which previously existed.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_thumb_2.png" width="642" height="248" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now – when I look at my state views scoped to SQL Computers group – I only see SQL servers, AND – the Hyper-V host.&amp;#160; We don't want the Hyper-V host tho…..&amp;#160; apparently the cmdlet cleanup doesn't take care of those.&amp;#160; To resolve that membership – I generally bounce the HealthService on the Hyper-V hosts, and then the HealthService on the RMS, and in a few minutes they will be gone.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/WhydomygroupmembershipsforWindowsCompute_14BCF/image_thumb_3.png" width="522" height="232" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Voila!&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3290973" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category></item><item><title>Holy Management Packs Batman – we are surrounded!</title><link>http://blogs.technet.com/kevinholman/archive/2009/10/14/holy-management-packs-batman-we-are-surrounded.aspx</link><pubDate>Wed, 14 Oct 2009 00:00:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3286652</guid><dc:creator>kevinhol</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3286652.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3286652</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3286652</wfw:comment><description>&lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/HolyManagementPacksBatmanwearesurrounded_10B42/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/HolyManagementPacksBatmanwearesurrounded_10B42/image_thumb.png" width="401" height="322" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Wow – what a plethora of new MP’s to look at.&lt;/p&gt;  &lt;p&gt;Just in the past week – we have gotten a bunch of updated MP.&amp;#160; I wont take any time to go into details on the changes in this post – but be aware!&amp;#160; You probably need to get these in your evaluation and test cycles… looks like lots of good stuff in these updates.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;From the MP catalog at:&amp;#160; &lt;a title="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx" href="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx"&gt;http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Exchange Server 2003&lt;/strong&gt;     &lt;br /&gt;10/12/2009     &lt;br /&gt;(6.0.6702.0)     &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9FF454F4-6D34-4FB9-9E0B-F5B68C6EDC4F&amp;amp;amp;displaylang=en"&gt;Exchange Server 2003 Management Pack for System Center Operations Manager 2007&lt;/a&gt;     &lt;br /&gt;The Exchange Server 2003 Management Pack monitors the performance and availability of Exchange Server 2003 systems. It can also issue alerts for possible configuration problems Availability and performance monitoring is done using synthetic transactions. In addition, the Management Pack collects Event Log alerts and provides associated knowledge articles with additional user details, possible causes, and suggested resolutions. The Management Pack discovers and monitors the individual server components and functional areas on an Exchange Server 2003 server.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Exchange Server 2007&lt;/strong&gt;     &lt;br /&gt;10/12/2009     &lt;br /&gt;(6.0.6702.0)     &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e9f3cd3f-9bc0-45cd-b10f-120e937ee4c4&amp;amp;amp;displaylang=en"&gt;Microsoft Exchange Server 2007 Management Pack for System Center Operations Manager 2007 R2&lt;/a&gt;     &lt;br /&gt;The Exchange Server 2007 Management Pack is designed to monitor Exchange 2007 key health indicators, collect Exchange component-specific performance counters in one central location, and raise alerts for operator intervention as necessary. By detecting, sending alerts, and automatically responding to critical events, this Management Pack helps indicate, correct, and prevent possible service outages or configuration problems, allowing you to proactively manage Exchange servers and identify issues before they become critical. The Management Pack monitors and provides alerts for automatic notification of events indicating service outages, performance degradation, health monitoring, and centralized management.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Operations Manager 2007 R2 Management Pack      &lt;br /&gt;&lt;/strong&gt;10/8/2009     &lt;br /&gt;(6.1.7533.0)     &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=61365290-3c38-4004-b717-e90bb0f6c148&amp;amp;amp;displaylang=en"&gt;Operations Manager 2007 R2 Management Pack&lt;/a&gt;     &lt;br /&gt;The Operations Manager 2007 R2 Management Pack alerts you to problems with components such as agents, management servers, the Operations Manager database, agents, modules used by workflows and services so that you can continue to monitor the servers and clients that your business depends on. The management pack includes tasks that you can automate to get easy access to common diagnostic tools, such as restarting a health service or reloading an agent configuration.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Server Operating System&lt;/strong&gt;     &lt;br /&gt;9/18/2009     &lt;br /&gt;(6.0.6667.0)     &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3529D233-5E3E-4B51-8F66-5D6F27005EC3&amp;amp;amp;displaylang=en"&gt;Windows Server Operating System Management Pack for Operations Manager 2007&lt;/a&gt;     &lt;br /&gt;The Microsoft Windows Server management packs monitor the performance, health, and availability of Windows Server 2008 R2, 2008, 2003 R2, 2003, and Windows 2000 Server. By detecting, alerting on, and automatically responding to critical events and performance indicators, management packs reduce resolution times for issues and increase the overall availability and performance of your Windows Server operating systems, thereby helping to reduce the total cost of ownership.     &lt;br /&gt;(Chinese (Taiwan), German, French, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Chinese (PRC), Spanish) &lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3286652" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category></item><item><title>Dude. Got R2? Then go get this update!</title><link>http://blogs.technet.com/kevinholman/archive/2009/10/09/dude-got-r2-then-go-get-this-update.aspx</link><pubDate>Fri, 09 Oct 2009 06:17:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3285706</guid><dc:creator>kevinhol</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3285706.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3285706</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3285706</wfw:comment><description>&lt;p&gt;Seriously.&lt;/p&gt;  &lt;p&gt;Operations Manager 2007 R2 Management Pack version 6.1.7533.0 from the &lt;a href="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx"&gt;MP CATALOG&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This is basically a set of the core MP’s in OpsMgr R2.&amp;#160; You should expect to see these get updated on a fairly regular basis now.&amp;#160; These are the MP’s that are built in to OpsMgr, that monitor the health of the Management group, from the server role, and agent role perspective.&amp;#160; There should be a SP1 version of this update available soon to follow.&amp;#160; These are a series of updates to OpsMgr, based on Community, Customer, and internal feedback…. and it’s good stuff.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Everyone running R2 should run these through your standard testing cycle and get these implemented.&amp;#160; This is a simple MP import-update.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The MOMTEAM Blog has some more details here:&amp;#160; &lt;a title="http://blogs.technet.com/momteam/archive/2009/10/07/opsmgr-2007-r2-mp-version-6-1-7553-0-is-released.aspx" href="http://blogs.technet.com/momteam/archive/2009/10/07/opsmgr-2007-r2-mp-version-6-1-7553-0-is-released.aspx"&gt;http://blogs.technet.com/momteam/archive/2009/10/07/opsmgr-2007-r2-mp-version-6-1-7553-0-is-released.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This includes a long list of updates (available in the guide in the download)… but I will hit a few high points.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You might have seen some of my blog posts on agents restarting all the time, in SP1 and R2, and the significant impact that can have: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a title="http://blogs.technet.com/kevinholman/archive/2009/06/22/health-service-and-monitoringhost-thresholds-in-r2-how-this-has-changed-and-what-you-should-know.aspx" href="http://blogs.technet.com/kevinholman/archive/2009/06/22/health-service-and-monitoringhost-thresholds-in-r2-how-this-has-changed-and-what-you-should-know.aspx"&gt;http://blogs.technet.com/kevinholman/archive/2009/06/22/health-service-and-monitoringhost-thresholds-in-r2-how-this-has-changed-and-what-you-should-know.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Well, this is mostly resolved in this update….&amp;#160; as the default threshold for HealthService and MonitoringHost has been changed from 100MB to 300MB.&amp;#160; This will stop the majority of your agents from hitting this limit, and restarting.&amp;#160; Once you import this MP update – you should review any overrids you made on these Monitors… and make sure you dont have any conflicts.&amp;#160; The only other override I like to recommend is to generate an alert on these monitors – so that you will know when there is a problem that will cause the agent to get restarted – specifically on HealthService or MonitoringHost, and PrivateBytes or HandleCount:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Dude.GotR2Thengogetthisupdate_1228/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Dude.GotR2Thengogetthisupdate_1228/image_thumb.png" width="764" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You might find that there are still some agents that need a much higher threshold…. but those should be fairly rare, and limited to very large servers with a very high instance count of objects (large SQL clusters, large Exchange servers, etc) and also possibly for agents that are a watcher node or proxy for a large number of devices (network, VMWare, etc…)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In &lt;a href="http://blogs.technet.com/kevinholman/archive/2008/10/27/how-many-consoles-are-connected-to-my-rms.aspx"&gt;THIS&lt;/a&gt; blog post I discussed adding a custom perf counter collection rule and creating a view to see how many consoles or SDK connections you have.&amp;#160; This is now built-in: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Dude.GotR2Thengogetthisupdate_1228/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Dude.GotR2Thengogetthisupdate_1228/image_thumb_1.png" width="954" height="385" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Lots of Knowledge and descriptions added to help troubleshoot alerts.&amp;#160; For instance – on the common “Script or Executable Failed to run” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;h4&gt;Summary&lt;/h4&gt;    &lt;p&gt;The Health Service was attempting to run an executable and was unable to create the process.&amp;#160; This may affect some monitoring or discovery.&lt;/p&gt;    &lt;h4&gt;Causes&lt;/h4&gt;    &lt;p&gt;This can be caused by: &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;The executable could not be found. &lt;/li&gt;      &lt;li&gt;The computer does not have enough resources (for example; memory) to run the executable. &lt;/li&gt;      &lt;li&gt;The antivirus software on the computer blocking Visual Basic scripts or Java scripts. The following link is a link to the KB article regarding this issue. &lt;/li&gt;      &lt;li&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;967503&amp;amp;sd=rss&amp;amp;spid=12584"&gt;Antivirus software blocking script execution&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt;    &lt;h4&gt;Resolutions&lt;/h4&gt;    &lt;p&gt;The alert description and context has information indicating which rule or monitor failed. The following link will display all events indicating a failure to run the executable:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="console:execute?viewName=Microsoft.SystemCenter.HealthServiceModules.BatchResponseModule.EventView&amp;amp;viewtarget={$TARGET$}"&gt;View Batch Response Events&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;After reviewing the error in the context, check: &lt;/li&gt;      &lt;li&gt;That the path to the executable exists on the computer. &lt;/li&gt;      &lt;li&gt;The antivirus software is not blocking scripts from running. &lt;/li&gt;      &lt;li&gt;That the computer is not over utilized. &lt;/li&gt;      &lt;li&gt;Check Task Manager to see if there is enough free memory. &lt;/li&gt;      &lt;li&gt;Check Task Manager to see if there are any processes consuming all the CPU. &lt;/li&gt;      &lt;li&gt;Check the error information in the event or alert context for the script path and name. There could be a problem with the script not handling an error correctly and exiting. If the script exits without outputting the data that is expected (e.g. property bag data), this error is raised. &lt;/li&gt;      &lt;li&gt;Another error can be caused by the misconfiguration of the workflow executing this script. The configuration (script params, policy, timeout) could be wrong causing no output or timeout. &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There is a big list of other enhancements or fixes in the MP guide.&amp;#160; Don't take this lightly – this is good stuff…. get it updated.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3285706" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/Hotfix/default.aspx">Hotfix</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/R2/default.aspx">R2</category></item><item><title>What is config churn?</title><link>http://blogs.technet.com/kevinholman/archive/2009/10/05/what-is-config-churn.aspx</link><pubDate>Mon, 05 Oct 2009 08:29:49 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284780</guid><dc:creator>kevinhol</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3284780.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3284780</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3284780</wfw:comment><description>&lt;p&gt;There have been a couple good articles briefly covering this topic…. you might have read them.&amp;#160; I will reference some below.&amp;#160; Config churn is basically, when your RMS is in an almost never-ending loop of generating config.&amp;#160; This can be caused by “less than optimized” management packs, pushing agents all the time, or injecting major changes into a management group, such as overrides or custom rules and monitors, or importing updated management packs.&amp;#160; By examining this topic in depth – we will re-state some already known best practices with maintaining a healthy management group, and get some deeper knowledge as to why they are best practices in the first place.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Any time you push agents, or create rules and monitors, or overrides for widespread classes….. you can create a config update on the RMS that must be sent down to ALL agents in the management group.&amp;#160; For small management groups (under 500 agents) this is generally not a big deal and processes rather quickly.&amp;#160; For large management groups over 1000 agents, this can cause high resource utilization of the RMS and SQL Database, in terms of CPU, Memory, and Disk I/O.&amp;#160; This can impact data insertion, and console performance during these times.&amp;#160; For these reasons, we like to keep those activities down to a minimum during working hours, and schedule these major changes in an off-hours maintenance window.&lt;/p&gt;  &lt;p&gt;What about “less than optimized” management packs?&amp;#160; What does that mean?&amp;#160; Well, this means management packs that you might be using, that have poorly written discoveries.&lt;/p&gt;  &lt;p&gt;We have long known that a worst practice in Management Pack development, is to have a discovery that discovers instances of a class, that has properties for those instances that are likely to change frequently.&amp;#160; Here is a write-up from OpsManJam on the topic:&amp;#160; &lt;a href="http://www.opsmanjam.com/Lists/General%20Discussion/DispForm.aspx?ID=2&amp;amp;RootFolder=/Lists/General%20Discussion/WORST%20PRACTICE%20Class%20properties%20that%20get%20updated%20frequently"&gt;LINK&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ok… wait… &lt;em&gt;Whaaaaat&lt;/em&gt;?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Let me put that in English:&lt;/p&gt;  &lt;p&gt;Say we have a discovery for a Logical Disk.&amp;#160; This will discover any logical disk, like C:, D:, E:, Q:, etc….&amp;#160; When we write the discovery for a logical disk, we can add &lt;strong&gt;&lt;em&gt;properties&lt;/em&gt;&lt;/strong&gt; to that discovery.&amp;#160; These are attributes of the discovered instances.&amp;#160; So – in this case – lets say we decided to add “Size” of the disk as a property, and “Free Space” as a property.&amp;#160; And for the discovery frequency – we will run this discovery every hour, looking for new disks.&lt;/p&gt;  &lt;p&gt;“Size” is an excellent property for the Logical Disk class.&amp;#160; We like to know the size of the disks…. we can use this property group them if needed.&amp;#160; “Size” of a logical disk is not something that we would expect to change very often.&lt;/p&gt;  &lt;p&gt;“Free Space” is a horrible property for the Logical Disk class.&amp;#160; Free space is something that will likely change, just a small amount even, between each run of the discovery.&amp;#160; Free space is a property that is likely to change frequently, therefore – it should NOT be used in a discovery.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Make sense?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ok – so… what's the big deal?&lt;/p&gt;  &lt;p&gt;Well, the agent will run almost all discoveries that it knows about when the health service starts up (like when you bounce the service, or after a reboot).&amp;#160; It will always send this discovery data to the management server.&amp;#160; (this is another reason why &lt;a href="http://blogs.technet.com/kevinholman/archive/2009/03/26/are-your-agents-restarting-every-10-minutes-are-you-sure.aspx"&gt;agents restarting all the time&lt;/a&gt; is very bad)&amp;#160; Then, it will run then based on the “Interval” frequency specified on the discovery.&amp;#160; Sometimes this is as frequent as once per hour, sometimes as long as once per day.&amp;#160; When the discovery runs, the agent will inspect the discovery data that it gets, and compare it to the last discovery data it sent to the management server.&amp;#160; If nothing changed – the agent drops the discovery data and does nothing.&amp;#160; IF anything changed in the values of the discovery data – it will re-submit the new data to the management server, which will submit this data to the database.&amp;#160; The RMS will detect the change, and will have to recalculate (regenerate) configuration.&amp;#160; You will see this on the RMS as a 21025 event:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Operations Manager        &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OpsMgr Connector         &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9/27/2009 11:51:49 PM         &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 21025         &lt;br /&gt;Task Category: None         &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Information         &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic         &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A         &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OMRMS.opsmgr.net         &lt;br /&gt;Description:         &lt;br /&gt;OpsMgr has received new configuration for management group PROD1 from the Configuration Service.&amp;#160; The new state cookie is &amp;quot;D7 9B A4 BE 00 90 CF 13 35 B5 9B 5F 3B 14 FF 78 D6 13 9A 2D &amp;quot;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The 21025 event isn’t really “bad”… it simply means the config service did its job.&amp;#160; It re-generated its configuration file from the database data, and wrote it to:&amp;#160; \Program Files\System Center Operations Manager 2007\Health Service State\Connector Configuration Cache\&amp;lt;MGNAME&amp;gt;\OpsMgrConnector.Config.xml&amp;#160; The problem is – when this config file gets large (like in large agent count environments) and when the “Config Instance Space” is large (number of discovered objects in total).&amp;#160; Recalculating this config can have a significant impact on the disk where the file exists on the RMS, use lots of memory and CPU on the RMS for the config service, and use significant disk I/O on the SQL database.&lt;/p&gt;  &lt;p&gt;If the RMS is in a perpetual cycle of recalculating config, and sending these config updates to all agents…. the performance of the management group is impacted.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://nocentdocent.wordpress.com/bloggers/daniele-grandini/"&gt;Daniele Grandini&lt;/a&gt; of &lt;a href="http://nocentdocent.wordpress.com/"&gt;Quaue Nocent Docent&lt;/a&gt; is pretty much the “godfather” of good information researching the 21025 event.&amp;#160; Read his 3 part series on config churn here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://nocentdocent.wordpress.com/2009/07/09/troubleshooting-21025-events-wrap-up/" href="http://nocentdocent.wordpress.com/2009/07/09/troubleshooting-21025-events-wrap-up/"&gt;http://nocentdocent.wordpress.com/2009/07/09/troubleshooting-21025-events-wrap-up/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;So – what can I do if I think I have too much config churn?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The biggest problem causing the most frequent config updates is &lt;strong&gt;&lt;em&gt;management packs with noisy discoveries&lt;/em&gt;&lt;/strong&gt;.&amp;#160; However, lets wrap up all the issues that can cause it, and what you can do:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;New agents.&amp;#160; Discover/install/approve new agents in bulk and off-hours. &lt;/li&gt;    &lt;li&gt;Overrides.&amp;#160; Set overrides during off-hours, or create override MP’s in a lab, then synch to production management groups during schedule off-hours times. &lt;/li&gt;    &lt;li&gt;Custom rules and monitors.&amp;#160; Create these during off-hours, or create using the authoring console, test in a lab, then import to production during off-hours. &lt;/li&gt;    &lt;li&gt;Newly discovered instances.&amp;#160; For instance – someone adds a new disk, or SQL database, or DNS zone, to an existing agent.&amp;#160; Not much we can do about this, except the expectation that this would be done during off hours. &lt;/li&gt;    &lt;li&gt;Management packs with noisy discovery properties.&amp;#160; See below. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ok – the remainder of this article will touch on #5.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;How can I tell which discoveries are noisy?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Danilele Grandini has put together a good query on this, from his link:&amp;#160; &lt;a title="http://nocentdocent.wordpress.com/2009/05/23/how-to-get-noisy-discovery-rules/" href="http://nocentdocent.wordpress.com/2009/05/23/how-to-get-noisy-discovery-rules/"&gt;http://nocentdocent.wordpress.com/2009/05/23/how-to-get-noisy-discovery-rules/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I will repost these (slightly modified) below:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;/* Top Noisy Rules in the last 24 hours */ &lt;/p&gt;    &lt;p&gt;select ManagedEntityTypeSystemName, DiscoverySystemName, count(*) As 'Changes'      &lt;br /&gt;from       &lt;br /&gt;(select distinct       &lt;br /&gt;MP.ManagementPackSystemName,       &lt;br /&gt;MET.ManagedEntityTypeSystemName,       &lt;br /&gt;PropertySystemName,       &lt;br /&gt;D.DiscoverySystemName, D.DiscoveryDefaultName,       &lt;br /&gt;MET1.ManagedEntityTypeSystemName As 'TargetTypeSystemName', MET1.ManagedEntityTypeDefaultName 'TargetTypeDefaultName',       &lt;br /&gt;ME.Path, ME.Name,       &lt;br /&gt;C.OldValue, C.NewValue, C.ChangeDateTime       &lt;br /&gt;from dbo.vManagedEntityPropertyChange C       &lt;br /&gt;inner join dbo.vManagedEntity ME on ME.ManagedEntityRowId=C.ManagedEntityRowId       &lt;br /&gt;inner join dbo.vManagedEntityTypeProperty METP on METP.PropertyGuid=C.PropertyGuid       &lt;br /&gt;inner join dbo.vManagedEntityType MET on MET.ManagedEntityTypeRowId=ME.ManagedEntityTypeRowId       &lt;br /&gt;inner join dbo.vManagementPack MP on MP.ManagementPackRowId=MET.ManagementPackRowId       &lt;br /&gt;inner join dbo.vManagementPackVersion MPV on MPV.ManagementPackRowId=MP.ManagementPackRowId       &lt;br /&gt;left join dbo.vDiscoveryManagementPackVersion DMP on DMP.ManagementPackVersionRowId=MPV.ManagementPackVersionRowId       &lt;br /&gt;AND CAST(DefinitionXml.query('data(/Discovery/DiscoveryTypes/DiscoveryClass/@TypeID)') AS nvarchar(max)) like '%'+MET.ManagedEntityTypeSystemName+'%'       &lt;br /&gt;left join dbo.vManagedEntityType MET1 on MET1.ManagedEntityTypeRowId=DMP.TargetManagedEntityTypeRowId       &lt;br /&gt;left join dbo.vDiscovery D on D.DiscoveryRowId=DMP.DiscoveryRowId       &lt;br /&gt;where ChangeDateTime &amp;gt; dateadd(hh,-24,getutcdate())       &lt;br /&gt;) As #T       &lt;br /&gt;group by ManagedEntityTypeSystemName, DiscoverySystemName       &lt;br /&gt;order by count(*) DESC&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;and&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;/* Modified properties in the last 24 hours */&lt;/p&gt;    &lt;p&gt;select distinct      &lt;br /&gt;MP.ManagementPackSystemName,       &lt;br /&gt;MET.ManagedEntityTypeSystemName,       &lt;br /&gt;PropertySystemName,       &lt;br /&gt;D.DiscoverySystemName, D.DiscoveryDefaultName,       &lt;br /&gt;MET1.ManagedEntityTypeSystemName As 'TargetTypeSystemName', MET1.ManagedEntityTypeDefaultName 'TargetTypeDefaultName',       &lt;br /&gt;ME.Path, ME.Name,       &lt;br /&gt;C.OldValue, C.NewValue, C.ChangeDateTime       &lt;br /&gt;from dbo.vManagedEntityPropertyChange C       &lt;br /&gt;inner join dbo.vManagedEntity ME on ME.ManagedEntityRowId=C.ManagedEntityRowId       &lt;br /&gt;inner join dbo.vManagedEntityTypeProperty METP on METP.PropertyGuid=C.PropertyGuid       &lt;br /&gt;inner join dbo.vManagedEntityType MET on MET.ManagedEntityTypeRowId=ME.ManagedEntityTypeRowId       &lt;br /&gt;inner join dbo.vManagementPack MP on MP.ManagementPackRowId=MET.ManagementPackRowId       &lt;br /&gt;inner join dbo.vManagementPackVersion MPV on MPV.ManagementPackRowId=MP.ManagementPackRowId       &lt;br /&gt;left join dbo.vDiscoveryManagementPackVersion DMP on DMP.ManagementPackVersionRowId=MPV.ManagementPackVersionRowId       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; AND CAST(DefinitionXml.query('data(/Discovery/DiscoveryTypes/DiscoveryClass/@TypeID)') AS nvarchar(max)) like '%'+MET.ManagedEntityTypeSystemName+'%'       &lt;br /&gt;left join dbo.vManagedEntityType MET1 on MET1.ManagedEntityTypeRowId=DMP.TargetManagedEntityTypeRowId       &lt;br /&gt;left join dbo.vDiscovery D on D.DiscoveryRowId=DMP.DiscoveryRowId       &lt;br /&gt;where ChangeDateTime &amp;gt; dateadd(hh,-24,getutcdate())       &lt;br /&gt;ORDER BY MP.ManagementPackSystemName, MET.ManagedEntityTypeSystemName&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Wow – that returned a LOT of discoveries running all the time!&amp;#160; What can I do?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Don't import too many MP’s!&amp;#160; The FIRST line of defense – is NOT to import ANY management packs into a management group that you don't absolutely need RIGHT THEN.&amp;#160; Management packs are constantly updated, and by the time you have an actual SLA in a technology area – there will likely be a newer, better MP available for it.&amp;#160; The biggest mistake many customers make is to import any available MP for a technology that they have internally.&amp;#160; They end up with a FLOOD of alerts, big fat databases, slow consoles, and lots of weird errors.&amp;#160; MP’s should be transitioned slowly, one at a time – tuning and resolving as you go. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Disable the noisy discoveries.&amp;#160; Probably not a great solution, unless they discover objects that you really don't care about – but there are other objects in the MP that you DO want to monitor. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Increase the interval of the discovery frequency.&amp;#160; This means… essentially – change any “bad” discoveries to run only once per day.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add a “synch time” override to the discovery – if possible.&amp;#160; This option is not available unless the MP author of the discovery exposed it.&amp;#160; What this will do – it cause all the agents to ONLY run the discovery at a distinct and specified time every day (say…. 1AM).&amp;#160; This might cause too much discovery data to flood in at one time… but since it will all come in at the same time – it wont cause constant config churn all throughout the day.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Re-write the discovery.&amp;#160; If this is a custom MP – rewrite the discovery/MP, and remove that property which changes too often.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Make sure your hardware and software is optimized for scalability.&amp;#160; On your RMS – it is good to place your config file on fast disks, especially in large environments.&amp;#160; I have worked with very large customers who were experiencing config churn, but had zero ill effects, because their RMS disk I/O was on a 4 spindle RAID10 with 15K spindles, CPU and memory were really good, and their SQL database disk I/O for the OpsDB was excellent with plenty of breathing room.&amp;#160; I have also worked with smaller agent counts, where config churn has a serious impact…. mostly due to the RMS config file being places on the same RAID spindle set as that OS and pagefile, using only 2 older 10,000 RPM disks.&amp;#160; The SQL disk I/O was also just borderline for their agent count.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Re-run the queries periodically – especially after importing/upgrading to a new management pack in your management group.&amp;#160; This “instance space change” report should be part of your testing and evaluation of a new MP when brought into your lab…. if you have a large agent count environment.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Some very common discoveries I have seen – that have properties that change very frequently – are listed below.&amp;#160; I often recommend these be overridden to run once per day (86,400 seconds)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="2" cellspacing="0" cellpadding="0" width="864"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="248"&gt;&lt;strong&gt;Discovery Display Name&lt;/strong&gt;&lt;/td&gt;        &lt;td width="166"&gt;&lt;strong&gt;Discovery Target Class&lt;/strong&gt;&lt;/td&gt;        &lt;td width="173"&gt;&lt;strong&gt;Discovered Type&lt;/strong&gt;&lt;/td&gt;        &lt;td width="135"&gt;&lt;strong&gt;Default frequency&lt;/strong&gt;&lt;/td&gt;        &lt;td width="138"&gt;&lt;strong&gt;Modified frequency&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;Discover File Groups and Files&lt;/td&gt;        &lt;td width="166"&gt;SQL 2005 DB Engine&lt;/td&gt;        &lt;td width="173"&gt;SQL 2005 DB File&lt;/td&gt;        &lt;td width="135"&gt;7260&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;Discover File Groups and Files&lt;/td&gt;        &lt;td width="166"&gt;SQL 2005 DB Engine&lt;/td&gt;        &lt;td width="173"&gt;SQL 2005 DB File Group&lt;/td&gt;        &lt;td width="135"&gt;7260&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;Discover SQL 2000 Databases&lt;/td&gt;        &lt;td width="166"&gt;SQL 2000 DB Engine&lt;/td&gt;        &lt;td width="173"&gt;SQL 2000 DB&lt;/td&gt;        &lt;td width="135"&gt;1800&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;Discover Databases for a Database Engine&lt;/td&gt;        &lt;td width="166"&gt;SQL 2005 DB Engine&lt;/td&gt;        &lt;td width="173"&gt;SQL 2005 DB&lt;/td&gt;        &lt;td width="135"&gt;7200&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;DNS 2003 Component Discovery&lt;/td&gt;        &lt;td width="166"&gt;DNS 2003 Server&lt;/td&gt;        &lt;td width="173"&gt;DNS 2003 Zone&lt;/td&gt;        &lt;td width="135"&gt;21600&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;DNS 2008 Component Discovery&lt;/td&gt;        &lt;td width="166"&gt;DNS 2008 Server&lt;/td&gt;        &lt;td width="173"&gt;DNS 2008 Zone&lt;/td&gt;        &lt;td width="135"&gt;21600&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;Windows Internet Information Services Base Classes Discovery Rule&lt;/td&gt;        &lt;td width="166"&gt;IIS 2003 Server Role&lt;/td&gt;        &lt;td width="173"&gt;IIS FTP Site&lt;/td&gt;        &lt;td width="135"&gt;3600&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="248"&gt;Windows Internet Information Services Base Classes Discovery Rule&lt;/td&gt;        &lt;td width="166"&gt;IIS 2000 Server Role&lt;/td&gt;        &lt;td width="173"&gt;IIS NNTP Virtual Server&lt;/td&gt;        &lt;td width="135"&gt;3600&lt;/td&gt;        &lt;td width="138"&gt;86400&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The above is just a sample – you should examine the query output of the query above and see what is impacting your management group the most.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284780" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/agents/default.aspx">agents</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/Authoring/default.aspx">Authoring</category></item><item><title>Keep your management pack names SHORT in SP1!</title><link>http://blogs.technet.com/kevinholman/archive/2009/10/02/keep-your-management-pack-names-short-in-sp1.aspx</link><pubDate>Fri, 02 Oct 2009 23:31:08 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284634</guid><dc:creator>kevinhol</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3284634.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3284634</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3284634</wfw:comment><description>&lt;p&gt;I have seen this twice now… so I will blog about it.&amp;#160; It seems to be rare in the wild, but it will completely cripple a management group when this occurs.&amp;#160; So beware SP1 users!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;This article does not apply to R2.&amp;#160; This is only an issue in OpsMgr 2007 SP1.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When you create your custom management packs – and especially your override management packs – keep the names as simple and short as possible.&amp;#160; There is an issue in OpsMgr SP1 – when an agent tries to download management packs – where it will fail if the MP ID (derived from the MP Name) is too long.&amp;#160; The worst part about this problem is there there WONT be an error logged.&amp;#160; What will happen – is that the agent will keep trying to re-download the MP in question, and it will block ALL other MP’s from being downloaded from that point forward.&lt;/p&gt;  &lt;p&gt;There is no simple way to know this condition is impacting you.&amp;#160; What will happen – is that an agent will continue to work just fine… but will not get any NEW management packs.&amp;#160; So… you might think all is well, but not so.&amp;#160; The symptoms thatmight lead you to notice that something is wrong:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Performance data not collected for newer MP’s.&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Objects not being discovered for newer MP’s&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Alerts not generating as expected from newer MP’s.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The root problem is an age old Windows issue…. file paths over 255 characters not supported well.&amp;#160; This has been resolved in R2 in how the agent copies the files over.&lt;/p&gt;  &lt;p&gt;In both cases I have seen – someone was creating an override MP for the “IBM Hardware Management Pack for IBM System x and BladeCenter x86 Blade Systems” management pack.&amp;#160; So – when they created their override MP – they named it something like:&amp;#160; “Overrides - IBM Hardware Management Pack for IBM System x and BladeCenter x86 Blade Systems”&lt;/p&gt;  &lt;p&gt;This equated to a Management Pack ID of:&amp;#160; Override.IBM.Hardware.Management.Pack.for.IBM.System.x.and.BladeCenter.x.Blade.Systems&lt;/p&gt;  &lt;p&gt;That MP ID is 86 characters!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What happens…. is when this management pack is created, and an override is placed in it…. (or custom rule)… the agents that require it will:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Get contacted by the RMS to update their config, and then issue a config change request (&lt;em&gt;21024 in the event log&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Receive new config from the RMS (&lt;em&gt;event 21025&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Process new config – and realize they need a new MP, and request that MP (&lt;em&gt;event 1200&lt;/em&gt;)&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Where this process breaks…. is the next step in the chain should be that the agent RECEIVES the MP (event 1201) and then issues a statement that the new config has become active (event 1210).&amp;#160; The never happen.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Behind the scenes…. from looking at a ETL tracelog, we can see this is failing, when we try to move the file from the “downloaded files” folder to the “management packs” folder:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Error CMPFileManager::MoveManagementPackFile(MPFileManager_cpp383)&lt;font color="#0000ff"&gt;MoveFile from '\\?\C:\Program Files\System Center Operations Manager 2007\Health Service State\Downloaded Files\MGNAME\1\Override.IBM.Hardware.Management.Pack.for.IBM.System.x.and.BladeCenter.x.Blade.Systems.{26504FED-2FF4-4AC4-A63D-59BF8C09F51F}.{7136257C-1791-7BAB-7072-2FA24284C102}.xml' to 'C:\Program Files\System Center Operations Manager 2007\Health Service State\Management Packs\Override.IBM.Hardware.Management.Pack.for.IBM.System.x.and.BladeCenter.x.Blade.Systems.{26504FED-2FF4-4AC4-A63D-59BF8C09F51F}.{7136257C-1791-7BAB-7072-2FA24284C102}.xml'&lt;/font&gt; &lt;font color="#ff0000"&gt;failed with code 3(ERROR_PATH_NOT_FOUND).&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the example above – the bad path is:&lt;/p&gt;  &lt;p&gt;C:\Program Files\System Center Operations Manager 2007\Health Service State\Management Packs\Override.IBM.Hardware.Management.Pack.for.IBM.System.x.and.BladeCenter.x.Blade.Systems.{26504FED-2FF4-4AC4-A63D-59BF8C09F51F}.{7136257C-1791-7BAB-7072-2FA24284C102}.xml&lt;/p&gt;  &lt;p&gt;Which is 261 characters.&amp;#160; The limit is 255.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Therefore – I recommend you keep your Management Pack *ID* to less than 60 characters.&amp;#160;&amp;#160; You can examine your long management packs by looking in the console – generally your longest display names will be the longest ID’s:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/KeepyourmanagementpacknamesSHORTinSP1_D9FD/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/KeepyourmanagementpacknamesSHORTinSP1_D9FD/image_thumb.png" width="311" height="193" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Even some Microsoft MP’s are dangerously close to the limit…. such as: Microsoft.SystemCenter.VirtualMachineManager.Pro.2008.VMWare.HostPerformance with 76 characters.&amp;#160; In most environments you can squeak by at 79 characters…. more or less depending on where you installed your agent path.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is a SQL query you can run against the OpsDB to also detect this condition…. and quick check all your potentially long MP’s:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;select MPName from managementpack       &lt;br /&gt;WHERE len(MPName) &amp;gt; 60&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Just change 60 to whatever character count you want.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;DONT freak out if you have some more than 60.&amp;#160; Just be aware.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/KeepyourmanagementpacknamesSHORTinSP1_D9FD/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/KeepyourmanagementpacknamesSHORTinSP1_D9FD/image_thumb_1.png" width="96" height="101" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt; DO freak out if you have some more than 80! &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If someone had the time and was really handy – you could write a monitor – that runs against the RMS – that would in turn query the OpsDB, and run this query, and change the RMS to unhealthy when over a threshold.&amp;#160; THAT would be cool…. and alert you when some author makes a really long MP that has the potential to break all your agents.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another idea I had… was to create a correlated missing event monitor…. and when you get a 1200, but do NOT get a 1201 within, say, 15 minutes….. that might be a problem.&amp;#160; Of course if you wrote this and were already impacted…. the bad agents would never get your new MP to tell you.&amp;#160; :-)&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284634" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/agents/default.aspx">agents</category></item><item><title>Fixing troubled agents</title><link>http://blogs.technet.com/kevinholman/archive/2009/10/01/fixing-troubled-agents.aspx</link><pubDate>Fri, 02 Oct 2009 00:23:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284447</guid><dc:creator>kevinhol</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3284447.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3284447</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3284447</wfw:comment><description>&lt;p&gt;Sometimes agents either will not “talk” to the management server upon initial installation, and sometimes an agent can get unhealthy long after working fine.&amp;#160; Agent health is an ongoing task of any OpsMgr Admin’s life.&lt;/p&gt;  &lt;p&gt;This post in NOT an “end to end” manual of all the factors that influence agent health…. but that is something I am working on for a later time.&amp;#160; There are so many factors in an agent’s ability to communicate and work as expected.&amp;#160; A few key areas that commonly affect this are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;DNS name resolution (Agent to MS, and MS to Agent)&lt;/li&gt;    &lt;li&gt;DNS domain membership (disjointed)&lt;/li&gt;    &lt;li&gt;DNS suffix search order&lt;/li&gt;    &lt;li&gt;Kerberos connectivity&lt;/li&gt;    &lt;li&gt;Kerberos SPN’s accessible&lt;/li&gt;    &lt;li&gt;Firewalls blocking 5723&lt;/li&gt;    &lt;li&gt;Firewalls blocking access to AD for authentication&lt;/li&gt;    &lt;li&gt;Packet loss&lt;/li&gt;    &lt;li&gt;Invalid or old registry entries&lt;/li&gt;    &lt;li&gt;Missing registry entries&lt;/li&gt;    &lt;li&gt;Corrupt registry&lt;/li&gt;    &lt;li&gt;Default agent action accounts locked down/out (HSLockdown)&lt;/li&gt;    &lt;li&gt;HealthService Certificate configuration issues.&lt;/li&gt;    &lt;li&gt;Hotfixes required for OS Compatibility&lt;/li&gt;    &lt;li&gt;Management Server rejecting the agent&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;How do you detect agent issues from the console?&amp;#160; The problem might be that they are not showing up in the console at all!&amp;#160; Perhaps they might be a manual install that never shows up in Pending Actions?&amp;#160; Or a push deployment, that stays stuck in Pending actions and never shows up under “Agent Managed”.&amp;#160; Or even one that does show up under “Agent Managed” but never shows as being monitored… returning agent version data, etc.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;One of the BEST things you can do when faced with an agent health issue… if to look on the agent, in the OperationsManager event log.&amp;#160; This is a fairly verbose log that will almost always give you a good hint as to the trouble with the agent.&amp;#160; That is ALWAYS one of my first steps in troubleshooting.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another way of examining Agent health – is by the built in views in OpsMgr.&amp;#160; In the console – there is a view – Located at the following:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Fixingtroubledagents_E68F/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Fixingtroubledagents_E68F/image_thumb.png" width="798" height="369" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This view is important – because it gives us a perspective of the agent from two different points:&lt;/p&gt;  &lt;p&gt;1.&amp;#160; The perspective of the agent monitors running on the agent, measuring its own “health”.&lt;/p&gt;  &lt;p&gt;2.&amp;#160; The perspective of the “Health Service Watcher” which is the agent being monitored from a Management Server&amp;quot;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If any of these are red or yellow – that is an excellent place to start.&amp;#160; This should be an area that your level 1 support for Operations manager checks DAILY.&amp;#160; We should never have a high number of agents that are not green here.&amp;#160; If they aren't – this is indicative of an unhealthy environment, or the admin team not adhering to best practices (such as keeping up with hotfixes, using maintenance mode correctly, etc…&lt;/p&gt;  &lt;p&gt;Use Health Explorer on these views – to drill down into exactly what is causing the Agent, or Health Service Watcher state to be unhealthy.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now…. the following are some general steps to take to “fix” broken agents.&amp;#160; These are not in definitive order.&amp;#160; The order of steps really comes down to what you find when looking at the logs after taking these steps.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start the HealthService on the agent.&amp;#160; You might find the HealthService is just not running.&amp;#160; This should not be common or systemic.&amp;#160; Consider enabling the recovery for this condition to restart the HealthService on Heartbeat failure.&amp;#160; However – if this is systemic – it is indicative of something causing your HealthService to restart too frequently, or administrators stopping SCOM.&amp;#160; Look in the OpsMgr event log for verification.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Bounce the HealthService on the agent.&amp;#160; Sometimes this is all that is needed to resolve an agent issue.&amp;#160; Look in the OpsMgr event log after a HealthService restart, to make sure it is clean with no errors.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Clear the HealthService queue and config (manually).&amp;#160; This is done by stopping the HealthService.&amp;#160; Then deleting the “\Program Files\System Center Operations Manager 2007\Health Service State” folder.&amp;#160; Then start the HealthService.&amp;#160; This removes the agent config file, and the agent queue files.&amp;#160; The agent starts up with no configuration, so it will resort to the registry to determine what management server to talk to.&amp;#160; From the registry – it will find out if it is AD integrated, or a fixed management server to talk to if not.&amp;#160; This is located at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Agent Management Groups\PROD1\Parent Health Services\ location, in the \&amp;lt;#&amp;gt;\NetworkName string value.&amp;#160; The agent will contact the management server – request config, receive config, download the appropriate management packs, apply them, run the discoveries, send up discovery data, and repeat the cycle for a little while.&amp;#160; This is very much what happens on a new agent during initial deployment.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Clear the HealthService queue and config (from the console).&amp;#160; When looking at the above view (or any state view or discovered inventory view which targets the HealthService or Agent class) there is a task in the actions pane - “Flush Health Service State and Cache”.&amp;#160; This will perform a very similar action to that above…. as a console task.&amp;#160; This will only work on an agent that is somewhat responsive…. if it does not work you need to perform this manually as the agent is really broken from communication with the management server.&amp;#160; This task will never complete, and will not return success – because the task breaks off from itself as the queue is flushed.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Repair” the agent from the console.&amp;#160; This is done from the Administration pane – Agent Managed.&amp;#160; You should not run a repair on any AD-integrated agent – as this will break the AD integration and assign it to the management server that ran the repair action.&amp;#160; A “repair” technically just reinstalls the agent in a push fashion, just like an initial agent deployment.&amp;#160; It will also apply/reapply any agent related hotfixes in the management server’s \Program Files\System Center Operations Manager 2007\AgentManagement\ directories. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Reinstall the agent (manually).&amp;#160; This would be for manual installs or when push/repair is not possible.&amp;#160; This section is where the combination of options gets a little tricky.&amp;#160; When you are at this point… where you have given up, I find just going all the way with a brute force reinstall is the best way.&amp;#160; This means performing the following steps:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Uninstall the agent via add/remove programs.&lt;/li&gt;      &lt;li&gt;Run the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=14FF7073-C71B-4AD0-805A-A8E458D2C9E0&amp;amp;displaylang=en"&gt;Operations Manager Cleanup Tool&lt;/a&gt; CleanMom.exe or CleanMOM64.exe.&amp;#160; This is designed to make sure that the service, files, and all registry entires are removed.&lt;/li&gt;      &lt;li&gt;Ensure that the agent’s folder is removed at:&amp;#160; \Program Files\System Center Operations Manager 2007\&lt;/li&gt;      &lt;li&gt;Ensure that the following registry keys are deleted:&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager&lt;/li&gt;        &lt;li&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Reboot the agent machine (if possible)&lt;/li&gt;      &lt;li&gt;Delete the agent from Agent Managed in the OpsMgr console.&amp;#160; This will allow a new HealthService ID to be detected and is sometimes a required step to get an agent to work properly, although not always required.&lt;/li&gt;      &lt;li&gt;Now that the agent is gone cleanly from both OpsMgr console and the agent Operating System…. manually reinstall the agent.&amp;#160; Keep it simple – install it using a named management server/management group, and use Local System for the agent action account (these will remove any common issues with a low priv domain account, and AD integration if used)&amp;#160; If it works correctly – you can always reinstall again using low priv or AD integration.&lt;/li&gt;      &lt;li&gt;Remember to import certificats at this point if you are using those on the individual agent.&lt;/li&gt;      &lt;li&gt;As always – look in the OperationsManager event log…. this will tell you if it connected, and is working, or if there is a connectivity issue.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To summarize…. there are many things that can cause an agent issue, and many methods to troubleshoot.&amp;#160; However – to summarize at a very general level, my typical steps are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Review OpsMgr event log on agent&lt;/li&gt;    &lt;li&gt;Bounce HealthService&lt;/li&gt;    &lt;li&gt;Bounce HealthService clearing \Health Service State folder.&lt;/li&gt;    &lt;li&gt;Complete brute force reinstall of the agent.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If it an external issue is causing the issue (DNS, Kerberos, Firewall) then these steps likely will not help you…. but those should be available from the OpsMgr event log.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Also – make sure you see my other posts on agent health and troubleshooting during deployment:&lt;/p&gt;  &lt;p&gt;&lt;a title="Console based Agent Deployment Troubleshooting table" href="http://blogs.technet.com/kevinholman/archive/2009/01/27/console-based-agent-deployment-troubleshooting-table.aspx"&gt;Console based Agent Deployment Troubleshooting table&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Agent discovery and push troubleshooting in OpsMgr 2007" href="http://blogs.technet.com/kevinholman/archive/2007/12/12/agent-discovery-and-push-troubleshooting-in-opsmgr-2007.aspx"&gt;Agent discovery and push troubleshooting in OpsMgr 2007&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Getting lots of Script Failed To Run alerts- WMI Probe Failed Execution- Backward Compatibility" href="http://blogs.technet.com/kevinholman/archive/2009/06/29/getting-lots-of-script-failed-to-run-alerts-wmi-probe-failed-execution-backward-compatibility-script-error.aspx"&gt;Getting lots of Script Failed To Run alerts- WMI Probe Failed Execution- Backward Compatibility&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Agent Pending Actions can get out of synch between the Console, and the database" href="http://blogs.technet.com/kevinholman/archive/2008/09/29/agent-pending-actions-can-get-out-of-synch-between-the-console-and-the-database.aspx"&gt;Agent Pending Actions can get out of synch between the Console, and the database&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Which hotfixes should I apply-" href="http://blogs.technet.com/kevinholman/archive/2009/01/27/which-hotfixes-should-i-apply.aspx"&gt;Which hotfixes should I apply-&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284447" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/agents/default.aspx">agents</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/Hotfix/default.aspx">Hotfix</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/Tools/default.aspx">Tools</category></item><item><title>New Base OS MP 6.0.6667.0 adds file fragmentation monitor to all Logical Disks</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/28/new-base-os-mp-6-0-6667-0-adds-file-fragmentation-monitor-to-all-logical-disks.aspx</link><pubDate>Mon, 28 Sep 2009 19:09:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3283580</guid><dc:creator>kevinhol</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3283580.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3283580</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3283580</wfw:comment><description>&lt;p&gt;I recently blogged about the new Base OS MP that was recently released:&amp;#160; &lt;a href="http://blogs.technet.com/kevinholman/archive/2009/09/22/new-base-os-mp-released-9-18-2009-version-6-0-6667-0-to-add-support-for-windows-server-2008r2-and-other-fixes.aspx"&gt;HERE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;One of the things you will notice RIGHT off the bat… is that a huge percentage of your logical disks will go into a warning state, if you don't already have some sort of scheduled defragmentation set up.&amp;#160; This will be true for virtual machines and physical machines…. anything over 10 percent file fragmentation (or the OS recommended setting) will get hit:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb.png" width="327" height="364" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_1.png" width="716" height="424" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You will also get many warning alerts on this monitor…. the first time the condition is detected and the state changes for this monitor.&amp;#160; This monitor checks status every Saturday, at 3:00AM by default, for all logical disks discovered.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_10.png" width="656" height="143" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you don't care about this monitoring in SCOM – disable this monitor using overrides.&lt;/p&gt;  &lt;p&gt;If you do care about seeing the state change – but don't want the alerts – turn the “Generates Alert” property to False, using overrides.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can adjust the threshold from 10% to some other number…. but make sure you take note – this monitor will ignore the “File Percent Fragmentation” property by default, and always use the OS recommended setting.&amp;#160; If you want to control this – you also need to set “Use OS Recommendation” to FALSE.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is an example of hard coding the frag percentage to 20% from the OS default:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_4.png" width="745" height="377" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;“Use OS Recommendation” property description:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_3.png" width="321" height="83" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Lastly – one thing of interest….&amp;#160; If you want SCOM to “fix” the fragmentation issue…. it can.&amp;#160; There is a recovery on this very monitor that can run a VBScript that will run a defrag job against your logical disks.&amp;#160; It is disabled by default.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_5.png" width="546" height="167" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Keep in mind – if you turn on this defrag…. on your physical boxes – it wont be a big deal… it will simply fix the fragmentation issue.&amp;#160; However – this will also run on ALL yours VM’s.&amp;#160; If this was triggered all at the same time – Saturday at 3:00AM by default – this can kill the disk I/O on the disk subsystem hosting your VM/VHD files.&amp;#160; Keep this in mind if you decide to enable this….&amp;#160;&amp;#160; This recovery will only run when the state change is detected… as a recovery to the condition, so any disks that are already in a warning state will not run this recovery should you enable it.&amp;#160; This defrag has a timeout of 1 hour…. so it should kill the defrag if it cannot complete within an hour.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another cool thing to do – is to use the recovery action as a single run-time task. You can do this right from health explorer, to fix the disks on your own schedule:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_6.png" width="698" height="357" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Just click the link, and run the task:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_16.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_7.png" width="519" height="294" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Minimize this…. and just let it run – you can come back in 1 hour – and see if it completed, or timed out.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can also monitor for task status in the Task Status list in the console:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_20.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/New.0addsfilefragmentationmonitortoallLo_9CC7/image_thumb_9.png" width="780" height="462" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On the agent – you will see the following events logged in the OpsMgr event log:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Operations Manager       &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Health Service Script        &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9/28/2009 10:50:04 AM        &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4002        &lt;br /&gt;Task Category: None        &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Information        &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic        &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A        &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OMDW.opsmgr.net        &lt;br /&gt;Description:        &lt;br /&gt;Microsoft.Windows.Server.LogicalDisk.Defrag.vbs : Perform Defragmentation (disk: C:; computer: OMDW.opsmgr.net).&lt;/strong&gt;      &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And when completed:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Operations Manager       &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Health Service Script        &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9/28/2009 11:03:44 AM        &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4002        &lt;br /&gt;Task Category: None        &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Information        &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic        &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A        &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OMDW.opsmgr.net        &lt;br /&gt;Description:        &lt;br /&gt;Microsoft.Windows.Server.LogicalDisk.Defrag.vbs : Defragmentation completed (disk: C:; computer: OMDW.opsmgr.net): FilePercentFragmentation = 0.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3283580" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category></item><item><title>New KMS MP released version 6.0.7234.0 and some things you should know</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/23/new-kms-mp-released-version-6-0-7234-0-and-some-things-you-should-know.aspx</link><pubDate>Thu, 24 Sep 2009 01:37:33 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3282813</guid><dc:creator>kevinhol</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3282813.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3282813</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3282813</wfw:comment><description>&lt;p&gt;A new KMS (Key Management Services) MP is released.&amp;#160; I don't expect this is a widely used MP out there…. but there are some things you should know if you ever imported the previous versions.&lt;/p&gt;  &lt;p&gt;First – the new MP is available on the catalog:&amp;#160; &lt;a title="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx" href="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx"&gt;http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DO NOT&lt;/strong&gt; download this MP directly via the R2 direct download mechanism.&amp;#160; You need to get this one from the web catalog.&amp;#160; As in all MP’s – you need to read the guide FIRST… because the “Before you import” section is critical.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The new MP is &lt;strong&gt;not backward compatible&lt;/strong&gt; with the previous MP.&amp;#160; You MUST delete any previous version of the KMS MP you have installed.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you used the previous version of the KMS MP – you might have noticed some issues.&amp;#160; For instance, the old KMS MP added a unique dataset type to the warehouse, with a grooming procedure just for the KMS dataset.&amp;#160; These didn't work.&amp;#160; When you download the new MP, it comes with instructions and a cleanup script to fix this.&amp;#160; If you ever imported the old MP – you are affected.&amp;#160; You will see the following events on your RMS every 10-11 minutes:&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Operations Manager       &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Health Service Modules        &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9/23/2009 4:20:53 PM        &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 31552        &lt;br /&gt;Task Category: Data Warehouse        &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error        &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic        &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A        &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OMRMS.opsmgr.net        &lt;br /&gt;Description:        &lt;br /&gt;&lt;font color="#ff0000"&gt;Failed to store data in the Data Warehouse.         &lt;br /&gt;Exception 'SqlException': Sql execution failed. Error 777971002, Level 16, State 1, Procedure StandardDatasetGroom, Line 303, Message: Sql execution failed. Error 2812, Level 16, State 62, Procedure StandardDatasetGroom, Line 145, Message: Could not find stored procedure 'KMS_EventGroom'. &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;One or more workflows were affected by this.&amp;#160; &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Workflow name: Microsoft.SystemCenter.DataWarehouse.StandardDataSetMaintenance        &lt;br /&gt;Instance name: KMS Activation Event Data Set         &lt;br /&gt;Instance ID: {35CE8740-3FCF-FA7F-D733-1ECD0FBE0D7F}         &lt;br /&gt;Management group: PROD1&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So – here are the necessary steps to get this new MP working (from reading the MP guide):&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;font color="#0000ff"&gt;Delete the old MP (typically going to be version 6.0.6278.9)&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#0000ff"&gt;Run the cleanup SQL script against the OperationsManagerDW (Warehouse) database.&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#0000ff"&gt;Import the new MP.&lt;/font&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you had previously imported the old KMS MP – and are getting this event on your RMS, and you no longer wish to use the KMS MP anymore….. you can clean this up using the script that is included with the new MP.&amp;#160; So for a cleanup ONLY – where you do not wish to use the KMS MP:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;font color="#0000ff"&gt;Make sure the old KMS MP is deleted.&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#0000ff"&gt;Run the cleanup SQL script against the OperationsManagerDW (Warehouse) database.&lt;/font&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The script output simply displays this when complete:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/NewKMSMPrele.0andsomethingsyoushouldknow_F7B8/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/NewKMSMPrele.0andsomethingsyoushouldknow_F7B8/image_thumb_1.png" width="453" height="86" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A cleaned up environment will no longer have any KMS datasets, or stored procedures for grooming this dataset.&amp;#160; You can inspect for these with the following queries against the warehouse:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;select * from standarddataset&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;select * from sysobjects where name like ('%kms%')&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once the cleanup script has been run – these should return no results.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;***Note&lt;/strong&gt; – the new MP does not contain any reports.&amp;#160; The old MP had reports the leveraged the KMS Dataset, but the new MP does not.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3282813" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category></item><item><title>Alert Notification Subscription Variables, and linking that to the console, database, and SDK</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/23/alert-notification-subscription-variables-and-linking-that-to-the-console-database-and-sdk.aspx</link><pubDate>Wed, 23 Sep 2009 20:54:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3282762</guid><dc:creator>kevinhol</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3282762.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3282762</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3282762</wfw:comment><description>&lt;P&gt;Attached you will find a spreadsheet, with all the possible alert notification subscription variables that I am aware of.&amp;nbsp; In this spreadsheet, I link these to the same values in the Alert table of the DB, the alert view of the DB, the Console alert view, the SDK (Get-Alert), and lastly the new R2 Connector Key pairs.&lt;/P&gt;
&lt;P&gt;My thought was to better understand each data property type of an alert, and what you can managed, from each area.&amp;nbsp; Hope this is beneficial.&lt;/P&gt;
&lt;P&gt;Most of these are listed at my other blog post on alert description and notification variables:&amp;nbsp; &lt;A title=http://blogs.technet.com/kevinholman/archive/2007/12/12/adding-custom-information-to-alert-descriptions-and-notifications.aspx href="http://blogs.technet.com/kevinholman/archive/2007/12/12/adding-custom-information-to-alert-descriptions-and-notifications.aspx" mce_href="http://blogs.technet.com/kevinholman/archive/2007/12/12/adding-custom-information-to-alert-descriptions-and-notifications.aspx"&gt;http://blogs.technet.com/kevinholman/archive/2007/12/12/adding-custom-information-to-alert-descriptions-and-notifications.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Here is a sample shot of the spreadsheet tool:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/AlertNotificationSubscriptionVariablesan_B58A/image_2.png" mce_href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/AlertNotificationSubscriptionVariablesan_B58A/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/AlertNotificationSubscriptionVariablesan_B58A/image_thumb.png" width=1028 height=330 mce_src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/AlertNotificationSubscriptionVariablesan_B58A/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;See attached:&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3282762" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/kevinholman/attachment/3282762.ashx" length="16102" type="application/octet-stream" /><category domain="http://blogs.technet.com/kevinholman/archive/tags/notification/default.aspx">notification</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/Tools/default.aspx">Tools</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/Authoring/default.aspx">Authoring</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/connectors/default.aspx">connectors</category></item><item><title>New Base OS MP released 9-18-2009 version 6.0.6667.0 to add support for Windows Server 2008R2 and other fixes</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/22/new-base-os-mp-released-9-18-2009-version-6-0-6667-0-to-add-support-for-windows-server-2008r2-and-other-fixes.aspx</link><pubDate>Tue, 22 Sep 2009 15:40:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3282461</guid><dc:creator>kevinhol</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3282461.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3282461</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3282461</wfw:comment><description>&lt;p&gt;As you can see from the “Changes in this update section” of the guide – this isn't just about supporting Server 2008 R2 – there are many fixes and updates, so this would be a good one to get through your testing cycles and plan for production.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Available on the catalog:&amp;#160; &lt;a title="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx" href="http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx"&gt;http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a name="_Toc239234930"&gt;&lt;strong&gt;Changes in This Update&lt;/strong&gt;&lt;/a&gt;&lt;a name="zba4eeaaa998840f0a7d03278bb7f872e"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The September 2009 release (version 6.0.6667.0) of the Windows Server Operating System Management Pack includes the following changes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for Windows Server 2008 R2, including new classes to represent Windows Server 2008 R2 systems specifically. &lt;/li&gt;    &lt;li&gt;The intervals for some discoveries have been changed to reduce CPU usage. For details, see &lt;a href="#z87792d9bf5d848daad1d529a7c864455"&gt;Objects the Windows Server Operating System Management Pack Discovers&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Added Logical Disk Fragmentation Level monitors for Windows Server 2003 and Windows Server 2008. &lt;/li&gt;    &lt;li&gt;Disabled the following rules and monitors for Windows Server 2008 because the events needed are in Windows Server 2003 only.      &lt;ul&gt;       &lt;li&gt;Duplicate computer name was detected &lt;/li&gt;        &lt;li&gt;Windows Activation State &lt;/li&gt;        &lt;li&gt;Disk Group Failed &lt;/li&gt;        &lt;li&gt;Disk Group Auto Import Failed &lt;/li&gt;        &lt;li&gt;Volume Not Started &lt;/li&gt;        &lt;li&gt;Run WMIAdap &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Fixed the summary details for the Performance History (Percent Processor Time) report to indicate that the object type is Windows Server 2003 operating system rather than Windows Server 2003 processor. &lt;/li&gt;    &lt;li&gt;Fixed the Performance History (Percent Interrupt Time) report to use a rule that targets the operating system rather than the processor. &lt;/li&gt;    &lt;li&gt;Changed the data source for discoveries from System.Scheduler to System.Discovery.Scheduler to avoid performance issues. &lt;/li&gt;    &lt;li&gt;Changed the Logical Disk Availability monitor to use a Run As profile with administrative privileges to enable it to run in a low-privilege environment. &lt;/li&gt;    &lt;li&gt;Modified logical disk discovery to exclude mount points, because numerous rules use performance counters that are not applicable to mount points. &lt;/li&gt;    &lt;li&gt;Fixed an issue in which an alert could be generated for Windows Activation too early. &lt;/li&gt;    &lt;li&gt;Addressed an issue that was causing some discoveries to not show up correctly in the authoring section of the console. &lt;/li&gt;    &lt;li&gt;Improved the product knowledge for the alert generated by the “A Service is Mis-configured” rule. &lt;/li&gt;    &lt;li&gt;Fixed issue in which logical disk health check could have performance problems when run against clustered servers. &lt;/li&gt;    &lt;li&gt;Fixed links to views in product knowledge articles. &lt;/li&gt;    &lt;li&gt;Added Active Alerts views for Windows Server 2003 and Windows Server 2008. &lt;/li&gt;    &lt;li&gt;Added retry logic to the &amp;quot;Probe Module: Is Feature Installed&amp;quot; module to avoid failures due to periodic time-outs. &lt;/li&gt;    &lt;li&gt;Added a new integer property named &amp;quot;Size (MBytes) (Numeric)&amp;quot; to the Logical Disk class and updated the existing property &amp;quot;Size (Bytes) (String)&amp;quot; to clarify that it is a string. The new property can now be used in formulas and views as expected. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Make sure you also check out the new supported config statement and known issues regarding Server 2008 R2 and Windows 7 support:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://support.microsoft.com/kb/974722" href="http://support.microsoft.com/kb/974722"&gt;&lt;strong&gt;http://support.microsoft.com/kb/974722&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3282461" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category><category domain="http://blogs.technet.com/kevinholman/archive/tags/2008/default.aspx">2008</category></item><item><title>Community Cisco Network Hardware Management pack available</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/15/community-cisco-network-hardware-management-pack-available.aspx</link><pubDate>Wed, 16 Sep 2009 01:08:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3281279</guid><dc:creator>kevinhol</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3281279.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3281279</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3281279</wfw:comment><description>&lt;p&gt;This guy has some serious talent.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://operatingquadrant.com/2009/09/14/scom-advanced-snmp-monitoring-part-iii-the-completed-cisco-management-pack/" href="http://operatingquadrant.com/2009/09/14/scom-advanced-snmp-monitoring-part-iii-the-completed-cisco-management-pack/"&gt;http://operatingquadrant.com/2009/09/14/scom-advanced-snmp-monitoring-part-iii-the-completed-cisco-management-pack/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Make sure you check out all of Kris’s blog posts – amazingly good stuff there on using SNMP to accomplish monitoring that is otherwise very difficult, among other good posts.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3281279" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/management+pack/default.aspx">management pack</category></item><item><title>Hard to believe its been two years</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/11/hard-to-believe-its-been-two-years.aspx</link><pubDate>Sat, 12 Sep 2009 00:12:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3280653</guid><dc:creator>kevinhol</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3280653.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3280653</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3280653</wfw:comment><description>&lt;p&gt;As I was looking at my blog today…. I noticed my first blog post was Sept of 2007.&amp;#160; Hard to believe I have been blogging about OpsMgr for two years now.&amp;#160; Even harder to believe (to me) is that I have been working at Microsoft for nearly 3 and a half years now.&amp;#160; In this Company… time literally flies.&amp;#160; I still sometimes feel like I am the new guy here…. like I just started.&amp;#160; I am still cutting my baby teeth.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On blogging…. I never thought I would ever blog.&amp;#160; I saw all the good SCOM blogs out there, and thought…. what do I possibly have to write about?&amp;#160; I also used to see blogging in general as narcissistic.&amp;#160; Sort of a “hey look at me!” approach to the industry or technology.&amp;#160; I was wrong on that one.&amp;#160; Technical blogs add a new dimension to the products we use, and the community that uses them.&amp;#160; It helps us share information and neat ideas faster and simpler than we ever could before.&amp;#160; It is also very good self-promotion for those whom make their living as consultants.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;How I started:&amp;#160; What happened was… I had this big list of SQL queries, that I used for MOM 2005.&amp;#160; I used to host them on a personal website…. so that anytime I was onsite with a customer – we could pull them up, copy, and paste them, depending on what we were working on.&amp;#160; I HATED writing SQL statements back then, because I was terrible at it….. so I cheated.&amp;#160; I kept them all in a big notepad document, that I would upload to my website from time to time.&amp;#160; As I shared my list of queries (mostly stolen or collected from hundreds of sources) I decided to start a MS blog – and post those queries there.&amp;#160; My peers were always using them – so why not post them publicly?&amp;#160; And the rest just took on a life of its own.&lt;/p&gt;  &lt;p&gt;When OpsMgr 2007 hit RTM…. the need for real world examples and guidance was staggering.&amp;#160; What a challenging product to learn from scratch.&amp;#160; So from that point on, anytime I learned something from working with a customer that I thought would be valuable…. up on the blog it went.&lt;/p&gt;  &lt;p&gt;I appreciate all the feedback I have gotten from you all, and your topics, issues, and questions.&amp;#160; I enjoy blogging more than I ever thought I would… and I plan on continuing every chance I get.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3280653" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/links/default.aspx">links</category></item><item><title>Removing an old product connector</title><link>http://blogs.technet.com/kevinholman/archive/2009/09/10/removing-an-old-product-connector.aspx</link><pubDate>Fri, 11 Sep 2009 00:01:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3280471</guid><dc:creator>kevinhol</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/kevinholman/comments/3280471.aspx</comments><wfw:commentRss>http://blogs.technet.com/kevinholman/commentrss.aspx?PostID=3280471</wfw:commentRss><wfw:comment>http://blogs.technet.com/kevinholman/rsscomments.aspx?PostID=3280471</wfw:comment><description>&lt;p&gt;In OpsMgr – there is no simple way to remove a product connector once installed.&amp;#160; There is no delete function in the UI:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Removinganoldproductconnector_E174/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/kevinholman/WindowsLiveWriter/Removinganoldproductconnector_E174/image_thumb.png" width="344" height="227" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What if you have an old connector that you no longer use?&amp;#160; Or, if you quit using an Engyro connector, and started using a MS branded R2 connector?&lt;/p&gt;  &lt;p&gt;It may be necessary to forcibly remove a connector from OpsMgr 2007. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;*** Note – this process is not officially supported.&amp;#160; There is no officially supported way to remove an old connector.&amp;#160; It is only being demonstrated here for example purposes.&amp;#160; I have used these steps with customers, and thus far no ill effects were discovered.&amp;#160; These steps were gleaned from a MS newsgroup posting.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Open SQL Server Management Studio from the Start menu and run the following queries on the Operations Manager database.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000" size="4"&gt;Step 1:&lt;/font&gt;&lt;/strong&gt; Find the ConnectorID:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;select DisplayName,IsInitialized,ConnectorID from Connector,BaseManagedEntity &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;where Connector.BaseManagedEntityID=BaseManagedEntity.BaseManagedEntityID&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This will return 3 Columns: The Display Name, Initialized Flag, and ConnectorID. &lt;/p&gt;  &lt;p&gt;Find the &lt;strong&gt;&lt;em&gt;ConnectorID&lt;/em&gt;&lt;/strong&gt; of the connector you want to remove.&amp;#160; Copy it to Notepad for safekeeping.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000" size="4"&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&lt;/font&gt; Un-Initialize the Connector &lt;/p&gt;  &lt;p&gt;If the Connector field &amp;quot;IsInitialized&amp;quot; is 1, then you will need to uninitialize the connector before deleting it. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;If&lt;/em&gt;&lt;/strong&gt; IsInitialized is 0, &lt;strong&gt;&lt;em&gt;skip to step 3&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;Use the p_ConnectorUpdate SP to uninitialize the connector: &lt;/p&gt;  &lt;p&gt;The first column is &lt;strong&gt;&lt;em&gt;YOUR&lt;/em&gt;&lt;/strong&gt; connectorID, 2nd column is the bookmark (this should be NULL), and the 3rd column is the initialized state (0 in our case) &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;EXEC p_ConnectorUpdate '5fabdf4c-a1f8-43bf-ac18-e46e20bd470b',NULL,0&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Make sure this worked – by re-running the initial query, and ensure the connector initialized state is now 0.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000" size="4"&gt;Step 3:&lt;/font&gt;&lt;/strong&gt; Delete the Connector &lt;/p&gt;  &lt;p&gt;Use the p_ConnectorDelete SP to delete the connector. &lt;/p&gt;  &lt;p&gt;The first parameter is &lt;strong&gt;&lt;em&gt;YOUR&lt;/em&gt;&lt;/strong&gt; ConnectorID, the 2nd Parameter is the comments you want added to the alert history when the connector is deleted, and the 3rd parameter is the Modified By field you want added to the alert history. (I use NULL for the optional fields to keep it simple.)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;EXEC p_ConnectorDelete '5fabdf4c-a1f8-43bf-ac18-e46e20bd470b',NULL,NULL &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This procedure can take a long time if there is a lot of data still associated with the connector. Be Patient.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now – I need to mention – there is also a very interesting community tool – which was written to manage product connectors.&amp;#160; I have not used it – but it is worth a look:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.systemcentercentral.com/Downloads/DownloadsDetails/tabid/144/IndexID/12581/Default.aspx" href="http://www.systemcentercentral.com/Downloads/DownloadsDetails/tabid/144/IndexID/12581/Default.aspx"&gt;http://www.systemcentercentral.com/Downloads/DownloadsDetails/tabid/144/IndexID/12581/Default.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3280471" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kevinholman/archive/tags/connectors/default.aspx">connectors</category></item></channel></rss>