<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5251922690454802525</id><updated>2011-11-27T23:46:05.234Z</updated><category term='Operations Manger 2007'/><category term='xml'/><category term='port monitoring'/><category term='HP'/><category term='Powershell'/><category term='Storageworks'/><category term='management pack'/><category term='Operation Manager'/><category term='data warehouse'/><category term='cache.'/><category term='upgrade'/><category term='Active Directory Agent Assignment'/><category term='Operations manager 2007'/><category term='sealed'/><category term='console'/><category term='Authoring'/><category term='permissions'/><category term='RMS'/><category term='sql'/><category term='Agent'/><category term='notepad++'/><category term='Scripts'/><category term='Maintenance Mode'/><category term='opsmgr'/><category term='off topic'/><category term='hotfix'/><category term='Cluster'/><category term='Command Shell'/><category term='backup'/><title type='text'>Derek Ops Manager</title><subtitle type='html'>Random Operations Manager 2007 stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-7417459462354976561</id><published>2010-02-12T13:22:00.003Z</published><updated>2010-02-12T13:29:53.145Z</updated><title type='text'>Moving On</title><content type='html'>I am moving on to a new role in my current job. I will no longer be working on OpsMgr related topics. I will leave this blog and its content available but I currently have no plans for any more posts.&lt;br /&gt;Maybe my new role will at some stage allow me to resurrect this blog under a new name but that may be some time.&lt;br /&gt;&lt;br /&gt;Derek&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-7417459462354976561?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/7417459462354976561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=7417459462354976561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7417459462354976561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7417459462354976561'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2010/02/moving-on.html' title='Moving On'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-528510124257680293</id><published>2009-12-08T09:41:00.002Z</published><updated>2009-12-08T09:48:11.078Z</updated><title type='text'>Automatic Maintenance Mode after Windows Update</title><content type='html'>Nice work by J. Greg using the Agent Maintenance Mode MP to do &lt;a href="http://www.uvm.edu/%7Ejgm/wordpress/?p=238"&gt;Automatic Maintenance Mode after Windows Update&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-528510124257680293?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/528510124257680293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=528510124257680293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/528510124257680293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/528510124257680293'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2009/12/automatic-maintenance-mode-after.html' title='Automatic Maintenance Mode after Windows Update'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-7125570410516816488</id><published>2009-11-25T15:06:00.003Z</published><updated>2009-11-25T15:23:10.461Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maintenance Mode'/><category scheme='http://www.blogger.com/atom/ns#' term='permissions'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='opsmgr'/><title type='text'>Permissions Required for Agent Maintenance Mode</title><content type='html'>I had a few emails regarding the &lt;a href="http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html"&gt;Agent Maintenance Mode&lt;/a&gt; not working for some. It appears that there are a few reasons for this not to work correctly:&lt;br /&gt;&lt;br /&gt;1. System Center Essentials 2010 that uses Opsmgr 2007 R2 but they have still don’t include the powershell support (Thanks to Bjorn Axell for this info)&lt;br /&gt;&lt;br /&gt;2. The Default Action Account on the RMS must be a member of the Operations Manager Administrators Group. If you configured the action account by using Local System or a user that is not part of the Operations Manager Administrators Group, the script will not work.&lt;br /&gt;This is a standard configuration for several MPs including the Opeartions Manager MP and the Active Directory MP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-7125570410516816488?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/7125570410516816488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=7125570410516816488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7125570410516816488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7125570410516816488'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2009/11/permissions-required-for-agent.html' title='Permissions Required for Agent Maintenance Mode'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-7618041285127735882</id><published>2009-11-18T01:36:00.011Z</published><updated>2009-11-25T15:25:17.887Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maintenance Mode'/><category scheme='http://www.blogger.com/atom/ns#' term='Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='opsmgr'/><title type='text'>New Agent Maintenance Mode</title><content type='html'>Here is a new version of the Agent Maintenance Mode MP. This version is only for OpsMgr R2 as it leverages the new powershell modules only available in R2.&lt;br /&gt;&lt;br /&gt;--Update--&lt;br /&gt;Read this post if this is not working for you -&lt;a href="http://derekhar.blogspot.com/2009/11/permissions-required-for-agent.html"&gt;Permissions Required for Agent Maintenance Mode&lt;/a&gt;&lt;br /&gt;The readme has also been updated with this info&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;To recap on this solution:&lt;br /&gt;It allows you to start Maintenance Mode from an monitored server using  just a vbscript. Using this requires absolutely no permissions in Operations Manager. All of the components required to  have this function are part of a standard OS with an agent installed. It works through Gateways so can be used in firewalled or untrusted environments.&lt;br /&gt;&lt;br /&gt;The MaintMode.vbs writes an event to the event log that indicates the length of time Maintenance Mode should remain on. This is picked up by the management pack and processed on the RMS to turn on Maintenance Mode for that server. The on time can be specified in days, hours or minutes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/AgentMaintMode.zip"&gt;&lt;span style="text-decoration: underline;"&gt;Download here&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The zip file contains a Readme with more information and usage instructions.&lt;br /&gt;&lt;br /&gt;Highligh of changes in this version:&lt;br /&gt;Management Pack Changes&lt;br /&gt;*    Added Powershell modules in MP (R2 feature) to replace scripts on RMS. Some logic reworking in scripts&lt;br /&gt;*    Support for Server 2008&lt;br /&gt;*    Fixed ON/Off logic to not put Health Service and Health Service Watcher in to Maint Mode as R2 puts HS and HSW in to MM automatically&lt;br /&gt;•    Added Maint Mode event collection rules&lt;br /&gt;•    Added Schedule Maint Mode text file option  at C:\MaintenanceModeSchedule.txt - origional by Steve Rachui - http://blogs.msdn.com/steverac/archive/2008/12/09/maintenance-mode-by-config-file.aspx&lt;br /&gt;*     Disables discovery on RMS as Maintenance Mode should not be used on RMS&lt;br /&gt;&lt;br /&gt;MaintMode.vbs&lt;br /&gt;*    Now logs the username in the event log of who turned it on: “Maintenance Mode: ON for 6 hour(s): 360 . Turned on by domain\user”&lt;br /&gt;*    Adds registry markers to indcate current status under HKLM/Software/OpsMgr/Maintenance Mode. Can be used by patching tools.&lt;br /&gt;*    Added STATUS option that reads current status from registry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-7618041285127735882?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/7618041285127735882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=7618041285127735882' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7618041285127735882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7618041285127735882'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html' title='New Agent Maintenance Mode'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-1246696290460476896</id><published>2009-08-25T12:44:00.010+01:00</published><updated>2009-08-25T13:45:30.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sealed'/><category scheme='http://www.blogger.com/atom/ns#' term='port monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='opsmgr'/><category scheme='http://www.blogger.com/atom/ns#' term='management pack'/><title type='text'>Port Monitoring from a text file</title><content type='html'>This is another solution on how to make something that requires permissions and experience in OspMgr available to everyone to use. Teach a man to fish and all that.&lt;br /&gt;&lt;br /&gt;These two Management packs will allow any user you specify using simple NTFS permissions to add port monitoring for a server, network device etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Usage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Download and Import the 2 management packs:&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0pt; width: 290px; height: 26px; background-color: rgb(255, 255, 255);" src="http://cid-397bb61b75cc76c5.skydrive.live.com/embedrow.aspx/Public/PortMonitoring/Custom.PortMonitoring.Library.mp" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0pt; width: 290px; height: 26px; background-color: rgb(255, 255, 255);" src="http://cid-397bb61b75cc76c5.skydrive.live.com/embedrow.aspx/Public/PortMonitoring/Custom.Infra.AgentlessAvailabilty.xml" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On each management server a discovery in the AgentlessAvailabilty MP will create a text file C:\AgentlessMonitoring\resource.txt&lt;br /&gt;&lt;br /&gt;You can add entries to this file in the format:&lt;br /&gt;{name or IP address}, port&lt;port&gt;   -              (comma seperated)&lt;br /&gt;&lt;br /&gt;If no port is specified it will default to port 445.&lt;br /&gt;Use the hash # at the start of a line to insert a comment.&lt;br /&gt;&lt;br /&gt;&lt;/port&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;servername or="" ipaddress=""&gt;&lt;port&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_U2l5oHDDUUM/SpPT5jYPThI/AAAAAAAAA1A/1EIuClbo7tU/s1600-h/notepad.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 171px; height: 103px;" src="http://3.bp.blogspot.com/_U2l5oHDDUUM/SpPT5jYPThI/AAAAAAAAA1A/1EIuClbo7tU/s320/notepad.png" alt="" id="BLOGGER_PHOTO_ID_5373871766086045202" border="0" /&gt;&lt;/a&gt;&lt;/port&gt;&lt;/servername&gt;&lt;br /&gt;&lt;/div&gt;&lt;servername or="" ipaddress=""&gt;&lt;port&gt;&lt;/port&gt;&lt;/servername&gt;&lt;/div&gt;&lt;servername or="" ipaddress=""&gt;&lt;port&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The discovery runs every 1 hour. After the discovery runs any entries in the file will then display in the console under the standard Synthetic Transaction folder&lt;br /&gt;Each entry will be checked every 10 minutes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_U2l5oHDDUUM/SpPUl7eJJaI/AAAAAAAAA1I/g96V3Ftet7s/s1600-h/console.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 154px;" src="http://2.bp.blogspot.com/_U2l5oHDDUUM/SpPUl7eJJaI/AAAAAAAAA1I/g96V3Ftet7s/s320/console.png" alt="" id="BLOGGER_PHOTO_ID_5373872528467502498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These MPs simply reuse the existing Port Monitoring template so there is a full range of specific alerts, health states and associated Knowledge articles&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/port&gt;&lt;/servername&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_U2l5oHDDUUM/SpPV4B5C7aI/AAAAAAAAA1Q/VhXLAlJs0c0/s1600-h/healthexplorer.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: left; cursor: pointer; width: 320px; height: 162px;" src="http://4.bp.blogspot.com/_U2l5oHDDUUM/SpPV4B5C7aI/AAAAAAAAA1Q/VhXLAlJs0c0/s320/healthexplorer.png" alt="" id="BLOGGER_PHOTO_ID_5373873938940226978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To make this so that anyone can use it simply share the C:\AgentlessMonitoring folder giving write permissions to those who need it&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technical Details&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;The sealed&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span&gt;Custom.PortMonitoring.Library&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span&gt;is essentially the Port Monitoring template with the module types having any specific information promoted to class properties. The discovery in the unselaed Custom.Infra.AgentlessAvailabilty MP then creates class instances with the necessary properties.&lt;br /&gt;&lt;br /&gt;You can leverage the sealed MP from other management packs to add port monitoring. All it takes is writing a discovery.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-1246696290460476896?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/1246696290460476896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=1246696290460476896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1246696290460476896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1246696290460476896'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2009/08/port-monitoring-from-text-file.html' title='Port Monitoring from a text file'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_U2l5oHDDUUM/SpPT5jYPThI/AAAAAAAAA1A/1EIuClbo7tU/s72-c/notepad.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-1909984248870806251</id><published>2009-04-17T15:57:00.002+01:00</published><updated>2009-04-17T16:13:44.604+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hotfix'/><category scheme='http://www.blogger.com/atom/ns#' term='Cluster'/><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='opsmgr'/><category scheme='http://www.blogger.com/atom/ns#' term='RMS'/><title type='text'>How to upgrade or apply a hotfix to a Clustered RMS</title><content type='html'>We have had a some difficulties over the months trying to apply hotfixes to any clustered Root Management Server. The hotfix installers try and stop the 3 OpsMgr services, apply the hotfix and them restart the services. These steps result in some unexpected behavior on a Clustered RMS.&lt;br /&gt;&lt;br /&gt;What I have seen is that after the hotfix installer stops the RMS services the Cluster Service will try and restart them again. &lt;br /&gt;&lt;br /&gt;This results in either the services running on the node you are trying to patch or the RMS resource group failing over. If the RMS fails over then, when the hotfix tries to restart the services after it has completed, it either times out or you have the RMS services running on both Cluster nodes. It it restarts the service on the node you are trying to patch the install will fail as the files are in use.&lt;br /&gt;&lt;br /&gt;Here are some steps that can avoid these issues:&lt;br /&gt;&lt;br /&gt;1. In Cluster Administrator ensure the RMS resource group is on the node you are patching. Then Pause the Node you are not patching. Simply right Click on the node and select Pause. This stops the resource group failing over to the other node.&lt;br /&gt;&lt;br /&gt;2. Set the 3 RMS services not to restart automatically. Selecting each service, right Click and select Properties. On the Advanced tab set it to "Do not restart"&lt;br /&gt;&lt;br /&gt;3. Apply the hotfix to the current node&lt;br /&gt;&lt;br /&gt;4. When the hotfix has completed reset the services to restart automatically and resume the other node.&lt;br /&gt;&lt;br /&gt;Repeat this to apply the patch to the second node.&lt;br /&gt;&lt;br /&gt;This process also worked for me in upgrading a clustered lab environment to the Release Candidate of R2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-1909984248870806251?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/1909984248870806251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=1909984248870806251' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1909984248870806251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1909984248870806251'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2009/04/how-to-upgrade-or-apply-hotfix-to.html' title='How to upgrade or apply a hotfix to a Clustered RMS'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-2965068940337594910</id><published>2008-12-05T10:55:00.003Z</published><updated>2008-12-05T10:58:23.901Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>Operations Manager Data Warehouse High CPU Utilization</title><content type='html'>Some good steps if you are having trouble with CPU on your DW.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.afinn.net/2008/10/operations-manager-data-warehouse-high-cpu-utilization/"&gt;http://www.afinn.net/2008/10/operations-manager-data-warehouse-high-cpu-utilization/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-2965068940337594910?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/2965068940337594910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=2965068940337594910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2965068940337594910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2965068940337594910'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/12/operations-manager-data-warehouse-high.html' title='Operations Manager Data Warehouse High CPU Utilization'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-2775635723489349443</id><published>2008-10-09T12:29:00.004+01:00</published><updated>2008-10-09T14:32:12.040+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='data warehouse'/><title type='text'>Data Warehouse  Queries for Noisy Rules</title><content type='html'>Here are a few SQL queries that you can run on the Operations Manager Data warehouse to determine what are the Noisy Event and Performance rules in your enviroment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Noisy Event Rules&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;select count(*) as cnt, RuleDefaultName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;from Event.vEvent as ev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Left Join Event.vEventRule as evi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;On ev.eventOriginID = evi.eventOriginID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Left Join vRule as r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;On r.RuleRowId = evi.RuleRowId&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;group by RuleDefaultName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;order by cnt desc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Noisy Performance Rules&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;select count(*) as cnt, RuleDefaultName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;from Perf.vPerfRaw as pr&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Left Join vPerformanceRuleInstance as pri&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;On pr.PerformanceRuleInstanceRowId = pri.PerformanceRuleInstanceRowId&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Left Join vRule as r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;On r.RuleRowId = pri.RuleRowId&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;group by RuleDefaultName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;order by cnt desc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As expected, in a few enviroments I tested, some of the busiest performance rules were the Processor and Memory collection rules.&lt;br /&gt;&lt;br /&gt;However there were several unexpectedly busy Event rules that accounted for a significant portion of all the event data and some of these were subsequently disabled.&lt;br /&gt;&lt;br /&gt;Thanks to Reut for pointing me in the right direction for the initial query.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-2775635723489349443?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/2775635723489349443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=2775635723489349443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2775635723489349443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2775635723489349443'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/10/data-warehouse-queries-for-noisy-rules.html' title='Data Warehouse  Queries for Noisy Rules'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-3350102397327325745</id><published>2008-10-08T12:51:00.002+01:00</published><updated>2008-10-08T13:41:48.183+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>Speed up Command Shell startup</title><content type='html'>There is a &lt;a href="http://blogs.msdn.com/powershell/archive/2008/09/02/speeding-up-powershell-startup-updating-update-gac-ps1.aspx"&gt;post&lt;/a&gt; over on the Powershell team blog about how to speed up Powershell startup times. I ran this on a few of my Operations Manager Servers and it noticeably made a difference to Powershell startup times. However the Operations Manager command shell was still quite a bit slower.&lt;br /&gt;&lt;br /&gt;I then ran the same script from within the command shell and it found something to NGEN&lt;br /&gt;&lt;br /&gt;NGENing      : Microsoft.EnterpriseManagement.OperationsManager.ClientShell.dll&lt;br /&gt;&lt;br /&gt;In my very scientific way of couting seconds in my head before and after running this it definitley starts faster.&lt;br /&gt;&lt;br /&gt;Check it out - http://blogs.msdn.com/powershell/archive/2008/09/02/speeding-up-powershell-startup-updating-update-gac-ps1.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-3350102397327325745?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/3350102397327325745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=3350102397327325745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3350102397327325745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3350102397327325745'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/10/speed-up-command-shell-startup.html' title='Speed up Command Shell startup'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-8778735414793730241</id><published>2008-10-03T15:14:00.002+01:00</published><updated>2008-10-03T15:18:38.759+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='cache.'/><category scheme='http://www.blogger.com/atom/ns#' term='console'/><title type='text'>Clearing Console Cache and User Settings</title><content type='html'>&lt;span&gt;&lt;p&gt;There are a few steps to be taken to really clean up a console if you have performed some personalization.&lt;/p&gt;&lt;p&gt;Open regedit and delete the key HKEY_CURRENT_USER\Software\Microsoft\Microsoft Operations Manager\3.0\Console&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Start the Operations Console from the command line with the option &lt;strong style="font-weight: bold;"&gt;/clearcache&lt;/strong&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Example:&lt;/p&gt; &lt;p&gt;&lt;em&gt;C:\Program Files\System Center Operations Manager 2007\Microsoft.MOM.UI.Console.exe" /clearcache&lt;/em&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-8778735414793730241?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/8778735414793730241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=8778735414793730241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8778735414793730241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8778735414793730241'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/10/clearing-console-cache-and-user.html' title='Clearing Console Cache and User Settings'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-7286020755568824233</id><published>2008-10-03T14:08:00.008+01:00</published><updated>2008-10-03T15:11:00.422+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='notepad++'/><category scheme='http://www.blogger.com/atom/ns#' term='management pack'/><title type='text'>Useful methods for searching MP's</title><content type='html'>Usually when i am looking for a way to do something in a management pack I refer to the Microsoft MP's as it has likely been done in them. Here is my normal process for searching these MP's.&lt;br /&gt;&lt;br /&gt;In my development environment I dump all the management packs out to their XML. This is done using Command Shell.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;mkdir c:\unsealed&lt;/span&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;&lt;br /&gt;get-managementpack | export-managementpack -path C:\unsealed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then I open &lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;Notepad++&lt;/a&gt; with the &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;amp;package_id=264094"&gt;XML Tools plugin&lt;/a&gt; installed. A fantastic function of Notepad++ is Find in Files...&lt;br /&gt;&lt;br /&gt;So say I am looking for the syntax to use in a recovery to start a service. I can Open up Notepad++ and do a Find in Files and look for "net start"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_U2l5oHDDUUM/SOYlrs042sI/AAAAAAAAAnE/gZLZ-OZmTTk/s1600-h/ACS.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_U2l5oHDDUUM/SOYlrs042sI/AAAAAAAAAnE/gZLZ-OZmTTk/s320/ACS.PNG" alt="" id="BLOGGER_PHOTO_ID_5252927448071854786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A few comments I read on the OpsMgr newsgroups about the Agent Maintenance Mode solution that I posted pointed out that the %MOMROOT% variable was not on the path and could not be used from the command line. If you do a search across all the MP's using the methid above it is defined in several different ones ( Sharepoint 2003, System Center Core Management Pack). Looks like this is something defined only within the context of OpsMgr.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_U2l5oHDDUUM/SOYny3-d_eI/AAAAAAAAAnM/xa-SfZI0kYE/s1600-h/momroot.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_U2l5oHDDUUM/SOYny3-d_eI/AAAAAAAAAnM/xa-SfZI0kYE/s320/momroot.PNG" alt="" id="BLOGGER_PHOTO_ID_5252929770347167202" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-7286020755568824233?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/7286020755568824233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=7286020755568824233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7286020755568824233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/7286020755568824233'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/10/useful-methods-for-searching-mps.html' title='Useful methods for searching MP&apos;s'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_U2l5oHDDUUM/SOYlrs042sI/AAAAAAAAAnE/gZLZ-OZmTTk/s72-c/ACS.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-5384875726361791119</id><published>2008-10-01T14:48:00.003+01:00</published><updated>2008-10-01T17:18:26.031+01:00</updated><title type='text'>All my failed Power supplies using Powershell</title><content type='html'>Sometimes you just want to see all the systems that have a certain problem, like failed power supplies or all systems where free disk space is low.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a bit of Powershell to list any server where the Health State of the HP Proliant SNMP Management Pack Power supply Class is in an Error state.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;$ClassID = "HewlettPackard.Servers.ProLiant.SNMP.HPProLiantSNMPPowerSupplies"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;$Class = get-monitoringclass -name:$ClassID&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;$ClassInstances = get-monitoringobject -monitoringclass:$Class&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;$Errors = $ClassInstances | where {$_.HealthState -eq "Error"}&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;Foreach ($Server in $errors)&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;{&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;$server."[HewlettPackard.Servers.HPHealthCollection].ServerName"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;font-size:100%;"  &gt;}&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Free Space /Availability of Logical Disks on Server 2003&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;$ClassID = "Microsoft.Windows.Server.2003.LogicalDisk"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;$Class = get-monitoringclass -name:$ClassID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;$ClassInstances = get-monitoringobject -monitoringclass:$Class&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;$Errors = $ClassInstances | where {$_.HealthState -eq "Error"}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;Foreach ($Server in $errors)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;$Server.Path + "," + $Server.name&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:times new roman;" &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A good way to catch issues where the alerts may have been missed.&lt;br /&gt;&lt;br /&gt;Of course you can just use the Discovered Inventory View on the Operations Console and change the target type to Windows Server 2003 Logical Disk but the console has no easy way to get this data out except a one by one copy and paste.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-5384875726361791119?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/5384875726361791119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=5384875726361791119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/5384875726361791119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/5384875726361791119'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/10/all-my-failed-power-supplies-using.html' title='All my failed Power supplies using Powershell'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-6737703486382281751</id><published>2008-10-01T13:18:00.005+01:00</published><updated>2008-10-01T17:20:02.353+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='management pack'/><category scheme='http://www.blogger.com/atom/ns#' term='Storageworks'/><title type='text'>Hp Storageworks Management Pack</title><content type='html'>I had a quick look at the Hp Storageworks MP v1.5  for the first time today and noticed quite a few glaring issues.&lt;br /&gt;&lt;br /&gt;There are 5 separate discoveries running every 60 seconds on ALL computers. Looks like someone forgot to change the interval on these after development was finished. At least it is possible to change these intervals using overrides.&lt;br /&gt;&lt;br /&gt;The discovery &lt;span style="font-style: italic;"&gt;"HP StorageWorks SNMP Trap Catcher Discovery Rule"&lt;/span&gt; discovers every system with the SNMPTRAP service installed. Then proceeds to start monitoring all these servers. This monitoring includes an WMI query that runs every 15 seconds on all the servers that have the SNMPTRAP service and runs a script every time!!&lt;br /&gt;&lt;br /&gt;The WMI query rule is using the backward compatibility layer so the interval cannot even be overriden.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-6737703486382281751?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/6737703486382281751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=6737703486382281751' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/6737703486382281751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/6737703486382281751'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/10/hp-storageworks-management-pack.html' title='Hp Storageworks Management Pack'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-8772650818241748649</id><published>2008-09-25T22:04:00.003+01:00</published><updated>2008-09-25T22:07:54.706+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='off topic'/><title type='text'>[Off Topic] - The EOL Monster</title><content type='html'>Some stuff that has been hanging  around the office for a few years.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_U2l5oHDDUUM/SNv9NQQ842I/AAAAAAAAAmc/njNYAoQfz0g/s1600-h/EOL.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_U2l5oHDDUUM/SNv9NQQ842I/AAAAAAAAAmc/njNYAoQfz0g/s400/EOL.PNG" alt="" id="BLOGGER_PHOTO_ID_5250068194776638306" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-8772650818241748649?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/8772650818241748649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=8772650818241748649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8772650818241748649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8772650818241748649'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/09/off-topic-eol-monster.html' title='[Off Topic] - The EOL Monster'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_U2l5oHDDUUM/SNv9NQQ842I/AAAAAAAAAmc/njNYAoQfz0g/s72-c/EOL.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-1653163655970478227</id><published>2008-08-14T14:52:00.008+01:00</published><updated>2008-08-26T14:20:02.893+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>Quick Access to OpsMgr Agent Information</title><content type='html'>Sometimes you need access to some information from Opsmgr in a hurry and you really do not want to open up the Ops Console and wait for it to load.&lt;br /&gt;&lt;br /&gt;Here is a powershell script that extracts information from OpsMgr and drops it into several HTML files so it can be added to a website.&lt;br /&gt;&lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/MonitoredServers/MonitoredServers.ps1%20"&gt;Download Script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The pages created are the following&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AgentsCounts.html&lt;/span&gt; - This gives give you a count of  the number of agents per management group and breaks this down also by per management server&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MonitoredServers.html&lt;/span&gt; - This page gives a complete list of all the agents being monitored by Opsmgr.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;ServersDown.html&lt;/span&gt; - This gives a list of servers that may be down. It is actually a list of servers where the health service watcher is in an "Error" state.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;AgentsLast7days.html&lt;/span&gt; - This is a list of all agents installed in the last 7 days, when they were installed and includes their health state&lt;br /&gt;&lt;br /&gt;The script does require some configuration before it can be used:&lt;br /&gt;&lt;br /&gt;1)  At the very start of the script you have to enter the name of the Root Management Server. You can uncomment the next lines lines and define multiple RMS's if you want to pull the information from more than 1 management group.&lt;br /&gt;&lt;br /&gt;2) $outpath = "c:\" - Change this to where you want the script to write the html files.&lt;br /&gt;&lt;br /&gt;3) If connecting to more than one management group you need to comment out line 17 and uncomment Line 19&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-1653163655970478227?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/1653163655970478227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=1653163655970478227' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1653163655970478227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1653163655970478227'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/08/quick-access-to-opsmgr-agent.html' title='Quick Access to OpsMgr Agent Information'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-8613716167854749924</id><published>2008-08-12T00:23:00.008+01:00</published><updated>2009-11-24T22:38:04.211Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maintenance Mode'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='management pack'/><title type='text'>Updated Agent Maintenance Mode</title><content type='html'>&lt;p&gt;---Update---&lt;/p&gt; &lt;p&gt;Updated version of this MP at&lt;a href="http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html"&gt; http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;---------&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There is a new version of my Maintenance Mode MP and scripts that can do maintenance mode from the Agent with no extras installed (The original post is &lt;a href="http://derekhar.blogspot.com/2008/02/initiate-maintenance-mode-from-agent-no.html"&gt;here&lt;/a&gt;). The 4 files are available for download from &lt;a title="http://cid-397bb61b75cc76c5.skydrive.live.com/browse.aspx/Public/AgentMaintModeV2?view=details" href="http://cid-397bb61b75cc76c5.skydrive.live.com/browse.aspx/Public/AgentMaintModeV2?view=details"&gt;http://cid-397bb61b75cc76c5.skydrive.live.com/browse.aspx/Public/AgentMaintModeV2?view=details&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-----------&lt;br /&gt;&lt;/p&gt;&lt;p&gt;EDIT&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Be aware the PowerShell execution policy might block the script from being run.&lt;br /&gt;&lt;br /&gt;You may need to do the following:&lt;br /&gt;1. Open the Command Shell, and do "set-executionpolicy remotesigned" (using "allsigned" may be considered a bit more secure.&lt;br /&gt;2. Right-click on the .ps1 files,  chose properties and click "Unblock" especially if you've downloaded these scripts using Internet Explorer. &lt;/p&gt;&lt;p&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;Thanks to Marco for catching this. I had a few people contact with with the earlier version not working and I could never figure out why. Could be the same reason.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;----------------&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This version adds the ability to turn off maintenance mode from the agent as well as turn it on. The vbscript has been updated with some more options and some instructions on how to use it. &lt;/p&gt; &lt;p&gt;To install or update you need to import the management pack and copy the 2 ps1 files to System Center Operations Manager 2007 program folder on the RMS.&lt;/p&gt; &lt;p&gt;Then you need to copy the vbscript file to any agent managed server and run it to set any server in maintenance mode for the desired time period.&lt;/p&gt; &lt;p&gt;------------------------------&lt;/p&gt; &lt;p&gt;&lt;strong&gt;VBScript Usage:&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Usage: MaintMode ON|OFF [ON Duration][D][H][M] &lt;/p&gt; &lt;p&gt;Examples: MaintMode ON 6H&lt;br /&gt;                MaintMode ON 2D  &lt;/p&gt;&lt;p&gt;ON is a mandatory keyword to put a server in maintenance mode.  &lt;/p&gt;&lt;p&gt;ON Duration is number of [D]ays [M]inutes or [H]ours Maintenance&lt;br /&gt;Mode should remain ON.  &lt;/p&gt;&lt;p&gt;If not specified, the default is 6 hours.&lt;br /&gt;This means Maintenance mode will turn itself OFF after 6 hours.  &lt;/p&gt;&lt;p&gt;If ON Duration is specified without [D][H][M], the number is&lt;br /&gt;interpreted as hours. &lt;/p&gt;&lt;p&gt;------------------------------ &lt;/p&gt;&lt;p&gt;This MP creates a new class which contains all Windows Operating Systems. There are 2 rules in this class. One listens for the Maint Mode ON event and the other listens for the Maint Mode OFF event. The script on the RMS that turns on Maintenance Mode actually turns it on for all the components of the server and then turns it off again only for the Maint Mode class. This means that even in Maint Mode it can listen for the OFF event. &lt;/p&gt;&lt;p&gt;NOTE: The discovery for this class runs every 12 hours so be aware that systems may take this long after install for the scripts to work &lt;/p&gt;&lt;p&gt;Thanks again to &lt;a href="http://blogs.msdn.com/boris_yanushpolsky/default.aspx"&gt;Boris&lt;/a&gt; for his examples and scripts for doing maintenance mode.   &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-8613716167854749924?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/8613716167854749924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=8613716167854749924' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8613716167854749924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8613716167854749924'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/08/updated-agent-maintenance-mode.html' title='Updated Agent Maintenance Mode'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-3222171044451172510</id><published>2008-05-27T10:29:00.001+01:00</published><updated>2008-05-27T10:29:57.209+01:00</updated><title type='text'>Multiple Network Name Discovery in a Cluster Resource Group</title><content type='html'>&lt;p&gt;There is a known bug in OpsMgr that when you have more than one network name in a cluster resource group only the first one is discovered - &lt;a title="http://support.microsoft.com/kb/919594" href="http://support.microsoft.com/kb/919594"&gt;http://support.microsoft.com/kb/919594&lt;/a&gt;. So say, for example, a cluster is not configured according to best practices and the MSDTC resources and the SQL resources are in the same group. You have a network name called &amp;quot;MSDTC Network Name&amp;quot; and one called &amp;quot;SQL Network Name ...&amp;quot;. In this case the MSDTC network name will be discovered and the SQL Network name will not be discovered. &lt;/p&gt;  &lt;p&gt;What's the problem with this exactly? Well, if the SQL Network Name is not discovered then the SQL instance in this resource group will not be monitored by the SQL MP.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To determine if you have clusters with this problem you can download and import the following MP - &lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/ClusterError.xml"&gt;ClusterError.xml&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It will create a view in your Operations Console that will list all the clustered servers that&amp;#160; have more than 1 network name in a resource group.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-3222171044451172510?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/3222171044451172510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=3222171044451172510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3222171044451172510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3222171044451172510'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/05/multiple-network-name-discovery-in.html' title='Multiple Network Name Discovery in a Cluster Resource Group'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-4000767190861691372</id><published>2008-02-19T15:33:00.006Z</published><updated>2009-11-24T22:37:56.451Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maintenance Mode'/><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='management pack'/><title type='text'>Initiate Maintenance Mode from an Agent (no extras installed)</title><content type='html'>&lt;p&gt;---Update---&lt;/p&gt;&lt;p&gt;Updated version of this MP at &lt;a href="http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html"&gt;http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---------&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This post will detail a method to initiate Maintenance Mode from an agent managed computer using a vbscript. This method is useful in the case where the people doing patching  are not the same people who use the Operations Console and when you cannot dictate what is to be installed in the server. Clive Eastwood's &lt;a href="http://blogs.technet.com/cliveeastwood/archive/2007/09/18/agentmm-a-command-line-tool-to-place-opsmgr-agents-into-maintenance-mode.aspx"&gt;AgentMM&lt;/a&gt; for example, if run remotely requires .NET 3.0, Operations Manager specific dll's, Admin permissions on OpsMgr and the ability to connect to the SDK service on the RMS. &lt;/p&gt; &lt;p&gt;Using this method, the person running the command needs to have absolutely no permissions on Ops Manager. All of the components required to  have this function are part of a standard OS with and agent installed. It works through Gateways so can be used in firewalled or untrusted environments if you have a gateway in place.&lt;/p&gt; &lt;p&gt;There are 3 parts to this solution:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;1) A VBScript on each managed computer that writes an event to the local event log.&lt;/p&gt; &lt;p&gt;2) A Management pack containing an rule that detects this event and runs a response on the RMS.&lt;/p&gt; &lt;p&gt;3) The response executes a Powershell script on the RMS that puts the server in to  Maintenance Mode. I have borrowed pieces of the powershell script from &lt;a href="http://blogs.msdn.com/boris_yanushpolsky/archive/2007/07/25/putting-a-computer-into-maintenance-mode.aspx"&gt;Boris&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;br /&gt;&lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/MaintModeON.vbs"&gt;VBScript&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/MaintModeON.ps1"&gt;Powershell Script&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/AgentMaintMode.xml"&gt;Management Pack&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The vbscript is pretty simple and just writes an event to the event log that indicates the length of time Maintenance Mode should remain on. This time is passed as a parameter to the script. &lt;/p&gt; &lt;p&gt;Usage: MaintModeOn 4&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt; - This command turns on Maintenance Mode for 4 hours&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The single rule in the management pack picks up the event from the Application Log with event ID of 0, with a source of WSH and where the description contains the words "Maintenance Mode". In response, the rule runs the Powershell script MaintModeON.ps1 and passes to it two parameters -the name of the computer where the script was run and the event description.&lt;/p&gt; &lt;p&gt;The Powershell script puts &lt;a href="http://support.microsoft.com/kb/942866"&gt;all three pieces&lt;/a&gt; of an agent in the Maintenance Mode. This Powershell script should be copied to the System Center Operations Manager 2007 program folder on the root management server. If you have clustered the RMS it should be in the folder on both nodes.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;---Update---&lt;br /&gt;&lt;br /&gt;I have updated the links since google appears to have taken down the site hosting the files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-4000767190861691372?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/4000767190861691372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=4000767190861691372' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/4000767190861691372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/4000767190861691372'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/02/initiate-maintenance-mode-from-agent-no.html' title='Initiate Maintenance Mode from an Agent (no extras installed)'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-8425290717082590215</id><published>2008-02-18T15:58:00.003Z</published><updated>2008-02-29T14:25:42.768Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><title type='text'>Unsealed MP Backup with Retention Period</title><content type='html'>&lt;p&gt;A small expansion of Pete's &lt;a href="http://www.systemcenterforum.org/automate-mp-export-for-disaster-recovery/"&gt;MP Export for Disaster Recovery&lt;/a&gt;. Here is an Management Pack that exports all the unsealed MP's once a day to a folder. The folder name is the date of the backup. Backups older than 7 days will be deleted. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/UnsealedMPBackup.xml"&gt;Download the Management Pack&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;---Update---&lt;br /&gt;&lt;br /&gt;Link to the MP has been fixed&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-8425290717082590215?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/8425290717082590215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=8425290717082590215' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8425290717082590215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8425290717082590215'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2008/02/unsealed-mp-backup-with-retention.html' title='Unsealed MP Backup with Retention Period'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-3865604452982063637</id><published>2007-12-07T11:07:00.000Z</published><updated>2008-12-12T04:21:35.022Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='off topic'/><title type='text'>Clustering</title><content type='html'>I believe that this sketch by our intern clearly indicates his feelings on clustering in Ops Mgr. Not sure how much I disagree with his opinion.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_U2l5oHDDUUM/R1kpppIj_1I/AAAAAAAAAEk/U5LUASXfHw8/s1600-h/clustering.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_U2l5oHDDUUM/R1kpppIj_1I/AAAAAAAAAEk/U5LUASXfHw8/s400/clustering.PNG" alt="" id="BLOGGER_PHOTO_ID_5141186245013274450" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-3865604452982063637?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/3865604452982063637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=3865604452982063637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3865604452982063637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3865604452982063637'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/12/clustering.html' title='Clustering'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_U2l5oHDDUUM/R1kpppIj_1I/AAAAAAAAAEk/U5LUASXfHw8/s72-c/clustering.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-2200922209767546327</id><published>2007-11-29T09:41:00.001Z</published><updated>2008-12-12T04:21:35.229Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Authoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><title type='text'>Event description in Monitor or Rule</title><content type='html'>When creating an alert based on the Event description, this property is missing from both the Authoring console and the Ops console.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;To be able to use the Event description you must add this property.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_U2l5oHDDUUM/R06KuPTucSI/AAAAAAAAADo/yNGUVgIXtdA/s1600-h/Eventdescription.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_U2l5oHDDUUM/R06KuPTucSI/AAAAAAAAADo/yNGUVgIXtdA/s320/Eventdescription.PNG" alt="" id="BLOGGER_PHOTO_ID_5138196751864197410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This example will capture Event with ID zero and the description containing the substring "Error 11" or "Error 17"&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;font-family:courier new;" &gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-2200922209767546327?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/2200922209767546327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=2200922209767546327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2200922209767546327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2200922209767546327'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/11/event-description-in-monitor-or-rule.html' title='Event description in Monitor or Rule'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_U2l5oHDDUUM/R06KuPTucSI/AAAAAAAAADo/yNGUVgIXtdA/s72-c/Eventdescription.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-3894679082887224564</id><published>2007-09-26T14:57:00.002+01:00</published><updated>2009-11-24T22:36:13.576Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maintenance Mode'/><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><title type='text'>Embed a Powershell Script in  a Management Pack</title><content type='html'>&lt;style type="text/css"&gt;&lt;/style&gt;- Updated -&lt;br /&gt;&lt;br /&gt;OpsMgr R2 allows you to embed powershell scripts in a MP  - See this MP for an example - http://derekhar.blogspot.com/2009/11/new-agent-maintenance-mode.html&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);" class="style1"&gt;&lt;span class="style3"&gt;&lt;span class="style4"&gt;If you want to run powershell, perl or any other scripts not run by cscript.exe from a management pack then you invariably had to create the script and distribute it across all the servers where it needed to run. This could easily become quite complex maintaining all these scripts in multiple different locations. If you are in a situation where you have multiple management groups and none of them are quite the same then you could have multiple different versions of the script and the rule that would call the script. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="style4"&gt;To avoid this problem it is now possible to embed other scripts in a management pack, not just vbscript and jscript.&lt;br /&gt;&lt;br /&gt;To  explain how this is done we need to break in to the XML. Open the image below to view the full command. This would be executed using on a recurring basis using a System.Scheduler datasource.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_U2l5oHDDUUM/R1Z0hpIj_0I/AAAAAAAAAEE/Qd4XKqmW52M/s1600-h/AgentProxy.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_U2l5oHDDUUM/R1Z0hpIj_0I/AAAAAAAAAEE/Qd4XKqmW52M/s400/AgentProxy.PNG" alt="" id="BLOGGER_PHOTO_ID_5140424146016272194" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span class="style1"&gt;&lt;span class="style2"&gt;&lt;span class="style5"&gt;&lt;span class="style4"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The Write Action aboves enables proxying for all management servers. This check &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;is quite easy to do using the command shell alias. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&amp;lt;ApplicationName&amp;gt;&lt;span style="color: rgb(0, 0, 0);" class="style4"&gt;%systemroot%\System32\windowspowershell\v1.0\powershell.exe&lt;/span&gt;&amp;lt;/ApplicationName&amp;gt;&lt;span class="style4"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;This line launches the  Powershell exe. Remember that Powershell must be installed on any &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;server you are targeting the rule at. The same goes for any other script &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;language that you wish to use.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&amp;lt;WorkingDirectory&amp;gt;&lt;span style="color: rgb(0, 0, 0);" class="style4"&gt;%MOMROOT%&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span class="style1"&gt;&lt;span class="style2"&gt;&lt;span class="style5"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span class="style1"&gt;&lt;span class="style2"&gt;&lt;span class="style5"&gt;WorkingDirectory&amp;gt;&lt;span class="style4"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The %MOMROOT% variable point to the Installation path of OpsMgr. This is &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;useful when targeting Powershell scripts at the RMS or Management servers as it &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;allows you to easily load the Command Shell Snap-in. This then gives access to &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;all the Command Shell aliases.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&amp;lt;CommandLine&amp;gt;&lt;span style="color: rgb(0, 0, 0);" class="style4"&gt;-Command "&amp;amp;amp;  '$File/EnableProxy.ps1$'"&lt;/span&gt;&amp;lt;/CommandLine&amp;gt;&lt;span class="style4"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;The arguments being passed specifies to run the script $File/EnableProxy.ps1$. &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;After this the file must be entered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&amp;lt;Files&amp;gt;&lt;span class="style4"&gt;&lt;br /&gt;&lt;/span&gt;&amp;lt;File&amp;gt;&lt;span class="style4"&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;Name&amp;gt;&lt;span style="color: rgb(0, 0, 0);" class="style4"&gt;EnableProxy.ps1&lt;/span&gt;&amp;lt;/Name&amp;gt;&lt;br /&gt;&amp;lt;Contents&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="style5"&gt;&lt;span class="style4"&gt;The name of the script must match the command line name. While I have not tested this there appears to be the ability to embed multiple files here.&lt;br /&gt;&lt;br /&gt;Now we drop into the script itself. This rule is targeted to run only on the RMS so $rootMS is set as localhost. The next 3 lines load the Command Shell snapin, and opens the connection to the local management group.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;$rootMS="localhost"&lt;br /&gt;add-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client";&lt;br /&gt;set-location "OperationsManagerMonitoring::";&lt;br /&gt;new-managementGroupConnection -ConnectionString:$rootMS;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is an example &lt;a href="http://cid-397bb61b75cc76c5.skydrive.live.com/self.aspx/Public/Powershell.Embed.Example.xml"&gt;Management Pack&lt;/a&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span class="style4"&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-3894679082887224564?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/3894679082887224564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=3894679082887224564' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3894679082887224564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3894679082887224564'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/09/embed-powershell-script-in-management.html' title='Embed a Powershell Script in  a Management Pack'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_U2l5oHDDUUM/R1Z0hpIj_0I/AAAAAAAAAEE/Qd4XKqmW52M/s72-c/AgentProxy.PNG' height='72' width='72'/><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-2737026195837715102</id><published>2007-09-25T08:53:00.000+01:00</published><updated>2007-09-30T02:06:31.983+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='data warehouse'/><title type='text'>Data Warehouse Query</title><content type='html'>If you have multiple management groups rolling up to a single data warehouse here is a query that will allow you to return a computer name and its associated management group. Not great or anything but the first attempt at digging in to the db.&lt;br /&gt;&lt;br /&gt;SELECT ManagedEntity.DisplayName, ManagementGroup.ManagementGroupDefaultName&lt;br /&gt;from OperationsManagerDW.dbo.ManagedEntity&lt;br /&gt;INNER JOIN OperationsManagerDW.dbo.ManagementGroup ON&lt;br /&gt;ManagedEntity.ManagementGroupRowId&lt;br /&gt;= ManagementGroup.ManagementGroupRowId&lt;br /&gt;WHERE fullname like 'Microsoft.Windows.Computer:%'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-2737026195837715102?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/2737026195837715102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=2737026195837715102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2737026195837715102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2737026195837715102'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/09/if-you-have-multiple-management-groups.html' title='Data Warehouse Query'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-3600471874299213552</id><published>2007-09-11T20:28:00.000+01:00</published><updated>2007-09-11T20:29:48.672+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>XPath statements to display event data in monitors and rule-generated alerts.</title><content type='html'>&lt;a href="http://goteamshake.com/?p=31"&gt;http://goteamshake.com/?p=31&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here are the XPath statements to display event data in monitors and rule-generated alerts.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Monitors&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;$Data/Context/EventDescription$&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Rule-Generated Alerts&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;$Data/EventDescription$&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-3600471874299213552?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/3600471874299213552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=3600471874299213552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3600471874299213552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3600471874299213552'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/09/xpath-statements-to-display-event-data.html' title='XPath statements to display event data in monitors and rule-generated alerts.'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-197025419640497690</id><published>2007-08-09T10:25:00.000+01:00</published><updated>2007-08-09T10:58:04.829+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory Agent Assignment'/><title type='text'>Active Directory Agent Assignment using a database</title><content type='html'>The post over on System Center forum about &lt;a href="http://systemcenterforum.org/using-property-bags-with-custom-scripting-in-operations-manager-2007/"&gt;Using Property Bags with Custom Scripting in Operations Manager 2007&lt;/a&gt; has helped me to solve a problem I was having with doing Active Directory based Agent Assignment using a database. This is for integration with a CMDB type database to control agent assignment.&lt;br /&gt;&lt;br /&gt;This will take the form of a rule that runs a script to query a database and returns multiple property bags with each property bag containing the dnshostname and distinguished name of each computer that is to be assigned to a management server.&lt;br /&gt;&lt;br /&gt;The output fo this script can then be passed to the AD writer action that writes the computer objects to the relevant security groups in the management group OU under the Operations Manger OU.&lt;br /&gt;&lt;br /&gt;The rule that is generated by the GUI using the LDAP provider to perform the LDAP query and returns a result for each object found and passes each result seperatley to the Ad Writer rule. This is where the multiple property bags comes in as the of the AD Writer action expects multiple inputs that can only be provided, as far as I can determine, by using multiple property bags.&lt;br /&gt;&lt;br /&gt;The rule will run on each management server and the script will simply query the database for the agents belonging to that management server. All the load balancing will be done by the database itself.&lt;br /&gt;&lt;br /&gt;I will be have more on this rule in future posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-197025419640497690?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/197025419640497690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=197025419640497690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/197025419640497690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/197025419640497690'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/08/post-over-on-system-center-forum-about.html' title='Active Directory Agent Assignment using a database'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-4238203753362967289</id><published>2007-07-19T12:18:00.000+01:00</published><updated>2007-07-19T12:28:00.875+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Authoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>More about Property bags and Varant types</title><content type='html'>When returning values in a property bag that are not string values you will have to break open the XML of the management pack to be able to compare the values correctly.&lt;br /&gt;&lt;br /&gt;The XML generated by the Authoring console will look something like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&amp;lt;ErrorExpression&amp;gt;&lt;br /&gt;&amp;lt;SimpleExpression&amp;gt;&lt;br /&gt;&amp;lt;ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;XPathQuery&amp;gt;Property[@Name='Status']&amp;lt;/XPathQuery&amp;gt;&lt;br /&gt;&amp;lt;/ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;Operator&amp;gt;GreaterEqual&amp;lt;/Operator&amp;gt;&lt;br /&gt;&amp;lt;ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;Value Type=&amp;quot;String&amp;quot;&amp;gt;7&amp;lt;/Value&amp;gt;&lt;br /&gt;&amp;lt;/ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;/SimpleExpression&amp;gt;&lt;br /&gt;&amp;lt;/ErrorExpression&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;If returning Integer values that you want to compare with integers you will have to change it to:&lt;br /&gt;&lt;br /&gt;&amp;lt;ErrorExpression&amp;gt;&lt;br /&gt;&amp;lt;SimpleExpression&amp;gt;&lt;br /&gt;&amp;lt;ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;XPathQuery Type=&amp;quot;Integer&amp;quot;&amp;gt;Property[@Name='Status']&amp;lt;/XPathQuery&amp;gt;&lt;br /&gt;&amp;lt;/ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;Operator&amp;gt;GreaterEqual&amp;lt;/Operator&amp;gt;&lt;br /&gt;&amp;lt;ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;Value Type=&amp;quot;Integer&amp;quot;&amp;gt;7&amp;lt;/Value&amp;gt;&lt;br /&gt;&amp;lt;/ValueExpression&amp;gt;&lt;br /&gt;&amp;lt;/SimpleExpression&amp;gt;&lt;br /&gt;&amp;lt;/ErrorExpression&amp;gt;&lt;br /&gt;&lt;br /&gt;Note that the Type declaration has to be on both sides of the expression. Also be aware that some version of the Authoring console may strip the Type="Integer" from the XPath query.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;Thanks to Alexandre Coelho for this fix.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-4238203753362967289?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/4238203753362967289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=4238203753362967289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/4238203753362967289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/4238203753362967289'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/more-about-property-bags-and-varant.html' title='More about Property bags and Varant types'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-1913928874566011234</id><published>2007-07-18T19:01:00.000+01:00</published><updated>2007-07-18T23:42:19.628+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Authoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><title type='text'>Passing an Event Description to an Alert description</title><content type='html'>Finding the correct Data Item Context Parameters to use in Operations manager can be a problem. Here is the one to pass an Event description to an Alert. Useful if you want the Alert description to contain the Event description.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$Data/Context/EventDescription$&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-1913928874566011234?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/1913928874566011234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=1913928874566011234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1913928874566011234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1913928874566011234'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/passing-event-description-to-alert.html' title='Passing an Event Description to an Alert description'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-1903080206211785784</id><published>2007-07-17T11:20:00.000+01:00</published><updated>2007-07-17T11:21:24.908+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='management pack'/><title type='text'>Export a Sealed MP</title><content type='html'>&lt;h4&gt;&lt;span class="mw-headline"&gt;Export a Sealed MP&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;A sealed MP can be exported to an XML file using Command Shell.&lt;br /&gt;Find the correct name of the MP you want to export using:  &lt;/p&gt;&lt;p&gt;get-managementpack | where {$_.Name -like "*Server.2003"} &lt;/p&gt;&lt;p&gt;Export using: &lt;/p&gt;&lt;p&gt;get-managementpack | where {$_.Name -eq "Microsoft.Windows.Server.2003"} | export-managementpack -path C:\MP &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-1903080206211785784?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/1903080206211785784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=1903080206211785784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1903080206211785784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/1903080206211785784'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/export-sealed-mp.html' title='Export a Sealed MP'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-8387370453819776070</id><published>2007-07-16T23:13:00.000+01:00</published><updated>2007-07-16T23:41:05.506+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>Property bags and Variant Types</title><content type='html'>When using script based monitors the name value pairs get returned in what is called a propert bag. A property bag is simply a blob of XML that looks like this:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;dataitem type="System.PropertyBagData" time="2007-07-16T23:10:53.1294962+01:00" sourcehealthserviceid="8FD1B472-1464-691B-9BF7-E3AC669C2310"&gt;&lt;/dataitem&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;dataitem type="System.PropertyBagData" time="2007-07-16T23:10:53.1294962+01:00" sourcehealthserviceid="8FD1B472-1464-691B-9BF7-E3AC669C2310"&gt;&lt;/dataitem&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  &lt;property name="scan.dat" varianttype="3"&gt;&lt;dataitem type="System.PropertyBagData" time="2007-07-16T23:10:53.1294962+01:00" sourcehealthserviceid="8FD1B472-1464-691B-9BF7-E3AC669C2310"&gt;&amp;lt;DataItem type="System.PropertyBagData" time="2007-07-16T23:10:53.1294962+01:00" sourceHealthServiceId="8FD1B472-1464-691B-9BF7-E3AC669C2310"&amp;gt;&lt;br /&gt;   &amp;lt;Property Name="scan.dat" VariantType="3"&amp;gt;19&amp;lt;/Property&amp;gt;&lt;br /&gt;   &amp;lt;Property Name="names.dat" VariantType="3"&amp;gt;19&amp;lt;/Property&amp;gt;&lt;br /&gt;   &amp;lt;Property Name="clean.dat" VariantType="3"&amp;gt;19&amp;lt;/Property&amp;gt;&lt;br /&gt;&amp;lt;/DataItem&amp;gt;&lt;/dataitem&gt;&lt;/property&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The XML  describes that this is a property bag, that date/time that it was submitted to the management server and the properties contained in the property bag.&lt;br /&gt;&lt;br /&gt;The VariantType describes the type of the value that is returned. The variant types are:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Empty            = 0&lt;br /&gt;Null             = 1&lt;br /&gt;Short            = 2&lt;br /&gt;Integer          = 3&lt;br /&gt;Single           = 4&lt;br /&gt;Double           = 5&lt;br /&gt;Currency         = 6&lt;br /&gt;Date             = 7&lt;br /&gt;String           = 8&lt;br /&gt;Object           = 9&lt;br /&gt;Error            = 10&lt;br /&gt;Boolean          = 11&lt;br /&gt;Variant          = 12&lt;br /&gt;DataObject       = 13&lt;br /&gt;Decimal          = 14&lt;br /&gt;Byte             = 15&lt;br /&gt;Char             = 16&lt;br /&gt;Long             = 17&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-8387370453819776070?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/8387370453819776070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=8387370453819776070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8387370453819776070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/8387370453819776070'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/when-using-script-based-monitors-name.html' title='Property bags and Variant Types'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-2543676941755820474</id><published>2007-07-16T16:51:00.000+01:00</published><updated>2007-07-16T16:54:58.705+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operation Manager'/><title type='text'>Clearing the Operation Manager Console Cache</title><content type='html'>When creating and deleting management packs you may find that the console becomes out of sync with the database. To fix this you can delete the Console cache by deleting the files  under&lt;br /&gt;&lt;span style="font-style: italic;"&gt;C:\Documents and Settings\&lt;user&gt;&lt;username&gt;&lt;span style="font-weight: bold;"&gt;username&lt;/span&gt;\Local Settings\Application Data\Microsoft\Microsoft.Mom.UI.Console&lt;/username&gt;&lt;/user&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-2543676941755820474?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/2543676941755820474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=2543676941755820474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2543676941755820474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/2543676941755820474'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/clearing-operation-manager-console.html' title='Clearing the Operation Manager Console Cache'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-6392421580473011635</id><published>2007-07-13T11:55:00.000+01:00</published><updated>2008-12-12T04:21:36.029Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agent'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Operations manager 2007'/><title type='text'>Some Ops manager Agent Stuff</title><content type='html'>We had some problems every time we built a new management group in our lab. All the old agents would still be trying to report to the old management group. This was a pain because all this did was clutter up the Operations Manager Log. The solution we used was to create a task that would completely uninstall all the agents. They would then be automatically reinstalled by the active management group if you have applied the overrides to enable the recoveries as detailed in the &lt;a href="http://download.microsoft.com/download/7/4/d/74deff5e-449f-4a6b-91dd-ffbc117869a2/OM2007_MP_SysCenter.doc"&gt;System Center Management Pack Guide&lt;/a&gt;. A bit of powershell would then run this task against all agents.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To Create the Uninstall Task&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On the Authoring pane on the console create a new command line agent task called CompleteUninstall. The target is Windows Computer. The command line settings are shown below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_U2l5oHDDUUM/RpyV-TWqvNI/AAAAAAAAABw/DPJyuma5uKg/s1600-h/Uninstall.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_U2l5oHDDUUM/RpyV-TWqvNI/AAAAAAAAABw/DPJyuma5uKg/s400/Uninstall.png" alt="" id="BLOGGER_PHOTO_ID_5088106576601595090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Uninstall command for Agent (RTM)&lt;br /&gt;&lt;br /&gt;MsiExec.exe /x {E7600A9C-6782-4221-984E-AB89C780DC2D} /quiet&lt;br /&gt;&lt;br /&gt;This gives us a task that ca be run on an agent to perform an uninstall of an agent. To run this on all agents the easiest way is to do it in a powershell script&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Powershell Script to run the task for all agents&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$uninstallTask = get-task | where {$_.Name -eq "CompleteUninstall"}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;foreach($agent in get-agent)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$server = $agent.Displayname&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;start-task -asynchronous -task:$uninstallTask -path .\Microsoft.SystemCenter.AgentManagedComputerGroup\$server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Save this script as a .ps1 file and then run it from the Operations Manager Command Shell. The results of these tasks will always show in the Operations Console under Task Status as failed as the Agent has been removed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-6392421580473011635?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/6392421580473011635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=6392421580473011635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/6392421580473011635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/6392421580473011635'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/some-ops-manager-agent-stuff.html' title='Some Ops manager Agent Stuff'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_U2l5oHDDUUM/RpyV-TWqvNI/AAAAAAAAABw/DPJyuma5uKg/s72-c/Uninstall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5251922690454802525.post-3343909886553633047</id><published>2007-07-12T14:18:00.000+01:00</published><updated>2007-07-13T11:47:42.751+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operations Manger 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Command Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><title type='text'>Operation Manager Command Shell on any system</title><content type='html'>&lt;span style="font-size:100%;"&gt;This is a basic guide to get a Operations Manager Command shell on any system without having to install the UI components. You will need to have Powershell and DotNet 3.0  installed on the system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Copy the Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will need to copy some files from your Ops manager install to get the command shell working.&lt;br /&gt;&lt;br /&gt;From the Ops Manager installation directory:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Microsoft.EnterpriseManagement.OperationsManager.ClientShell.dll&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Microsoft.EnterpriseManagement.OperationsManager.ClientShell.dll-help.xml&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Format.ps1xml&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Types.ps1xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From the SDK Binaries Folder in the O&lt;/span&gt;&lt;span style="font-size:100%;"&gt;ps Manager installation directory:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Microsoft.EnterpriseManagement.OperationsManager.dll&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Microsoft.EnterpriseManagement.OperationsManager.Common.dll&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Copy these files to a folder on the system you want the command shell on. For this example I will copy them to C:\OpsShell.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Register the Powershell Snap-in&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the Powershell snap-in to work we need to register it. As we are not installing the UI this will have to be done manually. Add the below registry settings replacing "C:\\OpsShell" in the following regsitry entries with the correct path to the files.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;-----------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Windows Registry Editor Version 5.00&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;"&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.EnterpriseManagement.OperationsManager.Client]&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"ApplicationBase"="C:\\OpsShell"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"AssemblyName"="Microsoft.EnterpriseManagement.OperationsManager.ClientShell, Version=6.0.4900.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"ModuleName"="C:\\OpsShell\\Microsoft.EnterpriseManagement.OperationsManager.ClientShell.dll"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"PowerShellVersion"="1.0"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"Vendor"="Microsoft Corporation"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"Version"="6.0.4900.0"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"Description"="Microsoft Operations Manager Shell Snapin"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"Types"="C:\\OpsShell\\Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Types.ps1xml"&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"Formats"="C:\\OpsShell\\Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Format.ps1xml"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Create the Startup Script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Below is a Powershell script that you can use as a shortcut to start the Command Shell.  Copy it to notepad and save it in C:\OpsShell as OpsShell.ps1. Some of the script was borrowed from &lt;a href="http://systemcenterforum.org/automate-mp-export-for-disaster-recovery/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;param ($rootMS)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$rootMS.Length&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;if ($rootMS -eq $null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$rootMS = Read-Host "Root manangement server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$checksnappin = Get-PSSnapin | where {$_.Name -eq "Microsoft.EnterpriseManagement.OperationsManager.Client"}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;if ($checksnappin -eq $null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;add-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client" -ErrorVariable errSnapin ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Set-Location "OperationsManagerMonitoring::" -ErrorVariable errSnapin ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;new-managementGroupConnection -ConnectionString:$rootMS -ErrorVariable errSnapin ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;set-location $rootMS -ErrorVariable errSnapin ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting the Command Shell&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;To start the Command Shell open powershell and run C:\OpsShell\OpsShell.ps1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you get the error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;File C:\OpsShell\OpsShell.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;"get-help about_signing" for more details.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then run this command to change the execution policy:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Set-ExecutionPolicy Unrestricted&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This works for me on XP SP2 and Server 2003 SP2&lt;br /&gt;&lt;br /&gt;This could be expanded to offer the ability for our server admins to do things such as set Maintenance Mode on or off without having to do it in 3 different locations in the console as is currently needed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5251922690454802525-3343909886553633047?l=derekhar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://derekhar.blogspot.com/feeds/3343909886553633047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5251922690454802525&amp;postID=3343909886553633047' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3343909886553633047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5251922690454802525/posts/default/3343909886553633047'/><link rel='alternate' type='text/html' href='http://derekhar.blogspot.com/2007/07/operation-manager-command-shell-on-any.html' title='Operation Manager Command Shell on any system'/><author><name>Derek Harkin</name><uri>http://www.blogger.com/profile/09175666492773626592</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
