<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
	<channel>
	<title>Latest Blogs</title>
	<link>http://www.systemcentercentral.com/Community/Blogs/tabid/150/RSS/1/CategoryId/61/Default.aspx</link>
	<description />
	<language>en-us</language>
	<copyright>Copyright 2009 System Center Central All Rights Reserved.</copyright>
	<lastBuildDate>Mon, 09 Nov 2009 04:46:16 GMT</lastBuildDate>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/systemcenterforum" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
			<title><![CDATA[Blog: Enable Certificate Web Enrollment without SSL(HTTPS) in Windows 2008]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/IUZLIADor1M/Default.aspx</link>
			<description>&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50027/WLW-EnableCertificateWebEnrollmentwithoutSSL_F740-icon14sx6_2.gif"&gt;&lt;img title="icon14sx6" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 5px; border-right-width: 0px" height="48" alt="icon14sx6" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50027/WLW-EnableCertificateWebEnrollmentwithoutSSL_F740-icon14sx6_thumb.gif" width="48" align="left" border="0"&gt;&lt;/a&gt; Windows 2008 introduces a couple of annoyances with the Certificate Web Enrollment form (/certsrv) that are worth mentioning, and pointing out the workarounds in case you need them. There is a third annoyance (also with a workaround), that is a somewhat more lengthy discussion and will be addressed on it's own.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;Problem #1:&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The first is the deprecation of the components we use for Web Enrollment. If we look at KB922706, we can see the details of what happened. This KB article is titled:&lt;/p&gt; &lt;p&gt;&lt;a href="http://support.microsoft.com/default.aspx/kb/922706" target="_blank"&gt;How to use Certificate Services Web enrollment pages together with Windows Vista or Windows Server 2008&lt;/a&gt;&lt;/p&gt; &lt;p&gt;"The Windows Server 2003 Certificate Services Web enrollment functionality relies on an ActiveX control that is named Xenroll. This ActiveX control is available in Microsoft Windows 2000 and in later versions of Windows. However, Xenroll has been deprecated in Windows Vista and in Windows Server 2008".&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;In short, the components are not present in Windows 2008 by default, but can be downloaded from this KB and implemented if you need them.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;Problem #2:&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The second is the fact the SSL (HTTPS) is required in order to use the Certificate Web Enrollment form in Windows 2008. When you attempt to access the forum with HTTP://, you receive the following error at the top of your browser:&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;"Internet Explorer has blocked this site from using an ActiveX control in an unsafe manner. As a result, this page might not display correctly"&lt;/font&gt;&lt;/p&gt; &lt;p&gt;It's true that SSL is more secure and definitely a best practice, but especially in lab testing and intranet environments, SSL may not be considered strictly necessary. You can work around this issue.&lt;/p&gt; &lt;p&gt;1. In IE &lt;strong&gt;Internet Options,  Security Tab&lt;/strong&gt;, make sure the Certificate Web Enrollment site is in the list of &lt;strong&gt;Trusted Sites&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;2. With &lt;strong&gt;Trusted Sites&lt;/strong&gt; highlighted, click the &lt;strong&gt;Customize&lt;/strong&gt; Button.&lt;/p&gt; &lt;p&gt;3. In the &lt;strong&gt;Security Settings&lt;/strong&gt;, set "Initialize and script ActiveX controls not marked as safe for scripting" to &lt;strong&gt;ENABLED&lt;/strong&gt;, as shown in the image below.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50027/WLW-EnableCertificateWebEnrollmentwithoutSSL_F740-image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="223" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50027/WLW-EnableCertificateWebEnrollmentwithoutSSL_F740-image_thumb.png" width="713" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;Conclusion&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;As always, take care in choosing when it's appropriate to lower your defenses in this area. But when the situations fits, these are some of the tools and methods at your avail to make your work easier.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/IUZLIADor1M" height="1" width="1"/&gt;</description>
			<pubDate>Mon, 09 Nov 2009 04:35:18 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/50027/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/50027/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: How to create a PowerShell Script Discovery including On-Demand Discovery Task using the Authoring Console &ndash; Act I]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/k1DeZ5cbNVg/Default.aspx</link>
			<description>&lt;p&gt;This is a step-by-step guide in multiple parts:&lt;/p&gt;
&lt;p&gt;Preface&lt;/p&gt;
&lt;p&gt;Part 1 will cover the Class&lt;/p&gt;
&lt;p&gt;Part 2 will cover the Probe Actions Module Type&lt;/p&gt;
&lt;p&gt;Part 3 will cover the Data Source Module Type&lt;/p&gt;
&lt;p&gt;Part 4 will cover the Discovery&lt;/p&gt;
&lt;p&gt;Part 5 will be our Discovery Test&lt;/p&gt;
&lt;p&gt;Part 6 will cover the Write Action Module needed for the Task&lt;/p&gt;
&lt;p&gt;Part 6 will cover the On-Demand Discovery Task&lt;/p&gt;
&lt;p&gt;Part 7 will be our On-Demand Discovery Task Test&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;As always be careful with the samples provided here. Always use a test environment first to try those examples!&lt;/strong&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;Will only work with OpsMgr 2007 R2 and Authoring Console R2 !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Preface&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;It’s best practice to not just attach a Script to a single Workflow but create Modules holding the Scripts that can be used by Workflows like Monitors or Discoveries. In this Blog, I will walk you through creating a Management Pack that does just this, in the second Act I want to get into more detail on the Powershell side of this, therefore the coding stuff.&lt;/p&gt;
&lt;p&gt;Also check out &lt;a href="/BlogDetails/tabid/143/IndexID/44971/Default.aspx"&gt;Stefan Koell’s Blog that covers the Monitors&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this example we assume that we want to provide a Monitor that an Administrator can configure himself using the Registry. However, this example will only cover the Discovery and not the Monitor.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Part 1: Creating the Class&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;In the first step we create a class that has the properties for all the configuration parameters that are needed for the Monitor. In the case of the File Content Check Monitor we have: &lt;em&gt;File&lt;/em&gt; and&lt;em&gt; ErrorText&lt;/em&gt;. Additionally we need a Key-Property called: &lt;em&gt;ID&lt;/em&gt;.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="38" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/01.png"&gt;&lt;img height="217" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/01_thumb.png" alt="01" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="989" valign="top"&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Open up the “Authoring Console” (needs to be installed separately and can be found on the SCOM R2 media) and let’s create a new management pack using&lt;em&gt; File-&gt;New…-&gt;Empty Management Pack&lt;/em&gt; &lt;/p&gt;
            &lt;p&gt;The MP ID is: &lt;em&gt;code4ward.Sample.PowerShellDiscovery&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;The Display Name is: &lt;em&gt;code4ward Sample PowerShell Discovery&lt;/em&gt;&lt;/p&gt;
             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="38" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/02.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/02_thumb.png" alt="02" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="989" valign="top"&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Now let’s navigate to the &lt;em&gt;Service Model&lt;/em&gt; space, and select &lt;em&gt;Classes&lt;/em&gt; in the tree view.&lt;/p&gt;
            &lt;p&gt;Right-click in the &lt;em&gt;Classes &lt;/em&gt;and select &lt;em&gt;New-&gt;Custom Class&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Type in an ID: &lt;em&gt;code4ward.Sample.PowerShellDiscovery.Classes.CheckFileContent&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Type in a Name: &lt;em&gt;Check File Content&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Set the &lt;em&gt;Base Class&lt;/em&gt; to: &lt;em&gt;Microsoft.Windows.LocalApplication&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Properties&lt;/em&gt; Tab.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="38" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/03.png"&gt;&lt;img height="150" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/03_thumb.png" alt="03" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/image.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/image_thumb.png" alt="image" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/05.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/05_thumb.png" alt="05" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
             &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/18.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/18_thumb.png" alt="18" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="989" valign="top"&gt;&lt;br /&gt;
            There's already a property there called &lt;em&gt;DisplayName&lt;/em&gt;, it's a property every class has, and it must be set.&lt;br /&gt;
            &lt;br /&gt;
            Additionally we create the following properties: &lt;em&gt;File&lt;/em&gt;, &lt;em&gt;ID&lt;/em&gt; and &lt;em&gt;ErrorText&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            For this, right-click in the left pane under &lt;em&gt;DisplayName&lt;/em&gt; and select &lt;em&gt;Add Property&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Enter a name for the property: &lt;em&gt;File&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            Click OK.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Additionally we give our property a &lt;em&gt;Display Name&lt;/em&gt;: &lt;em&gt;File&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;/em&gt;&lt;br /&gt;
            Repeat that process for the &lt;em&gt;ErrorText&lt;/em&gt; property so we have both parameters that are needed.&lt;br /&gt;
            &lt;br /&gt;
            For the ID property, do the same but tick the &lt;em&gt;Key&lt;/em&gt; box.&lt;br /&gt;
            &lt;br /&gt;
            Click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 2: Probe Action Module&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;We are not going to just use a Script Discovery as we want to have our Script available for a Task as well. Therefore we will create a &lt;em&gt;Probe Action Module&lt;/em&gt; first and afterwards a&lt;em&gt; Data Source Module.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;Probe Action Module&lt;/em&gt; will contain the script and therefore the discovery Logic, the &lt;em&gt;Data Source&lt;/em&gt; will then add the &lt;em&gt;Interval&lt;/em&gt; and the &lt;em&gt;SyncTime&lt;/em&gt; configurations that are needed so we can use it as a &lt;em&gt;Discovery Module&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The reason for doing it this way is because we can use the &lt;em&gt;Probe Action Module&lt;/em&gt; for a Task as well. Therefore if we just made changes to the Registry and need to discover them NOW we can just fire the On-Demand Discovery Task from the Console.&lt;/p&gt;
&lt;p&gt;This is the configuration needed for the Probe Action later, it’s pretty much the same as a commond Discovery Script configuration but the SyncTime and Interval are not needed:&lt;/p&gt;
&lt;div style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 100%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'Courier New',courier,monospace; height: 210px; background-color: rgb(244, 244, 244); text-align: left;" id="codeSnippetWrapper"&gt;
&lt;div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;" id="codeSnippet"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum1"&gt;   1:&lt;/span&gt; &lt;ScriptName&gt;DiscoverFileContentChecks.ps1&lt;/ScriptName&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum2"&gt;   2:&lt;/span&gt;                 &lt;ScriptBody&gt;&lt;![CDATA[&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum3"&gt;   3:&lt;/span&gt; param($mapElement, $targetID, $computerName, $debug) &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum5"&gt;   5:&lt;/span&gt; #Error-Handler&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum6"&gt;   6:&lt;/span&gt; trap &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum7"&gt;   7:&lt;/span&gt; { &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;continue&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum9"&gt;   9:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum10"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum11"&gt;  11:&lt;/span&gt; function Main&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum12"&gt;  12:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum13"&gt;  13:&lt;/span&gt;     trap{&lt;span style="color: rgb(0, 0, 255);"&gt;continue&lt;/span&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum14"&gt;  14:&lt;/span&gt;     #Set Error and Debug Strings&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum15"&gt;  15:&lt;/span&gt;     $Error.Clear()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum16"&gt;  16:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; ($debug -ne &lt;span style="color: rgb(0, 96, 128);"&gt;"true"&lt;/span&gt;){$debug = [&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;]$&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;}&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;{$debug = [&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;]$&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum17"&gt;  17:&lt;/span&gt;     $Script:Err             = @()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum18"&gt;  18:&lt;/span&gt;     $Script:API             = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;-&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt; -comObject &lt;span style="color: rgb(0, 96, 128);"&gt;"MOM.ScriptAPI"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum19"&gt;  19:&lt;/span&gt;     $Script:LOG_ERROR       = 1&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum20"&gt;  20:&lt;/span&gt;     $Script:LOG_WARNING     = 2&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum21"&gt;  21:&lt;/span&gt;     $Script:LOG_INFORMATION = 4&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum22"&gt;  22:&lt;/span&gt;     $Script:ScriptName      = &lt;span style="color: rgb(0, 96, 128);"&gt;"code4ward.Sample.PowerShellDiscovery.ps1"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum23"&gt;  23:&lt;/span&gt;     $Script:Arguments       = &lt;span style="color: rgb(0, 96, 128);"&gt;"Received Arguments: `r MPElement = $mapElement, `rTargetID = $targetID, `rComputerName = $computerName, `rDebug = $debug"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum24"&gt;  24:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum25"&gt;  25:&lt;/span&gt;     #Set the Discovery Object and the Check-Hive&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum26"&gt;  26:&lt;/span&gt;     $Script:Discovery        = $Script:API.CreateDiscoveryData(0, $mapElement, $targetID)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum27"&gt;  27:&lt;/span&gt;     $Script:CheckHive         = &lt;span style="color: rgb(0, 96, 128);"&gt;"HKLM:\SOFTWARE\code4ward\SCOM"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum28"&gt;  28:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum29"&gt;  29:&lt;/span&gt;     # Discover File-Content-Checks all Checks&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum30"&gt;  30:&lt;/span&gt;     Discover-FileContentChecks(&lt;span style="color: rgb(0, 96, 128);"&gt;"$Script:CheckHive\FileContentChecks"&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum31"&gt;  31:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum32"&gt;  32:&lt;/span&gt;     #Return Discovery Data&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum33"&gt;  33:&lt;/span&gt;     Write-DebugInfo(&lt;span style="color: rgb(0, 96, 128);"&gt;"Returning Discovery Data"&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum34"&gt;  34:&lt;/span&gt;     $Script:Discovery&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum35"&gt;  35:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum36"&gt;  36:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum37"&gt;  37:&lt;/span&gt; function Discover-FileContentChecks([&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;]$fileContentChecksPath)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum38"&gt;  38:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum39"&gt;  39:&lt;/span&gt;     Write-DebugInfo(&lt;span style="color: rgb(0, 96, 128);"&gt;"Running Discovery for the FileContentChecks"&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum40"&gt;  40:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum41"&gt;  41:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (-not (Test-Path $fileContentChecksPath))&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum42"&gt;  42:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum43"&gt;  43:&lt;/span&gt;         Write-DebugInfo(&lt;span style="color: rgb(0, 96, 128);"&gt;"The path specified for the FileContentChecksPath [$fileContentChecksPath] can't be found on this computer, skipping this Discovery."&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum44"&gt;  44:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum45"&gt;  45:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum46"&gt;  46:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum47"&gt;  47:&lt;/span&gt;         $FileContentChecks = @(Get-ChildItem $fileContentChecksPath)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum48"&gt;  48:&lt;/span&gt;         &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum49"&gt;  49:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; ($FileContentCheckPath &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; $FileContentChecks)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum50"&gt;  50:&lt;/span&gt;         {    &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum51"&gt;  51:&lt;/span&gt;             #Get Values and add them to Variables&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum52"&gt;  52:&lt;/span&gt;             #Inherited Properties&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum53"&gt;  53:&lt;/span&gt;             $PropertyName = $FileContentCheckPath.Name.Replace($fileContentChecksPath.Replace(&lt;span style="color: rgb(0, 96, 128);"&gt;"HKLM:"&lt;/span&gt;, &lt;span style="color: rgb(0, 96, 128);"&gt;"HKEY_LOCAL_MACHINE"&lt;/span&gt;) + &lt;span style="color: rgb(0, 96, 128);"&gt;"\", "&lt;/span&gt;&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum54"&gt;  54:&lt;/span&gt;             $PropertyID = "FileContentCheck.&lt;span style="color: rgb(0, 96, 128);"&gt;" + $PropertyName.Replace("&lt;/span&gt; &lt;span style="color: rgb(0, 96, 128);"&gt;", "&lt;/span&gt;&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum55"&gt;  55:&lt;/span&gt;             &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum56"&gt;  56:&lt;/span&gt;             #Class-Properties&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum57"&gt;  57:&lt;/span&gt;             $PropertyFile = $FileContentCheckPath.GetValue("File&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum58"&gt;  58:&lt;/span&gt;             $PropertyErrorText = $FileContentCheckPath.GetValue("ErrorText&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum59"&gt;  59:&lt;/span&gt;       &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum60"&gt;  60:&lt;/span&gt;       write-debuginfo("Received Name: $PropertyName ID: $PropertyID File: $PropertyFile ErrorText: $PropertyErrorText&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum61"&gt;  61:&lt;/span&gt;                         &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum62"&gt;  62:&lt;/span&gt;             $Instance = $Script:Discovery.CreateClassInstance("$MPElement[Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'code4ward.Sample.PowerShellDiscovery.Classes.CheckFileContent'&lt;/span&gt;]$&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum63"&gt;  63:&lt;/span&gt;             $Instance.AddProperty("$MPElement[Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'System!System.Entity'&lt;/span&gt;]/DisplayName$&lt;span style="color: rgb(0, 96, 128);"&gt;", $PropertyName)&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum64"&gt;  64:&lt;/span&gt;             $Instance.AddProperty("$MPElement[Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'Windows!Microsoft.Windows.Computer'&lt;/span&gt;]/PrincipalName$&lt;span style="color: rgb(0, 96, 128);"&gt;", $computerName)&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum65"&gt;  65:&lt;/span&gt;             $Instance.AddProperty("$MPElement[Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'code4ward.Sample.PowerShellDiscovery.Classes.CheckFileContent'&lt;/span&gt;]/ID$&lt;span style="color: rgb(0, 96, 128);"&gt;", $PropertyID)&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum66"&gt;  66:&lt;/span&gt;             $Instance.AddProperty("$MPElement[Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'code4ward.Sample.PowerShellDiscovery.Classes.CheckFileContent'&lt;/span&gt;]/File$&lt;span style="color: rgb(0, 96, 128);"&gt;", $PropertyFile)&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum67"&gt;  67:&lt;/span&gt;             $Instance.AddProperty("$MPElement[Name=&lt;span style="color: rgb(0, 96, 128);"&gt;'code4ward.Sample.PowerShellDiscovery.Classes.CheckFileContent'&lt;/span&gt;]/ErrorText$&lt;span style="color: rgb(0, 96, 128);"&gt;", $PropertyErrorText)&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum68"&gt;  68:&lt;/span&gt;             &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum69"&gt;  69:&lt;/span&gt;             #Return Instance to Discovery Data&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum70"&gt;  70:&lt;/span&gt;             Write-DebugInfo("Adding discovered Instance to Discovery&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum71"&gt;  71:&lt;/span&gt;             if(-not $Error.Count -gt 0){$Script:Discovery.AddInstance($Instance)}else{Write-ErrorInfo("Discover-FileContentChecks-$TargetID&lt;span style="color: rgb(0, 96, 128);"&gt;")}&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum72"&gt;  72:&lt;/span&gt;         }  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum73"&gt;  73:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum74"&gt;  74:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum75"&gt;  75:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum76"&gt;  76:&lt;/span&gt; function Write-DebugInfo&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum77"&gt;  77:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum78"&gt;  78:&lt;/span&gt;     param ([string] $msg)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum79"&gt;  79:&lt;/span&gt;     if ($debug -eq $true) &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum80"&gt;  80:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum81"&gt;  81:&lt;/span&gt;         $API.LogScriptEvent("$ScriptName&lt;span style="color: rgb(0, 96, 128);"&gt;",100,$Script:LOG_INFORMATION,"&lt;/span&gt;`r$Arguments`r`r$msg&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum82"&gt;  82:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum83"&gt;  83:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum84"&gt;  84:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum85"&gt;  85:&lt;/span&gt; function Write-WarningInfo&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum86"&gt;  86:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum87"&gt;  87:&lt;/span&gt;     param ([string] $msg)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum88"&gt;  88:&lt;/span&gt;     $API.LogScriptEvent("$ScriptName&lt;span style="color: rgb(0, 96, 128);"&gt;",200,$Script:LOG_WARNING,"&lt;/span&gt;`r$Arguments`r`r$msg&lt;span style="color: rgb(0, 96, 128);"&gt;")&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum89"&gt;  89:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum90"&gt;  90:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum91"&gt;  91:&lt;/span&gt; function Write-ErrorInfo&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum92"&gt;  92:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum93"&gt;  93:&lt;/span&gt;     param ([string] $msg)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum94"&gt;  94:&lt;/span&gt;     $API.LogScriptEvent("$ScriptName&lt;span style="color: rgb(0, 96, 128);"&gt;",500,$Script:LOG_ERROR,"&lt;/span&gt;`r$Arguments`r`r$msg")&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum95"&gt;  95:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum96"&gt;  96:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum97"&gt;  97:&lt;/span&gt; #Call the MainFunction&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum98"&gt;  98:&lt;/span&gt; Main&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum99"&gt;  99:&lt;/span&gt;        ]]&gt;&lt;/ScriptBody&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum100"&gt; 100:&lt;/span&gt;                 &lt;Parameters&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum101"&gt; 101:&lt;/span&gt;                   &lt;Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum102"&gt; 102:&lt;/span&gt;                     &lt;Name&gt;MapElement&lt;/Name&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum103"&gt; 103:&lt;/span&gt;                     &lt;Value&gt;$Config/MapElement$&lt;/Value&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum104"&gt; 104:&lt;/span&gt;                   &lt;/Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum105"&gt; 105:&lt;/span&gt;                   &lt;Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum106"&gt; 106:&lt;/span&gt;                     &lt;Name&gt;TargetID&lt;/Name&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum107"&gt; 107:&lt;/span&gt;                     &lt;Value&gt;$Config/TargetID$&lt;/Value&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum108"&gt; 108:&lt;/span&gt;                   &lt;/Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum109"&gt; 109:&lt;/span&gt;                   &lt;Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum110"&gt; 110:&lt;/span&gt;                     &lt;Name&gt;ComputerName&lt;/Name&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum111"&gt; 111:&lt;/span&gt;                     &lt;Value&gt;$Config/ComputerName$&lt;/Value&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum112"&gt; 112:&lt;/span&gt;                   &lt;/Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum113"&gt; 113:&lt;/span&gt;                   &lt;Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum114"&gt; 114:&lt;/span&gt;                     &lt;Name&gt;Debug&lt;/Name&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum115"&gt; 115:&lt;/span&gt;                     &lt;Value&gt;$Config/Debug$&lt;/Value&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum116"&gt; 116:&lt;/span&gt;                   &lt;/Parameter&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum117"&gt; 117:&lt;/span&gt;                 &lt;/Parameters&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(96, 96, 96);" id="lnum118"&gt; 118:&lt;/span&gt;                 &lt;TimeoutSeconds&gt;600&lt;/TimeoutSeconds&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/07.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/07_thumb.png" alt="07" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Type Library&lt;/em&gt; space, and select &lt;em&gt;Type Library\Module Types\Probe Actions &lt;/em&gt;in the tree view.&lt;/p&gt;
            &lt;p&gt;Right-click in the &lt;em&gt;Probe Actions &lt;/em&gt;and select &lt;em&gt;New-&gt;Composite Probe Action&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Type in an ID: code4ward.Sample.PowerShellDiscovery.Probe.DiscoverFileContentCheck&lt;/p&gt;
            &lt;p&gt;Type in a Name: &lt;em&gt;Discover&lt;/em&gt; &lt;em&gt;File Content Check&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Switch to to the &lt;em&gt;Member Modules&lt;/em&gt; Tab.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/08.png"&gt;&lt;img height="171" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/08_thumb.png" alt="08" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Add...&lt;/em&gt; and look for microsoft.windows.powershelldiscoveryprobe.&lt;br /&gt;
            &lt;br /&gt;
            Select it, give it an &lt;em&gt;ID&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/09.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/09_thumb.png" alt="09" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            You will then be prompted for the Configuration.&lt;br /&gt;
            &lt;br /&gt;
            Click &lt;em&gt;Edit...&lt;/em&gt; (I personally use &lt;em&gt;Notepad&lt;/em&gt; as the Editor, if you want to use something else, feel free to do so.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt; &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/10.png"&gt;&lt;img height="193" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/10_thumb.png" alt="10" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Replace the XML stuff inside the &lt;Configuration&gt; element with the code above.&lt;/p&gt;
            &lt;p&gt;Save and close.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/11.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/11_thumb.png" alt="11" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            As you may notice, the values for the parameters are using variables &lt;em&gt;$Config/TargetID$&lt;/em&gt;. We are going to create them soon.&lt;br /&gt;
            &lt;br /&gt;
            Click &lt;em&gt;OK&lt;/em&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;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/12.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/12_thumb.png" alt="12" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            Select &lt;em&gt;Module Output&lt;/em&gt; in the drop down list in the &lt;em&gt;Next Module&lt;/em&gt; column.&lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Configuration Schema&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/13.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/13_thumb.png" alt="13" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            Under Simple Configuration Schema click Add...&lt;br /&gt;
            &lt;br /&gt;
            Enter the name: &lt;em&gt;MapElement&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            Click OK and verify that it's type is &lt;em&gt;String&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Do the same for &lt;em&gt;TargetID &lt;/em&gt;and&lt;em&gt; ComputerName.&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            For &lt;em&gt;Debug&lt;/em&gt;, do the same but set it's type to &lt;em&gt;Boolean&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Overrideable Parameters&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/14.png"&gt;&lt;img height="244" border="0" width="239" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/14_thumb.png" alt="14" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/15.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/15_thumb.png" alt="15" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/16.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/16_thumb.png" alt="16" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Add...&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Choose &lt;em&gt;MapElement&lt;/em&gt; and give it the unique identifier &lt;em&gt;MapElement&lt;/em&gt;, click OK.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Verify that the type in the &lt;em&gt;Configuration Element&lt;/em&gt; column is &lt;em&gt;String&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Do the same for &lt;em&gt;TargetID &lt;/em&gt;and &lt;em&gt;ComputerName&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            For &lt;em&gt;Debug&lt;/em&gt;, do the same but set it's type to &lt;em&gt;Boolean&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Data Types&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/17.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/17_thumb.png" alt="17" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Set the Input Data to &lt;em&gt;This module requires Input data&lt;/em&gt; and in the drop-down list choose &lt;em&gt;System.BaseData&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Set the &lt;em&gt;Output Data&lt;/em&gt; &lt;em&gt;Data Type&lt;/em&gt; to: &lt;em&gt;System.Discovery.Data&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;&lt;em&gt;Switch to the &lt;em&gt;Options&lt;/em&gt; Tab.&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="220" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/18_3.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/18_thumb_3.png" alt="18" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="917" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Change the &lt;em&gt;Accessibility&lt;/em&gt; property to &lt;em&gt;Public&lt;/em&gt;. This is optional and may be useful when you seal your MP and provide these modules to use in other MPs.&lt;/p&gt;
            &lt;p&gt;Click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 3: Data Source Module&lt;/strong&gt;&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/19.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/19_thumb.png" alt="19" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/20.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/20_thumb.png" alt="20" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Type Library&lt;/em&gt; space, and select &lt;em&gt;Type Library\Module Types\Data Source &lt;/em&gt;in the tree view.&lt;/p&gt;
            &lt;p&gt;Right-click in the &lt;em&gt;Probe Actions &lt;/em&gt;and select &lt;em&gt;New-&gt;Composite Data Source&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Type in an ID: code4ward.Sample.PowerShellDiscovery.DataSource.DiscoverFileContentCheck&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Type in a Name: &lt;em&gt;Discover&lt;/em&gt; &lt;em&gt;File Content Check&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Switch to to the &lt;em&gt;Member Modules&lt;/em&gt; Tab.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/21.png"&gt;&lt;img height="162" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/21_thumb.png" alt="21" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Add...&lt;/em&gt; and look for &lt;em&gt;code4ward&lt;/em&gt;, you should find our previously created &lt;em&gt;Probe Module&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Select it, give it an &lt;em&gt;ID&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/22.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/22_thumb.png" alt="22" style="border-width: 0px;" /&gt;&lt;/a&gt; &lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/23.png"&gt;&lt;img height="176" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/23_thumb.png" alt="23" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/24.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/24_thumb.png" alt="24" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            You are then prompted for the configuration of the &lt;em&gt;Module&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
            Clear all the values. &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            At each value box, click the arrow on the right side and choose &lt;em&gt;Promote&lt;/em&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;
            Once finished, click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/25.png"&gt;&lt;img height="196" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/25_thumb.png" alt="25" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            We need an additional &lt;em&gt;Member Module&lt;/em&gt; now that extends the &lt;em&gt;Data Source&lt;/em&gt; with the &lt;em&gt;Interval&lt;/em&gt; and &lt;em&gt;SyncTime&lt;/em&gt; configurations needed for the Discovery Module later.&lt;br /&gt;
            &lt;br /&gt;
            In the Member Modules Tab click Add... and look for&lt;em&gt; System.Discovery.Scheduler&lt;br /&gt;
            &lt;br /&gt;
            &lt;/em&gt;Select it, give it an &lt;em&gt;ID&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/26.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/26_thumb.png" alt="26" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            You will then be prompted for the configuration. &lt;br /&gt;
            &lt;br /&gt;
            Clear the &lt;em&gt;Interval&lt;/em&gt; and &lt;em&gt;SyncTime&lt;/em&gt; and use the right arrow next to these values again and choose &lt;em&gt;Promote&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/27.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/27_thumb.png" alt="27" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            Now we need to configure the sequence order of the &lt;em&gt;Member Modules&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            At the &lt;em&gt;Discovery Scheduler&lt;/em&gt; set the &lt;em&gt;Next Module&lt;/em&gt; to the &lt;em&gt;ID&lt;/em&gt; of the &lt;em&gt;Discovery Probe&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            At the &lt;em&gt;Discovery Probe&lt;/em&gt; set the &lt;em&gt;Next Module&lt;/em&gt; to &lt;em&gt;Module Output&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Consider the &lt;em&gt;Discovery Scheduler&lt;/em&gt; as our trigger that then launches the &lt;em&gt;Discovery Probe&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Configuration Schema&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/28.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/28_thumb.png" alt="28" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            As you can see, the &lt;em&gt;Simple Configuration Schema&lt;/em&gt; items have already been created. That's what &lt;em&gt;Promote&lt;/em&gt; did earlier.&lt;br /&gt;
            &lt;br /&gt;
            All we need to do is changing the &lt;em&gt;Type&lt;/em&gt; of &lt;em&gt;Debug&lt;/em&gt; to &lt;em&gt;Boolean&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Overridable Parameters&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/15.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/15_thumb.png" alt="15" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
             &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/29.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/29_thumb.png" alt="29" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Add...&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            Choose &lt;em&gt;MapElement&lt;/em&gt; and give it the unique identifier &lt;em&gt;MapElement&lt;/em&gt;, click OK.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Verify that the type in the &lt;em&gt;Configuration Element&lt;/em&gt; column is &lt;em&gt;String&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Do the same for &lt;em&gt;TargetID,&lt;/em&gt; &lt;em&gt;ComputerName and SyncTime&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            For &lt;em&gt;Debug&lt;/em&gt;, do the same but set it's type to &lt;em&gt;Boolean&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            For Interval, do the same but set it's type to Integer.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Data Types&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/30.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/30_thumb.png" alt="30" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Set the &lt;em&gt;Output Data&lt;/em&gt; &lt;em&gt;Data Type&lt;/em&gt; to: &lt;em&gt;System.Discovery.Data&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;&lt;em&gt;Switch to the &lt;em&gt;Options&lt;/em&gt; Tab.&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/31.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/31_thumb.png" alt="31" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Change the &lt;em&gt;Accessibility&lt;/em&gt; property to &lt;em&gt;Public&lt;/em&gt;. This is optional and may be useful when you seal your MP and provide these modules to use in other MPs.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="249" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/01_3.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/01_thumb_3.png" alt="01" style="border-width: 0px; display: inline;" title="01" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/02_3.png"&gt;&lt;img height="179" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/02_thumb_3.png" alt="02" style="border-width: 0px; display: inline;" title="02" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/03_3.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/03_thumb_3.png" alt="03" style="border-width: 0px; display: inline;" title="03" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1023" valign="top"&gt;&lt;br /&gt;
            It can happen that the values in the &lt;em&gt;Probe Action Module&lt;/em&gt; configuration get cleared which causes an error once you click &lt;em&gt;Apply&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            In this case, switch back to the&lt;em&gt; Member Modules&lt;/em&gt; Tab and edit the &lt;em&gt;Probe Action Module&lt;/em&gt; again.&lt;br /&gt;
            &lt;br /&gt;
            As you can see (in case it happened), the previously created values were cleared, I guess this is some weird &lt;em&gt;Authoring Console&lt;/em&gt; Bug that may be fixed by now (with the new version containing the &lt;em&gt;Workflow Debugger&lt;/em&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;
            On the right side of each value click the arrow and select the matching &lt;em&gt;$Config\&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            For &lt;em&gt;MapElement&lt;/em&gt; it’s &lt;em&gt;$Config\MapElement$&lt;br /&gt;
            &lt;/em&gt;&lt;br /&gt;
            For &lt;em&gt;TargetID&lt;/em&gt; it’s &lt;em&gt;$Config\TargetID$&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            And so on…&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Once finished click &lt;em&gt;Apply&lt;/em&gt;, &lt;em&gt;Apply&lt;/em&gt;, &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 4: Discovery&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Now that our modules are ready, we can create the actual &lt;em&gt;Discovery&lt;/em&gt;. The &lt;em&gt;Discovery&lt;/em&gt; will use the &lt;em&gt;DataSource&lt;/em&gt; module we just created and will discover instances of the class we created earlier.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/19_3.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/19_thumb_3.png" alt="19" style="border-width: 0px;" /&gt;&lt;/a&gt;   &lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Health Model&lt;/em&gt; space, and select &lt;em&gt;Discoveries &lt;/em&gt;in the tree view.&lt;/p&gt;
            &lt;p&gt;Right-click in the &lt;em&gt;Discoveries&lt;/em&gt; and select &lt;em&gt;New-&gt; Custom Discovery&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Type in an ID: &lt;em&gt;code4ward.Sample.PowerShellDiscovery.Discoveries.DiscoverFileContentCheck&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/04.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/04_thumb.png" alt="04" style="border-width: 0px; display: inline;" title="04" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Type in a Name: &lt;em&gt;Discover File Content Checks&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Change the Target to:&lt;em&gt; Microsoft.Windows.OperatingSystem&lt;/em&gt;&lt;/p&gt;
             
            &lt;p&gt;Switch to the &lt;em&gt;Discovered Classes&lt;/em&gt; Tab.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/21_3.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/21_thumb_3.png" alt="21" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;At &lt;em&gt;Discovered Classes and their attributes&lt;/em&gt; click &lt;em&gt;Add...&lt;/em&gt; and select &lt;em&gt;Add discovered type&lt;/em&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/22_3.png"&gt;&lt;img height="207" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/22_thumb_3.png" alt="22" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;
            &lt;p&gt;Look for &lt;em&gt;code4ward&lt;/em&gt; and you should find our previously created class.&lt;/p&gt;
            &lt;p&gt;Select it and click &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Switch to the &lt;em&gt;Configuration&lt;/em&gt; Tab.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/45.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/45_thumb.png" alt="45" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Browse for a type...&lt;/em&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/32.png"&gt;&lt;img height="207" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/32_thumb.png" alt="32" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Look for &lt;em&gt;code4ward&lt;/em&gt; and you should find our previously created &lt;em&gt;DataSource Module&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Select it, give it an &lt;em&gt;ID&lt;/em&gt; and click OK.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="10" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/33.png"&gt;&lt;img height="177" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/33_thumb.png" alt="33" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1317" valign="top"&gt;&lt;br /&gt;
            Now we need to configure our Discovery. &lt;em&gt;SyncTime&lt;/em&gt;, &lt;em&gt;IntervalSeconds&lt;/em&gt; and &lt;em&gt;Debug&lt;/em&gt; is variable. Therefore adjust them so they fit your needs. (For testing you should set the IntervalSeconds way lower).&lt;br /&gt;
            &lt;br /&gt;
            SyncTime: 00:00&lt;br /&gt;
            IntervalSeconds: 600&lt;br /&gt;
            MapElemenet: $MPElement$&lt;br /&gt;
            TargetID: $Target/Id$&lt;br /&gt;
            ComputerName: Click the arrow on the right side and choose&lt;em&gt; Principal Name&lt;/em&gt; under &lt;em&gt;(Host = Windows Computer)&lt;/em&gt;.&lt;br /&gt;
            Debug: true&lt;br /&gt;
            &lt;br /&gt;
            Click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 5: Testing the Discovery&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;So, now that we have our discovery ready we want to test it of course. For this we will create our &lt;em&gt;Registry Keys&lt;/em&gt; and import the &lt;em&gt;Management Pack&lt;/em&gt;, afterwards we will check the &lt;em&gt;Discovered Inventory&lt;/em&gt; to see if our Instance has actually been discovered.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/34.png"&gt;&lt;img height="128" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/34_thumb.png" alt="34" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Open the Registry on the machine of your choice with &lt;em&gt;Start-&gt;Run-&gt;regedit-&gt;OK&lt;/em&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/35.png"&gt;&lt;img height="212" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/35_thumb.png" alt="35" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Open the &lt;em&gt;HKEY_LOCAL_MACHINE&lt;/em&gt; tree, right-click &lt;em&gt;SOFTWARE&lt;/em&gt; and choose New-&gt;&lt;em&gt;Key&lt;/em&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/36.png"&gt;&lt;br /&gt;
            &lt;img height="29" border="0" width="148" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/36_thumb.png" alt="36" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Name it &lt;em&gt;code4ward&lt;/em&gt; and hit &lt;em&gt;Enter&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/37.png"&gt;&lt;img height="70" border="0" width="194" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/37_thumb.png" alt="37" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Under &lt;em&gt;code4ward &lt;/em&gt;create another &lt;em&gt;Key SCOM&lt;/em&gt;, under &lt;em&gt;SCOM&lt;/em&gt; create another &lt;em&gt;Key FileContentChecks&lt;/em&gt; and under &lt;em&gt;FileContentChecks&lt;/em&gt; another &lt;em&gt;Key&lt;/em&gt; called &lt;em&gt;TestCheck&lt;/em&gt; (or anything else, this will be the &lt;em&gt;DisplayName&lt;/em&gt; of our Check and it will also be contained in our ID).&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/38.png"&gt;&lt;img height="111" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/38_thumb.png" alt="38" style="border-width: 0px;" /&gt;&lt;/a&gt; &lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/39.png"&gt;&lt;img height="99" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/39_thumb.png" alt="39" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/40.png"&gt;&lt;img height="58" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/40_thumb.png" alt="40" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Time to configure it. All we need to provide now are 2 String Values called File and ErrorText.&lt;br /&gt;
            &lt;br /&gt;
            Select the TestCheck Key, and in the right pane right-click, New-&gt;String Value.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Name it File, double-click it and give it a &lt;em&gt;Value data&lt;/em&gt;: &lt;em&gt;c:\test.txt&lt;/em&gt; &lt;- or something else. &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Create another String Value called &lt;em&gt;ErrorText&lt;/em&gt; and give it some &lt;em&gt;Value Data&lt;/em&gt; like: &lt;em&gt;ERROR&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Now we have everything set up in the &lt;em&gt;Registry&lt;/em&gt; so we have some data we can discover. Time to Import our &lt;em&gt;Management Pack&lt;/em&gt;.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/41.png"&gt;&lt;img height="102" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/41_thumb.png" alt="41" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/42.png"&gt;&lt;img height="180" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/42_thumb.png" alt="42" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            In the Authoring Console click File-&gt;Save As-&gt;Standard Management Pack&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            And drop it somewhere called: code4ward.Sample.PowerShellDiscovery.xml&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/43.png"&gt;&lt;img height="244" border="0" width="167" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/43_thumb.png" alt="43" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Now it's time to switch to the Operations Console.&lt;br /&gt;
            &lt;br /&gt;
            &lt;p&gt;Let’s navigate to the &lt;em&gt;Administration &lt;/em&gt;space, right-click &lt;em&gt;Management Packs&lt;/em&gt; in the tree-view and select &lt;em&gt;Import Management Packs...&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/44.png"&gt;&lt;img height="218" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/44_thumb.png" alt="44" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/45_3.png"&gt;&lt;img height="114" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/45_thumb_3.png" alt="45" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Add&lt;/em&gt;-&gt;&lt;em&gt;Add from disk...&lt;br /&gt;
            &lt;/em&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;
            We don't need to search for dependencies, therefore click &lt;em&gt;No&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/46.png"&gt;&lt;img height="180" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/46_thumb.png" alt="46" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Locate the &lt;em&gt;Management Pack&lt;/em&gt;, select it and click &lt;em&gt;Open&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/47.png"&gt;&lt;img height="219" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/47_thumb.png" alt="47" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            Next, click &lt;em&gt;Install&lt;/em&gt; and wait for the Import process to be finished.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/48.png"&gt;&lt;img height="89" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/48_thumb.png" alt="48" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Monitoring &lt;/em&gt;space, select &lt;em&gt;Discovered Inventory &lt;/em&gt;in the right pane under Actions select &lt;em&gt;Change Target Type...&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Look for &lt;em&gt;code4ward&lt;/em&gt; and you should see our &lt;em&gt;Class&lt;/em&gt; we created in the &lt;em&gt;Management Pack&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Select it and click &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="245" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/49.png"&gt;&lt;img height="29" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/49_thumb.png" alt="49" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1027" valign="top"&gt;&lt;br /&gt;
            And after a while, depending on the Interval you chose and the SyncTime, our Instance should be discovered. In our case the Discovery will run at every full 10 minutes, therefore 15:00, 15:10, 15:20 and so on. &lt;br /&gt;
            &lt;br /&gt;
            If it doesn't, check the &lt;em&gt;Event Log&lt;/em&gt; for &lt;em&gt;Operations Manager&lt;/em&gt;, the &lt;em&gt;Debug Information&lt;/em&gt; and &lt;em&gt;Error Information&lt;/em&gt; from the &lt;em&gt;Script&lt;/em&gt; should be there.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 6: Write Action Module&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Since our Discovery Probe only provides the Discovery Data and doesn't write into the Operations Manager Database we need an additional module that does that &lt;em&gt;Write Action&lt;/em&gt; for us.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/78.png"&gt;&lt;img height="99" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/78_thumb.png" alt="78" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;
            &lt;p&gt;Open up the Authoring Console again and open our previously created Management Pack.&lt;/p&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Type Library&lt;/em&gt; space, and select &lt;em&gt;Module Types&lt;/em&gt;-&gt;&lt;em&gt;Write Actions &lt;/em&gt;in the tree view.&lt;/p&gt;
            &lt;p&gt;Right-click in the &lt;em&gt;Write Actions &lt;/em&gt;and select &lt;em&gt;New-&gt; Composite Write Action...&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/63.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/63_thumb.png" alt="63" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Give it the ID: &lt;em&gt;code4ward.Sample.PowerShellDiscovery.WriteAction.OnDemandFileContentCheckDiscovery&lt;/em&gt; &lt;br /&gt;
            &lt;br /&gt;
            Click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/64.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/64_thumb.png" alt="64" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Give it the Display Name: &lt;em&gt;Discover File Content Check&lt;br /&gt;
            &lt;br /&gt;
            &lt;/em&gt;Switch to the &lt;em&gt;Member Modules&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/65.png"&gt;&lt;img height="213" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/65_thumb.png" alt="65" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Add...&lt;/em&gt; and look for &lt;em&gt;Microsoft.SystemCenter.DiscoveryDataWriter&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            Select it, give it an &lt;em&gt;ID&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/66.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/66_thumb.png" alt="66" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Leave the configuration alone and just click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/67.png"&gt;&lt;img height="175" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/67_thumb.png" alt="67" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Since we need our &lt;em&gt;Discovery Probe&lt;/em&gt; as well, click &lt;em&gt;Add...&lt;/em&gt; again and look for &lt;em&gt;code4ward&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            You'll find 2 available modules, choose the one of type &lt;em&gt;Probe Action&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            Give it an &lt;em&gt;ID&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;.&lt;br /&gt;
             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/68.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/68_thumb.png" alt="68" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            You are then prompted for the configuration of the module.&lt;br /&gt;
            &lt;br /&gt;
            Clear all the values and use the right arrow next to each value and choose &lt;em&gt;Promote&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/69.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/69_thumb.png" alt="69" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            For the module &lt;em&gt;Write Action&lt;/em&gt; choose &lt;em&gt;Module Output&lt;/em&gt; as &lt;em&gt;NextModule&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            For the module &lt;em&gt;Probe Action&lt;/em&gt; choose the &lt;em&gt;Write Action&lt;/em&gt; as &lt;em&gt;NextModule&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            This launches the &lt;em&gt;Probe Action&lt;/em&gt; first and then forwards the &lt;em&gt;Discovery Data&lt;/em&gt; to the &lt;em&gt;Write Action&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Configuration Schema&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/70.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/70_thumb.png" alt="70" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            As you can see, the Simple Configuration Schema items have already been created (by Promote).&lt;br /&gt;
            &lt;br /&gt;
            Verify that &lt;em&gt;ComputerName&lt;/em&gt;, &lt;em&gt;MapElement&lt;/em&gt; and &lt;em&gt;TargetID&lt;/em&gt; are of &lt;em&gt;Type String&lt;/em&gt; and that Debug is of &lt;em&gt;Type Boolean&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Overridable Parameters&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/71.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/71_thumb.png" alt="71" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;
            &lt;p&gt;Click &lt;em&gt;Add...&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Choose &lt;em&gt;MapElement&lt;/em&gt; and give it the unique identifier &lt;em&gt;MapElement&lt;/em&gt;, click OK.&lt;/p&gt;
            &lt;p&gt;Verify that the type in the &lt;em&gt;Configuration Element&lt;/em&gt; column is &lt;em&gt;String&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Do the same for &lt;em&gt;TargetID &lt;/em&gt;and &lt;em&gt;ComputerName&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;For &lt;em&gt;Debug&lt;/em&gt;, do the same but set it's type to &lt;em&gt;Boolean&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Switch to the &lt;em&gt;Data Types&lt;/em&gt; Tab.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/79.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/79_thumb.png" alt="79" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Verify that the &lt;em&gt;Input Data&lt;/em&gt; type is &lt;em&gt;System.BaseData&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the Options Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/73.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/73_thumb.png" alt="73" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;Change the &lt;em&gt;Accessibility&lt;/em&gt; property to &lt;em&gt;Public&lt;/em&gt;. This is optional and may be useful when you seal your MP and provide these modules to use in other MPs.&lt;/p&gt;
            &lt;p&gt;Click &lt;em&gt;Apply&lt;/em&gt; and &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/01_3.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/01_thumb_3.png" alt="01" style="border-width: 0px; display: inline;" title="01" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/02_3.png"&gt;&lt;img height="179" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/02_thumb_3.png" alt="02" style="border-width: 0px; display: inline;" title="02" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/03_3.png"&gt;&lt;img height="244" border="0" width="243" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/03_thumb_3.png" alt="03" style="border-width: 0px; display: inline;" title="03" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            It can happen that the values in the &lt;em&gt;Probe Action Module&lt;/em&gt; configuration get cleared which causes an error once you click &lt;em&gt;Apply&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            In this case, switch back to the&lt;em&gt; Member Modules&lt;/em&gt; Tab and edit the &lt;em&gt;Probe Action Module&lt;/em&gt; again.&lt;br /&gt;
            &lt;br /&gt;
            As you can see (in case it happened), the previously created values were cleared, I guess this is some weird &lt;em&gt;Authoring Console&lt;/em&gt; Bug that may be fixed by now (with the new version containing the &lt;em&gt;Workflow Debugger&lt;/em&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;
            On the right side of each value click the arrow and select the matching &lt;em&gt;$Config\&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            For &lt;em&gt;MapElement&lt;/em&gt; it’s &lt;em&gt;$Config\MapElement$&lt;br /&gt;
            &lt;/em&gt;&lt;br /&gt;
            For &lt;em&gt;TargetID&lt;/em&gt; it’s &lt;em&gt;$Config\TargetID$&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            And so on…&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Once finished click &lt;em&gt;Apply&lt;/em&gt;, &lt;em&gt;Apply&lt;/em&gt;, &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 7: On-Demand Discovery Task&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;So, finally we can create our &lt;em&gt;Task&lt;/em&gt; using the previously created &lt;em&gt;Write Action&lt;/em&gt; module.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/50.png"&gt;&lt;img height="132" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/50_thumb.png" alt="50" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Health Model&lt;/em&gt; space, and select &lt;em&gt;Tasks&lt;/em&gt;-&gt;&lt;em&gt;Agent Tasks &lt;/em&gt;in the tree view.&lt;/p&gt;
            &lt;p&gt;Right-click in the &lt;em&gt;Agent Tasks &lt;/em&gt;and select &lt;em&gt;New-&gt; Custom Task&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/51.png"&gt;&lt;img height="97" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/51_thumb.png" alt="51" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Give it the ID: &lt;em&gt;code4ward.Sample.PowerShellDiscovery.AgentTasks.OnDemandFileContentCheckDiscovery&lt;/em&gt; and click &lt;em&gt;OK.&lt;br /&gt;
            &lt;br /&gt;
            &lt;/em&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/52.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/52_thumb.png" alt="52" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            For Display Name: &lt;em&gt;Discover File Content Checks&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            And for Target: &lt;em&gt;Microsoft.Windows.Computer&lt;/em&gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Switch to the &lt;em&gt;Configuration&lt;/em&gt; Tab.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/80.png"&gt;&lt;img height="147" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/80_thumb.png" alt="80" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Click &lt;em&gt;Browse for a Type...&lt;/em&gt; and look for &lt;em&gt;code4ward&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            You should find 2 modules, &lt;em&gt;Discovery Probe&lt;/em&gt; and the&lt;em&gt; Write Action&lt;/em&gt; we created earlier.&lt;br /&gt;
            &lt;br /&gt;
            Select the one containing &lt;em&gt;WriteAction&lt;/em&gt;, give it an ID and click &lt;em&gt;OK&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/58.png"&gt;&lt;img height="190" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/58_thumb.png" alt="58" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Now we need to configure our &lt;em&gt;Write Action&lt;/em&gt;. &lt;em&gt;Debug&lt;/em&gt; is variable. You can set it to false as well.&lt;br /&gt;
            &lt;br /&gt;
            MapElemenet: $MPElement$&lt;br /&gt;
            TargetID: $Target/Id$&lt;br /&gt;
            ComputerName: Click the arrow on the right side and choose&lt;em&gt; Principal Name&lt;/em&gt;.&lt;br /&gt;
            Debug: true&lt;br /&gt;
             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/55.png"&gt;&lt;img height="78" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/55_thumb.png" alt="55" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Since we want to verify that the Task works we will now disable the &lt;em&gt;Discovery&lt;/em&gt;.&lt;br /&gt;
            &lt;br /&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Health Model&lt;/em&gt; space, select &lt;em&gt;Discoveries&lt;/em&gt; and open the properties of our &lt;em&gt;Discovery&lt;/em&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="244" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/56.png"&gt;&lt;img height="242" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/56_thumb.png" alt="56" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1028" valign="top"&gt;&lt;br /&gt;
            Switch to the &lt;em&gt;Options&lt;/em&gt; Tab.&lt;br /&gt;
            &lt;br /&gt;
            Set &lt;em&gt;Enabled&lt;/em&gt; to false.&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            Now save the &lt;em&gt;Management Pack&lt;/em&gt; again.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt; &lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;Part 8: Testing the Agent Task&lt;/strong&gt;&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="240" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/59.png"&gt;&lt;img height="69" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/59_thumb.png" alt="59" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
             &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/05_3.png"&gt;&lt;img height="244" border="0" width="200" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/05_thumb_3.png" alt="05" style="border-width: 0px; display: inline;" title="05" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1033" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;In the &lt;em&gt;Operations Console&lt;/em&gt;, delete the previous &lt;em&gt;Management Pack&lt;/em&gt; first (so our previously discovered Instance gets deleted) and import the "new" one.&lt;/p&gt;
            &lt;p&gt;Navigate to the &lt;em&gt;Monitoring &lt;/em&gt;space, and select &lt;em&gt;Windows Computers &lt;/em&gt;in the tree view.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;Select the Computer on which you created the Registry Keys and in the right pane under &lt;em&gt;Windows Computer Tasks&lt;/em&gt; click &lt;em&gt;Discover File Content Checks&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;p&gt;In the &lt;em&gt;Run Task&lt;/em&gt; configuration you can override parameters, the only interesting parameter here would be the Debug parameter. Since it's already set to true and the rest looks just fine, click &lt;em&gt;Run&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="240" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/61.png"&gt;&lt;img height="244" border="0" width="233" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/61_thumb.png" alt="61" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1033" valign="top"&gt;&lt;br /&gt;
            &lt;p&gt;The &lt;em&gt;Task&lt;/em&gt; will then start to run. Wait for it to be finished.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="240" valign="top"&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/06.png"&gt;&lt;img height="244" border="0" width="233" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/06_thumb.png" alt="06" style="border-width: 0px; display: inline;" title="06" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1033" valign="top"&gt;&lt;br /&gt;
            Once finished, you'll receive an Information that it was either successful or not.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="240" valign="top"&gt;&lt;br /&gt;
            &lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index50020/49.png"&gt;&lt;img height="29" border="0" width="244" src="http://www.tenchuu.com/bilder/artikel/scompowdisc/HowtocreateaPowerShellScriptDiscoveryinc_C94B/49_thumb.png" alt="49" style="border-width: 0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td width="1033" valign="top"&gt;&lt;br /&gt;
            Navigate to Monitoring again and select Discovered Inventory in the tree-view. &lt;br /&gt;
            &lt;br /&gt;
            Change the Target to our class again and check if it's been discovered.&lt;br /&gt;
            &lt;br /&gt;
            If it doesn't, check the &lt;em&gt;Event Log&lt;/em&gt; for &lt;em&gt;Operations Manager&lt;/em&gt;, the &lt;em&gt;Debug Information&lt;/em&gt; and &lt;em&gt;Error Information&lt;/em&gt; from the &lt;em&gt;Script&lt;/em&gt; should be there.&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/k1DeZ5cbNVg" height="1" width="1"/&gt;</description>
			<pubDate>Sun, 08 Nov 2009 20:44:33 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/50020/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/50020/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Microsoft System Center and Virtualization Community Contribution Contest.]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/Tbuxb2S4IK4/Default.aspx</link>
			<description>&lt;p&gt;Do you want to make an impact? Get your name out there other than blogging on System Center Central this maybe a great way to make your mark!&lt;/p&gt; &lt;p&gt;Here is your chance to be an Influencer in the System Center and Virtualization Community and be rewarded! We want to give a blogger in our Sys-tem Center Influencer program the opportunity to win a $100 Gift Certificate!! Want in on the action? Find out how you can become a winner be-low.&lt;br&gt;First of all, what do I win? By becoming a part of our System Center Influencer community you get a chance to win a $100 USD Gift Certificate. But, we aren’t giving it away to just anybody…..&lt;/p&gt; &lt;p&gt;&lt;br&gt;Ok, How do I win? You have to be an Influencer member to be eligible for the contest. Signing up is easy! Simply join Connect (You will need to create a Live ID Account if you do not already have one) at connect.microsoft.com. Then email &lt;a href="mailto:scnetsup@Microsoft.com"&gt;scnetsup@Microsoft.com&lt;/a&gt; (also in the email mention that you learnt about this from the &lt;a href="/" target="_blank"&gt;System Center Central&lt;/a&gt; site) to gain access to the Influencers portal. There you will have access to great materials, only available to the insider community, as well as an opportunity to inter-act with other members of the influencer community to help grow in your knowledge of System Center. The gift certificate will be awarded to the community members who are most active in posting blogs and commenting on other blogs. That’s it!&lt;br&gt;&lt;/p&gt; &lt;p&gt;Sounds Good! What do I do first? Review the complete contest rules then signup on connect and email scnetsup@microsoft.com. Once you gain access to the Influencer portal we will register you in the contest and you are on your way to becoming a winner with System Center and Virtualization.&lt;/p&gt; &lt;p&gt;&lt;br&gt;NO PURCHASE NECESSARY&lt;/p&gt; &lt;p&gt; Contest ends at 12:00 pm PT on April 30th, 2010.&lt;br&gt; For full contest rules please visit the web page: blogs.technet.com/systemcenter&lt;/p&gt; &lt;p&gt;Learn more about the Influencers Program at:&lt;br&gt;&lt;a href="http://technet.microsoft.com/en-us/ee532416.aspx" target="_blank"&gt;http://technet.microsoft.com/en-us/ee532416.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/Tbuxb2S4IK4" height="1" width="1"/&gt;</description>
			<pubDate>Sat, 07 Nov 2009 15:37:26 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49923/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49923/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Part 4: Creating DCM packs with SCCM 2007]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/8ULxIxJHLns/Default.aspx</link>
			<description>&lt;p&gt;There maybe a reason why you need some code from an existing Configuration Item but each item has a lock on it to stop you from editing the configuration.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb.png" width="516" height="155"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Here is a more close up view of the ‘Golden Padlock’&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_1.png" width="62" height="65"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And as you can see everything is greyed out! Why is it like Operations Manager where you can seal a Management Pack? NO, it is not if you write a DCM within in a SCCM environment it will remain open no padlock all is changeable) as soon as you import it into another SCCM server it will lock automatically. There is is code generated with the XML that controls this. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_7.png" width="327" height="425"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So how can we get around this? Hey that’s the easy part right click on the locked Configuration Item and click ‘Duplicate’&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_2.png" width="407" height="217"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Save with a name to suite you, or leave with the ‘[1]’ the wizard adds&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_3.png" width="357" height="100"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now you now have an unlocked Configuration Item&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_4.png" width="396" height="69"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;See the padlock has been removed&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_5.png" width="61" height="58"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And all properties are now changeable &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49920/WLW-Part4CreatingDCMpackswithSCCM2007_99D0-image_thumb_6.png" width="307" height="400"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I hope this 4 part series will help you in getting started with DCM pack creation. Also if I can help you achieve this then message me on simon at skinner.fr. &lt;/p&gt; &lt;p&gt;Here is the other 3 parts to this series listed;&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/46753/Default.aspx" href="/BlogDetails/tabid/143/IndexId/46753/Default.aspx"&gt;http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/46753/Default.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48787/Default.aspx" href="/BlogDetails/tabid/143/IndexId/48787/Default.aspx"&gt;http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48787/Default.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49396/Default.aspx" href="/BlogDetails/tabid/143/IndexId/49396/Default.aspx"&gt;http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49396/Default.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/8ULxIxJHLns" height="1" width="1"/&gt;</description>
			<pubDate>Sat, 07 Nov 2009 14:55:25 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49920/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49920/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: OpsMgr: Command Shell tips and tricks when using a criteria with a monitoring class]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/zr3A8BOnAH8/Default.aspx</link>
			<description>&lt;p&gt;Here's an update to a guest post in a Powershell series from &lt;a href="http://marcoshaw.blogspot.com/" target="_blank"&gt;Marco Shaw&lt;/a&gt;, Powershell MVP and Co-director of the&lt;a href="http://www.powershellcommunity.org/" target="_blank"&gt; Powershell Community.&lt;/a&gt; Marco is also very active in supporting users with questions on the OpsMgr Command Shell, and in fact recently had a &lt;a href="http://technet.microsoft.com/en-us/magazine/cc671178.aspx" target="_blank"&gt;TechNet article&lt;/a&gt; published on the topic. In this post, Marco tackles some of the finer points of working with the OpsMgr 2007 Command Shell. &lt;/p&gt; &lt;p&gt;&lt;em&gt;I’ll let Marco take it from here…&lt;/em&gt;&lt;/p&gt; &lt;p&gt;A few months ago, there was an online discussion on how to use the –criteria parameter with the Get-MonitoringObject cmdlet.&lt;br&gt;&lt;em&gt;Running this in the Command Shell:&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: blue"&gt;$mc = Get-MonitoringClass -name “Microsoft.Windows.Server.Computer”&lt;br&gt;Get-MonitoringObject -MonitoringClass $mc&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span style="color: black"&gt;Resulted in a list of “NoteProperty” properties such as this one:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: blue"&gt;Get-MonitoringObject -MonitoringClass $mc | Get-Member -Type NoteProperty *.DNSName&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: red"&gt;TypeName: Microsoft.EnterpriseManagement.Monitoring.MonitoringObject&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: red"&gt;Name MemberType Definition&lt;br&gt;—- ———- ———-&lt;br&gt;[Microsoft.Windows.Computer].DNSName NoteProperty System.String [Microsoft.Win..&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;b&gt;So the issue was how to properly do something like this:&lt;/b&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: blue"&gt;Get-MonitoringObject -MonitoringClass $mc &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: blue"&gt;-Criteria ‘[Microsoft.Windows.Computer].DNSName=’something’’’&lt;/span&gt;&lt;/p&gt; &lt;p&gt;No matter what combinations of quotes or escape characters I used, nothing worked. Then it struck me that this was a “NoteProperty” and that these types of properties aren’t actual members of the original object, but special properties added by the PowerShell Extended Type System (ETS). My first guess that these properties were being added by some custom .ps1xml files, but that wasn’t the case. These properties must be embedded in the C# code of the cmdlets likely.&lt;/p&gt; &lt;p&gt;So a bit of searching through MSDN, and I came up with a method named &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.enterprisemanagement.monitoring.monitoringobjectcriteria.getvalidpropertynames.aspx" target="_blank"&gt;GetValidPropertyNames&lt;/a&gt;. This method allows me to check what are the valid property names that I can use in my criteria expression.&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;b&gt;So with a bit of OpsMgr SDK magic from the Command Shell:&lt;/b&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span style="color: black"&gt;# Get a connection to the local management server.&lt;/span&gt;&lt;/em&gt;&lt;span style="color: blue"&gt;&lt;br&gt;$mg = New-Object Microsoft.EnterpriseManagement.ManagementGroup(”localhost”)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span style="color: black"&gt;# Get the class we’re looking for.&lt;/span&gt;&lt;/em&gt;&lt;span style="color: blue"&gt;&lt;br&gt;$computerMonitoringClass = $mg.GetMonitoringClass([Microsoft.EnterpriseManagement.Configuration.SystemMonitoringClass]::WindowsComputer)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span style="color: black"&gt;# Create a criteria object. We leave the first part of the constructor as $null.&lt;/span&gt;&lt;/em&gt;&lt;span style="color: blue"&gt;&lt;br&gt;$criteria = New-Object&lt;br&gt;Microsoft.EnterpriseManagement.Monitoring.MonitoringObjectCriteria($null,$computerMonitoringClass)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;span style="color: black"&gt;# Use the method we discovered.&lt;/span&gt;&lt;/em&gt;&lt;span style="color: blue"&gt;&lt;br&gt;$critera.GetValidPropertyNames()&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;b&gt;The result from the last command:&lt;/b&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: red"&gt;$criteria.GetValidPropertyNames()&lt;br&gt;PrincipalName&lt;br&gt;DNSName&lt;br&gt;NetbiosComputerName&lt;br&gt;NetbiosDomainName&lt;/span&gt;&lt;br&gt;…&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;i&gt;So, what we should really be using for our criteria value is:&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: blue"&gt;Get-MonitoringObject -MonitoringClass $mc -Criteria ‘DNSName=’something’’’&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Which works great!&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/zr3A8BOnAH8" height="1" width="1"/&gt;</description>
			<pubDate>Fri, 06 Nov 2009 23:53:10 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49785/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49785/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: OpsMgr: Finding Grey Agents with Powershell]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/TnMXyYnlyDU/Default.aspx</link>
			<description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49552/WLW-OpsMgrFindingGreyAgentswithPowershell_13EAE-image_4.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 5px 0px; border-right-width: 0px" height="99" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49552/WLW-OpsMgrFindingGreyAgentswithPowershell_13EAE-image_thumb_1.png" width="104" align="left" border="0"&gt;&lt;/a&gt; &lt;em&gt;&lt;font size="3"&gt;Here's a winner from OpsMgr guru and blogger&lt;strong&gt; &lt;a href="http://systemcentercentral.com/blogs/tenchuu" target="_blank"&gt;&lt;font color="#0000ff"&gt;Andreas "Tenchuu" Zuckerhut&lt;/font&gt;&lt;/a&gt;.&lt;/strong&gt;&lt;/font&gt; &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Q:&lt;/strong&gt; Can I retrieve a list of uncommunicative (grey) agents with Powershell?&lt;/font&gt;&lt;/p&gt; &lt;p&gt;If you search the Internet for this topic, you'll find T-SQL queries everywhere you look, but no Powershell alternative. T-SQL is an options, but generally never as a first choice. Powershell is faster and safer given there's no chance you will inadvertently take something offline or delete in SQL Mgmt Studio.&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;A:&lt;/strong&gt; &lt;em&gt;The answer appears very simple – 3 lines of Powershell.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;font size="3"&gt;$WCC = get-monitoringclass -name &lt;span class="str"&gt;"Microsoft.SystemCenter.Agent"&lt;/span&gt;
$MO = Get-MonitoringObject -monitoringclass:$WCC | where {$_.IsAvailable &lt;span class="preproc"&gt;-eq&lt;/span&gt; $false}
$MO | select DisplayName&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;The SQL (listed here) works, but with a Powershell solution in hand, should be avoided.&lt;/em&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt;     ManagedEntityGenericView.DisplayName, ManagedEntityGenericView.AvailabilityLastModified
&lt;span class="kwrd"&gt;FROM&lt;/span&gt;         ManagedEntityGenericView
&lt;span class="kwrd"&gt;INNER&lt;/span&gt; &lt;span class="kwrd"&gt;JOIN&lt;/span&gt;  ManagedTypeView &lt;span class="kwrd"&gt;ON&lt;/span&gt; ManagedEntityGenericView.MonitoringClassId = ManagedTypeView.Id
&lt;span class="kwrd"&gt;WHERE&lt;/span&gt;     (ManagedTypeView.Name = &lt;span class="str"&gt;'microsoft.systemCenter.agent'&lt;/span&gt;) &lt;span class="kwrd"&gt;AND&lt;/span&gt; (ManagedEntityGenericView.IsAvailable = 0)
&lt;span class="kwrd"&gt;ORDER&lt;/span&gt; &lt;span class="kwrd"&gt;BY&lt;/span&gt; ManagedEntityGenericView.DisplayName&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Several of us have tested this side-by-side with the T-SQL and seen identical results. We'd be interested to hear your experience when comparing the results of the Powershell versus the T-SQL query.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Well Done Andreas!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="200"&gt;&lt;a href="http://www.twitter.com/sysctrcentral" target="_blank"&gt;&lt;img title="TWITTER" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="66" alt="TWITTER" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49552/WLW-OpsMgrFindingGreyAgentswithPowershell_13EAE-TWITTER_3.png" width="205" border="0"&gt;&lt;/a&gt; &lt;/td&gt;
&lt;td valign="top" width="200"&gt;&lt;a href="http://feeds2.feedburner.com/systemcentercentral/blogs" target="_blank"&gt;&lt;img title="RSS" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="65" alt="RSS" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49552/WLW-OpsMgrFindingGreyAgentswithPowershell_13EAE-RSS_3.png" width="205" border="0"&gt;&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/TnMXyYnlyDU" height="1" width="1"/&gt;</description>
			<pubDate>Fri, 06 Nov 2009 10:00:28 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49552/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49552/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Part 3: Creating DCM packs with SCCM 2007]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/Lg5BV8rUKAs/Default.aspx</link>
			<description>&lt;blockquote&gt;
&lt;p&gt;In part 2 we created a new DCM Pack. Here in part 3 I would wanted to cover a particular aspect in the saving process, version can be a problem when saving your DCM so here are the steps to get around this problem, go to your DCM in the SCCM Console&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_2.png"&gt;&lt;img title="image" border="0" alt="image" width="477" height="138" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Right click to export the DCM, which is just a cab file&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_4.png"&gt;&lt;img title="image" border="0" alt="image" width="237" height="244" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;save to your desktop&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_6.png"&gt;&lt;img title="image" border="0" alt="image" width="546" height="342" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_2.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;When saved it will look like this&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_10.png"&gt;&lt;img title="image" border="0" alt="image" width="170" height="141" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_4.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Right click on the Cab file&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_12.png"&gt;&lt;img title="image" border="0" alt="image" width="243" height="309" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_5.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Open then extract the XML. Note the 6 files!!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_14.png"&gt;&lt;img title="image" border="0" alt="image" width="668" height="124" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_6.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When extracted we can start to modify, also delete the RESX files we do not need these.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_16.png"&gt;&lt;img title="image" border="0" alt="image" width="683" height="162" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_7.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can use Notepad but if you have a lot of files I use Visual Studio&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_18.png"&gt;&lt;img title="image" border="0" alt="image" width="474" height="243" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_8.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here are is the raw XML code, we are only interested in the Build Version&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_20.png"&gt;&lt;img title="image" border="0" alt="image" width="959" height="271" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_9.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As we entered no info the Build Info shows just Zero’s&lt;/p&gt;
&lt;p&gt;&lt;OperatingSystemDiscoveryInfo BuildVersion="0" MajorVersion="0" MinorVersion="0" ServicePackMajorVersion="0" ServicePackMinorVersion="0" /&gt;&lt;/p&gt;
&lt;p&gt;Modify to the the Version you want and remove ServicePackMajorVersion and ServicePackMinorVersion entries so it looks like line below&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;OperatingSystemDiscoveryInfo BuildVersion="7600" MajorVersion="6" MinorVersion="0"  /&gt;&lt;/p&gt;
&lt;p&gt;You could just use the Find and Replace in Visual Studio to do this&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_22.png"&gt;&lt;img title="image" border="0" alt="image" width="960" height="287" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_10.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These next steps are optional if you wish to make it posh like for a client, as the files where saved with number you could find the ‘Display Name’ and save as this name as I have below. This makes the XML a little neater.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_26.png"&gt;&lt;img title="image" border="0" alt="image" width="834" height="160" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_12.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When the above steps are completed we need to re package the XML back into a Cab file, I use ‘Cab File Maker’ it’s simple and easy to use. Just drag and drop the 3 XML files into the Cab File Maker name the files and click start&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_24.png"&gt;&lt;img title="image" border="0" alt="image" width="380" height="335" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_11.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then when you have a re packaged Cab file import back into the SCCM Console&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_30.png"&gt;&lt;img title="image" border="0" alt="image" width="481" height="400" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49396/WLW-Part3CreatingDCMpackswithSCCM2007_EF15-image_thumb_14.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Then away you go with your DCM. I have to be careful of an NDA I have but I will say this, really BIG companies do it like this!&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/Lg5BV8rUKAs" height="1" width="1"/&gt;</description>
			<pubDate>Thu, 05 Nov 2009 20:59:50 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49396/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49396/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: OpsMgr: How to enable OpsMgr Module Logging to Troubleshoot Cross-Platform Discovery Failure]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/HsYTSUc4Uvs/Default.aspx</link>
			<description>&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49189/WLW-OpsMgrHowtoenableOpsMgrModuleLoggingtoTr_1305B-icon14sx6_2.gif"&gt;&lt;img title="icon14sx6" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 5px 5px 0px; border-left: 0px; border-bottom: 0px" height="48" alt="icon14sx6" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49189/WLW-OpsMgrHowtoenableOpsMgrModuleLoggingtoTr_1305B-icon14sx6_thumb.gif" width="48" align="left" border="0"&gt;&lt;/a&gt; These logs are used mainly to investigate discovery issues. The logs show details about agent push, installation, and certificate signing. Calls made outside of Windows Remote Management (WinRM) are made using SSH/SFTP. These components rely on a separate logging mechanism than Operations Manager.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;&lt;/font&gt;&lt;/strong&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;To enable UNIX native module Logs&lt;/font&gt;&lt;/strong&gt;  &lt;p&gt;Create a blank file named &lt;strong&gt;EnableOpsmgrModuleLogging&lt;/strong&gt; in the \Temp directory for the user account calling these modules by typing at a command-line prompt  &lt;p&gt;&lt;strong&gt;COPY /Y NUL %windir%\TEMP\EnableOpsMgrModuleLogging&lt;/strong&gt;  &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Generally, it is the SYSTEM account making calls during this process. The C:\Windows\Temp directory is the default SYSTEM temp folder, thus the reason for using this location.  &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;DEMO: How to Enable Module Logging&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;OpsMgr MVP &lt;a href="http://scdpmonline.com" target="_blank"&gt;David Allen&lt;/a&gt; has created a short webcast on how to enable module logging, step-by-step.&lt;/p&gt; &lt;p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TxqoaOgDRA0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/TxqoaOgDRA0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/HsYTSUc4Uvs" height="1" width="1"/&gt;</description>
			<pubDate>Thu, 05 Nov 2009 08:38:45 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49189/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49189/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: System Center Central Sponsor: Bridgeways]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/4-Zn6OA6ww0/Default.aspx</link>
			<description>&lt;p&gt;&lt;img title="BridgeWays - A Division of Xandros" alt="BridgeWays - A Division of Xandros" src="http://www.bridgeways.ca/images/wrapper/logo.gif" width="227" height="55"&gt; &lt;p&gt;Microsoft have created an incredibly powerful monitoring application, Bridgeways is making the reach into ‘Foreign’ territories of this monitoring tool. I remember whilst reading the brief of R2 ‘Cross Platform’ monitoring I was so excited by this and truth be told I didn’t give any thought to the applications that would run on these Cross Platform servers. &lt;p&gt;Bridgeways has given thought to these applications, in fact a great deal of thought and it’s really exciting. Oracle, MySQL, Apache and others ..." are being brought together with Microsoft by a Bridge, way! Yea Bridgeways. &lt;p&gt;So now we can monitor our Microsoft applications as well as other non MSFT applications with the exact same precision, Bridgeways are monitoring a good range of day to day apps that we may have in our mixed environment allowing us to monitor with the one application. &lt;p&gt;BridgeWays Management Pack for VMware ESX &lt;p&gt;Virtualization technology has improved dramatically over the last few years. As more and more companies look to virtualize their environments, additional vendors come to market, spurring competition and accelerating feature growth. Today’s hypervisors open even more opportunities for server consolidation and create a new (some would argue a return to the old) operational paradigm in which resources are centralized and workloads are distributed to the hardware that can best accommodate the resource requirements. &lt;p&gt;Monitoring virtualized environments has become critical to optimizing hardware performance and achieving maximum ROI. This requires a consolidated view that allows for monitoring of both the hypervisor and the individual workloads in order to identify bottlenecks and correct any problems before they have a major impact on the performance of the virtual environment. &lt;p&gt;BridgeWays Management Packs for MySQL Database and Apache HTTP Server &lt;p&gt;The LAMP stack is a common framework for both internal and public web sites, including many of the largest sites on the internet. LAMP stands for Linux, Apache, MySQL and PHP (could also be Perl or Python). While the Linux is the predominant OS, the “AMP” parts can also be run on Solaris, Windows, Mac, or other operating systems.  &lt;p&gt;Administering and monitoring the LAMP stack cannot be done efficiently by separately monitoring the individual components. Using one tool to monitor the OS, another for the database, and a third tool for the web server fails to reveal how each component impacts the others. Without a contextual overview, administrators often lose a great deal of time chasing false leads, while failing to identify the root causes of issues that arise. &lt;p&gt;BridgeWays Management Packs for JBoss Application Server and Oracle Database &lt;p&gt;In most organizations, the availability of workflows associated with mission-critical applications is crucial to the success of their business. Unplanned outages are costly, and in extreme cases these applications can never be down at all, proactive monitoring is needed to ensure the availability and performance of the services that are being provided. It is not enough to know that the database is up, or the application server is running. Capturing detailed information through monitoring of the components and the service in general is how IT organizations are able to ensure that service level objectives applied to the service and the underlying workflows are met or exceeded at all times. &lt;p&gt;These critical services are often n-tier applications that include components such as JBoss Application Servers and Oracle Databases. When monitoring an n-tier application, it is not enough to monitor each workflow in a silo. Monitoring Oracle, JBoss, the network, the operating systems, and even the base hardware in isolation can lead to problems being missed until a minor symptom grows into a full scale epidemic. Getting the depth of information necessary to certify service levels requires a view of the entire service to ensure harmonious interaction, and to pinpoint where action must be taken to maintain system performance and avoid downtime. &lt;p&gt;For example, a minor increase in database query times may be within acceptable thresholds for a generic database, yet it may damage workflow equilibrium if JBoss starts queuing up requests and the queue eventually caps out, leading to timeouts and dropped requests. &lt;p&gt;BridgeWays are committed to constantly building new management packs based on customer and community demand, this is helping to expand the reach of System Center Operations Manager; giving more and more people the direct benefits that come from using Operations Manager for their entire environment. To see the complete list of currently available MPs, go to the &lt;a href="http://cl.exct.net/?qs=af48ce9697ae4104b8ec7cc5675e5614558f99b6765055a886bba611b9958762"&gt;Product Overview &lt;/a&gt; &lt;p&gt;Their Product Overview Page where you can also request trials in order to see if their MPs can help you. Or if you are going to TechEd Berlin why not schedule a &lt;a href="http://cl.exct.net/?qs=37248abd4f2149f8e20425ccd9a79ecb7a3f5220fd845ebec6125c4807b8d905" target="_blank"&gt;Personal Demo&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49111/WLW-SystemCenterCentralSponsorBridgeways_11D5E-image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49111/WLW-SystemCenterCentralSponsorBridgeways_11D5E-image_thumb.png" width="244" height="123"&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/4-Zn6OA6ww0" height="1" width="1"/&gt;</description>
			<pubDate>Thu, 05 Nov 2009 00:16:37 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49111/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49111/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: TechEd Berlin: Using Microsoft System Center to Manage Beyond the Trusted Domain]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/4ij59Pxx9T4/Default.aspx</link>
			<description>&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49009/WLW-TechEdBerlinUsingMicrosoftSystemCenterto_91C0-ssc_2.jpg"&gt;&lt;img title="ssc" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="104" alt="ssc" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49009/WLW-TechEdBerlinUsingMicrosoftSystemCenterto_91C0-ssc_thumb.jpg" width="104" align="left" border="0"&gt;&lt;/a&gt; &lt;strong&gt;Rory McCaw and myself will be in Berlin at TechEd next week and hope to see you there!&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;We will be co-presenting in a level 300 breakout session on Monday, November 9th titled "&lt;strong&gt;Using System Center to Manage Beyond the Trusted Domain&lt;/strong&gt;". We'll be discussing how to leverage PKI in Windows 2008 R2 to extend the reach of System Center to systems outside the Active Directory trust boundary. I've included a preview agenda below. We hope to see you there!  &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;Preview Agenda&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Windows 2008 PKI Drill Down&lt;/li&gt; &lt;li&gt;Using PKI to Extend the Reach of System Center&lt;/li&gt; &lt;li&gt;Changes in Provisioning Certificates in Windows 2008&lt;/li&gt; &lt;li&gt;Bulk Certificate Provisioning for System Center&lt;/li&gt; &lt;li&gt;Managing Internet-Based Clients with ConfigMgr 2007&lt;/li&gt; &lt;li&gt;Troubleshooting Certificate Issues &lt;/li&gt; &lt;li&gt;Monitoring CA and Certificate Validity &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="200"&gt;&lt;a href="http://twitter.com/sysctrcentral" target="_blank"&gt;&lt;img title="TWITTER" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="66" alt="TWITTER" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49009/WLW-TechEdBerlinUsingMicrosoftSystemCenterto_91C0-TWITTER_3.png" width="205" border="0"&gt;&lt;/a&gt; &lt;/td&gt; &lt;td valign="top" width="200"&gt;&lt;a href="http://feeds.feedburner.com/systemcentercentral/blogs" target="_blank"&gt;&lt;img title="RSS" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="65" alt="RSS" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49009/WLW-TechEdBerlinUsingMicrosoftSystemCenterto_91C0-RSS_3.png" width="205" border="0"&gt;&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/4ij59Pxx9T4" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 21:22:03 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49009/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49009/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Jalasoft Xian Wings 2010 Pending Announcement]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/Aa_eD3KJ9DE/Default.aspx</link>
			<description>&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49008/WLW-JalasoftXianWings2010PendingAnnouncement_909D-SCOM_Logo_2.png"&gt;&lt;img title="SCOM_Logo" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 5px 5px 0px; border-left: 0px; border-bottom: 0px" height="63" alt="SCOM_Logo" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index49008/WLW-JalasoftXianWings2010PendingAnnouncement_909D-SCOM_Logo_thumb.png" width="204" align="left" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Jalasoft sent us a note a couple days ago on a new product announcement coming Friday. Wonder if this is a competitive offering to Derdack?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;“Jalasoft informed today to a close network of contacts that they are going to announce the release of Xian Wings 2010. Wings 2010 will be part of the Xian suite and will make it possible for network and server administrators to gain better control of their environments thanks to a special client application that works on their mobile device”&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/Aa_eD3KJ9DE" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 21:17:10 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49008/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/49008/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Part 2: Creating DCM packs with SCCM 2007]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/POH7C122qyU/Default.aspx</link>
			<description>&lt;p&gt;After Part 1 really just an intro in DCM we look at creating a new DCM Pack with Scripts, this is a long document and there are a few steps. So navigate to Desired Configuration Management (DCM) with in the SCCM Console.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_2.png" width="260" height="242"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Right click on Configuration Items, click new and in this case I have selected Operating System Configuration Item, if you want to chose another you can.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_6.png" width="519" height="186"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;With the wizard open enter a name and description.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_18.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_8.png" width="562" height="459"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I want you to pay attention to this screen, this is a place where things can go wrong. I will go into detail in Part 3 which will follow soon why we leave this as is seen. I will detail how we edit this in XML so we can remove some of the fields making it a better to detect different versions.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_20.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_9.png" width="564" height="462"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The Objects section is not required for script but we will address it function in Part 4&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_22.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_10.png" width="568" height="465"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;In the setting section is where we are going to make it all happen with our script so click on “New”&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_28.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_13.png" width="568" height="466"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;When you click on New select “Script”&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_26.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_12.png" width="222" height="244"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This will open this window, note it asks which script language. Our script today is VBScript so I have it selected on VBScript &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_30.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_14.png" width="370" height="477"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Enter a name, description and your script, just cut a paste. Make sure your script has been tested as a VBScript before using it.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_32.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_15.png" width="375" height="483"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Here is another very important part, do we know what we are looking for as a response, well Read Only SNMP Community String have a DWORD setting of 4 in the registry. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_34.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_16.png" width="381" height="490"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So we are looking for the value of 4, if we where to change this to ‘Does not Match’ 4 then we could set the severity to Warning  &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_88.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_43.png" width="389" height="424"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Click OK, the Validation will look like this.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_90.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_44.png" width="391" height="503"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Click OK,&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_42.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_20.png" width="544" height="445"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And again&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_44.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_21.png" width="482" height="394"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And again&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_46.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_22.png" width="489" height="400"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Last time&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_48.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_23.png" width="494" height="404"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And now are on the on the way to create the DCM but still have some more steps&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_50.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_24.png" width="439" height="202"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Rick click on the newly create Item and select ‘Create child configuration Item’&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_52.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_25.png" width="384" height="289"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This trys to add the date and time remove those &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_54.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_26.png" width="364" height="106"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So it looks like this&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_56.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_27.png" width="366" height="107"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now you have 2 Items, the child needs no extra work and will always be a replica of the Parent and is used for the deployment of the XML&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_58.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_28.png" width="435" height="126"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now lets go to the Configuration Baseline and right click ‘New Configuration Baseline’&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_60.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_29.png" width="350" height="255"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;In the wizard give it a name (this is going to be the name of the DCM Pack)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_64.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_31.png" width="604" height="502"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Click next&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_66.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_32.png" width="603" height="500"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And again&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_68.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_33.png" width="604" height="502"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Click next&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_70.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_34.png" width="601" height="499"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So you get a Configuration Baseline &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_72.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_35.png" width="538" height="93"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Then right click on it select ‘Add’ the ‘Operation System Configuration Item’&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_74.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_36.png" width="556" height="275"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;You will get loads of item show up here is you have already imported DCM so you can use the ‘Look for’ as I have to narrow down the search, click on the two items (child as well)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_82.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_40.png" width="437" height="444"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So than when you look in the Rules it shows you the added rules&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_84.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48787/WLW-Part2CreatingDCMpackswithSCCM2007_A6C3-image_thumb_41.png" width="390" height="513"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Click OK. Less the OS version we are ready to go.&lt;/p&gt; &lt;p&gt;I will follow up with the Part two this week which is also a heavy going document.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/POH7C122qyU" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 17:09:20 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48787/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48787/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Powershell: OpsMgr Alert-to-Speech (cool idea from Gary Broadwater at Quest)]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/-CpW_EzlP10/Default.aspx</link>
			<description>&lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="left" alt="" src="/DesktopModules/VenexusProfileSearch/ImageHandler.ashx?width=190&amp;height=190&amp;portalId=0&amp;mediaId=311&amp;q=1" /&gt;&lt;/p&gt;
&lt;p&gt;A customer request had me looking around the support community of one of our community sponsors - Quest. (The site is &lt;a target="_blank" href="http://management-extensions.org"&gt;management-extensions.org&lt;/a&gt;). While I was there, I ran across something that raises some interesting possibilities for &lt;strong&gt;audible alarms using the OpsMgr Command Notification Channel. &lt;/strong&gt;This would be especially with remoting in Powershell 2.0 so we could execute the audible alarm on a system that is NOT the RMS.&lt;/p&gt;
&lt;p&gt;Gary Broadwater (eXc-turned-Quest architect) posted the most simple Powershell snippet &lt;a target="_blank" href="http://www.management-extensions.org/entry.jspa?externalID=1861&amp;categoryID=274"&gt;HERE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If you save this as a text_to_speech.ps1 file and pass a text string to it, your computer will recite the words. Text-to-speech in 3 lines. They don't call it Powershell for nothing.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;################################&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;# Company: Quest Software&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;# Author: Gary Broadwater&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;################################&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;$q = new-object -com SAPI.SpVoice&lt;br /&gt;$q.speak($args)&lt;br /&gt;$q = $null&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="csharpcode"&gt;
 &lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;Sample Run&lt;/font&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I ran exactly this on my computer, and I could make the words out very clearly!&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;font color="#0000ff"&gt;.\text_to_speech.ps1 Quest extends system center to the non-windows world!&lt;/font&gt;&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;
 &lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;strong&gt;&lt;font size="5"&gt;Calling the script remotely from the RMS &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Then, from your OpsMgr RMS, you could use the notification command channel to call the remote script. I have Powershell 2.0 running on an OpsMgr lab server, so I would expect this should be okay, but you'd want to test carefully I think. I don't think I'd do this without Powershell 2.0, because you need it for remoting to avoid running this on the RMS. Here's PoSh 2.0 syntax to do it.&lt;/p&gt;
&lt;pre&gt;&lt;font color="#0000ff"&gt;invoke-command -computername RemoteAlertComputer -filepath c:\Scripts\text_to_speech.ps1&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; You could work out how to pass the OpsMgr alert description with the standard XPath as a script argument, but I think this would work best with a short message hard-coded in the script.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;And a Personal Comment on Quest&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; I have talked with the technical folks at Quest about what they're doing with PRO and virtualization, application virtualization, extending Configuration Manager to support non-Windows systems, and they are working on some pretty cool answers for difficult technology and business problems. I have to say I am genuinely excited to see what develops. And I want to add this personal note about the tech support I've received from these guys. In short, the best of any ISV I have worked with. Gary, Tony and gang have delivered for me whenever I needed an assist.&lt;/p&gt;
&lt;p&gt;Take a look at the ways Quest extends System Center at &lt;a href="http://www.quest.com/system-center/"&gt;&lt;font color="#0000ff"&gt;http://www.quest.com/system-center/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit the Quest &lt;a href="http://blogs.inside.quest.com/management-extensions/"&gt;&lt;font color="#0000ff"&gt;Heterogeniuses Blog&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48690/WLW-PowershellOpsMgrAlerttoSpeechcoolideafro_140B3-image_4.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="72" alt="image" width="480" border="0" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48690/WLW-PowershellOpsMgrAlerttoSpeechcoolideafro_140B3-image_thumb_1.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/-CpW_EzlP10" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 09:48:32 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48690/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48690/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Error code 80070102 deploying SCOM agent]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/req1d5GGOxM/Default.aspx</link>
			<description>&lt;p&gt;Ran into an issue today trying to both push deploy an agent and manually install an agent on a Windows Server 2008 server. The resultant error code was 80070102 when the push installation failed.  &lt;p&gt;Looking at the agentinstall.log for the server in c:\Program Files\System Center Operations Manager 2007\AgentManagement\AgentLogs, this had to do with the Windows Firewall on a Windows Server 2008 server.  &lt;p&gt;The solution was to disable the Windows Firewall General, Public, and Private settings and stop the Windows Firewall service and then attempt a push deployment again. This time it worked flawlessly.&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c19d636d-13f0-4fda-875b-481c032a5a14" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SCOM" rel="tag"&gt;SCOM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Error+Code+80070102" rel="tag"&gt;Error Code 80070102&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SCOM+Agent+deployment+failure" rel="tag"&gt;SCOM Agent deployment failure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Infront+Consulting+Group" rel="tag"&gt;Infront Consulting Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Rory+McCaw" rel="tag"&gt;Rory McCaw&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OpsMgr+2007" rel="tag"&gt;OpsMgr 2007&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Training" rel="tag"&gt;Training&lt;/a&gt;&lt;/div&gt; &lt;p&gt;For great technical information on System Center, check our Infront Consulting Group’s training classes at &lt;a href="http://www.infrontconsulting.com/training.php"&gt;www.infrontconsulting.com/training.php&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/req1d5GGOxM" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 07:48:59 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48678/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48678/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: The Springboard Series Community Partei @ Microsoft TechEd Berlin]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/oWB350Ws3rI/Default.aspx</link>
			<description>&lt;p&gt;&lt;em&gt;&lt;a href="file:///D:/wwwroot/SCC/Portals/0/VenexusIndexItem/Index0/WLW-TheSpringboardSeriesCommunityParteiMicro_D829-msnxn1_2.jpg"&gt;&lt;strong&gt;&lt;img title="msnxn1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 5px 5px 0px; border-right-width: 0px" height="79" alt="msnxn1" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48651/WLW-TheSpringboardSeriesCommunityParteiMicro_D829-msnxn1_thumb.jpg" width="79" align="left" border="0"&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; Cool party announced for TechEd Europe on the &lt;/strong&gt;&lt;/em&gt;&lt;a href="http://blogs.technet.com/technetplussubscriptions/archive/2009/10/29/the-springboard-series-community-partei-microsoft-teched-berlin.aspx" target="_blank"&gt;&lt;em&gt;&lt;strong&gt;TechNet Plus Blog&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;.&lt;/em&gt; &lt;/strong&gt; &lt;p&gt;If you plan to attend Microsoft TechEd in Berlin, join us for a special celebration!  &lt;p&gt;  &lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;Party Details and Registration URL&lt;/strong&gt;&lt;/font&gt;  &lt;p&gt;On Tuesday, 10 November, at 21:00, get ready to rub shoulders with some of the world’s most powerful IT Professionals and community influencers.&lt;br&gt;Exclusively for Springboard Series Technical Expert Panelists (STEP), Microsoft MVPs, TechNet Plus Subscribers, and Microsoft Certified Trainers (MCTs), the Springboard Series Community Partei held the week of TechEd Europe in Berlin, Germany, is your opportunity to network with industry peers and key Microsoft executives, learn about other communities and special offerings, and enjoy an evening full of music (DJ’d by our very own Joey Snow and David Lowe), food, drinks, and fun—all compliments of Microsoft.&lt;br&gt;Party attendance is limited, so be sure to register today to reserve your spot at TechEd Europe’s only community party!  &lt;p&gt;Brought to you by Springboard Series, TechNet+ Subscriptions and Microsoft Server  &lt;p&gt;&lt;b&gt;Registration Site:  &lt;/b&gt;&lt;a href="https://microsoft.crgevents.com/CommunityPartei/"&gt;https://microsoft.crgevents.com/CommunityPartei/&lt;/a&gt;  &lt;p&gt;&lt;b&gt;Registration Code:&lt;/b&gt;  TE-TN&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/oWB350Ws3rI" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 03:53:39 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48651/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48651/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: Extending System Center Configuration Manager 2007 (SCCM) to Unix, Linux and Mac systems - Overview]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/w6kjtEteFjQ/Default.aspx</link>
			<description>&lt;p&gt;Presenter: Richard Haddock, Senior Product Manager | Quest Software &lt;/p&gt; &lt;p&gt;IT Administrator's are challenged with complex heterogeneous systems to manage. For many, System Center Configuration Manager (SCCM) 2007 is their tool of choice to manage their Windows environment. This blog series will discuss a solution called Quest Management Xtensions (QMX) for Configuration Manager 2007 that natively extends SCCM to Unix, Linux and Mac systems. This first video is an overview of what this solution can do for IT administrators. Future blog entries will drill down into other topics including architecture, platform support and feature demos. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.management-extensions.org/shares/management-extensions/sbin/Video/QMX-cm overview-intro.swf" target="_blank"&gt;View the Video&lt;/a&gt; &lt;em&gt;&lt;/em&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;This Flash video is best viewed with IE7+  &lt;li&gt;Best viewed in maximized screen  &lt;li&gt;Expect to see an ActiveX Control prompt for this SWF file  &lt;li&gt;The file will take a moment to buffer &lt;/li&gt;&lt;/ul&gt; &lt;p style="text-align: center"&gt;  &lt;p style="text-align: center"&gt;SCCM end users - check out SystemCenterCentral.com  &lt;p style="text-align: center"&gt;Quest Software is a proud, &lt;span style="color: #ffcc00"&gt;&lt;strong&gt;gold sponsor&lt;/strong&gt;&lt;/span&gt;  &lt;p style="text-align: center"&gt;&lt;span style="color: navy"&gt;&lt;strong&gt;&lt;a href="http://blogs.inside.quest.com/management-extensions/"&gt;&lt;font size="4"&gt;Heterogeniuses Blog&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/w6kjtEteFjQ" height="1" width="1"/&gt;</description>
			<pubDate>Wed, 04 Nov 2009 02:57:41 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48618/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48618/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: How to create a Two-State PowerShell Script Monitor using the Authoring Console (Part 3)]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/S6yQYOLTmU0/Default.aspx</link>
			<description>&lt;p&gt;This is a step-by-step guide in multiple parts:&lt;/p&gt;
&lt;p&gt;Part 1 will cover the Probe Actions Module Types: &lt;strong&gt;Part 1 is available &lt;/strong&gt;&lt;a href="/BlogDetails/tabid/143/IndexID/44971/Default.aspx"&gt;&lt;strong&gt;on SCC&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a href="http://www.code4ward.net/main/Blog/tabid/70/EntryId/51/How-to-create-a-Two-State-PowerShell-Script-Monitor-using-the-Authoring-Console-Part-1.aspx"&gt;&lt;strong&gt;on code4ward&lt;/strong&gt;&lt;/a&gt;  &lt;br /&gt;
Part 2 will be about creating a Data Source: &lt;strong&gt;Part 2 is available &lt;/strong&gt;&lt;a target="_blank" href="/BlogDetails/tabid/143/IndexID/46908/Default.aspx"&gt;&lt;strong&gt;on SCC&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; or &lt;/strong&gt;&lt;a target="_blank" href="http://www.code4ward.net/main/Blog/tabid/70/EntryId/52/How-to-create-a-Two-State-PowerShell-Script-Monitor-using-the-Authoring-Console-Part-2.aspx"&gt;&lt;strong&gt;on code4ward&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;
Part 3 will cover creating a Monitor Type &lt;br /&gt;
Part 4 will cover the Unit Monitor itself&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;As always be careful with the samples provided here. Always use a test environment first to try those examples!&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Will only work with OpsMgr 2007 R2 !&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Part 3: Monitor Type&lt;/h2&gt;
&lt;h3&gt;What’s a Monitor Type?&lt;/h3&gt;
&lt;p&gt;A monitor type actually defines the workflows for a monitor. So, before you can create a monitor you need to hook up different modules and specify how these play together and what the monitor should do. The first two parts showed how to create these modules and data sources and now all those modules are coming together…&lt;/p&gt;
&lt;h3&gt;Creating the Monitor Type&lt;/h3&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_2.png"&gt;&lt;img title="image" border="0" alt="image" width="242" height="127" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;
            &lt;p&gt;Let’s navigate to the&lt;em&gt; Monitor Types&lt;/em&gt; section in the &lt;em&gt;Type Library&lt;/em&gt; space.&lt;/p&gt;
            &lt;p&gt;Right-click on the &lt;em&gt;Module Types&lt;/em&gt; panel and select &lt;em&gt;New –&gt; Composite Monitor Type&lt;/em&gt;.&lt;/p&gt;
            &lt;p&gt;Type in an ID like: &lt;em&gt;code4ward.Sample.PowerShellMonitor.MonitorType.CheckFileContent&lt;/em&gt;&lt;/p&gt;
            &lt;p&gt;Also provide a Name like: &lt;em&gt;Check File Content Monitor Type&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_4.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="238" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_1.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Click on the &lt;em&gt;States&lt;/em&gt; tab and provide some meaningful IDs for the two states our monitor can have. In our case: &lt;em&gt;ID of state 1&lt;/em&gt; will be &lt;em&gt;Healthy&lt;/em&gt; and &lt;em&gt;ID of state 2&lt;/em&gt; will be &lt;em&gt;Unhealthy&lt;/em&gt; &lt;br /&gt;
            &lt;br /&gt;
            A three state monitor is not much different than a two state monitor. If you go through this guide you should also be able to create a three state monitor.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_6.png"&gt;&lt;img title="image" border="0" alt="image" width="242" height="197" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_2.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;The &lt;em&gt;Member Modules&lt;/em&gt; tab is a bit different in this case. What here happens, is basically just the definition of modules and their configuration. There’s no order of execution of these modules. &lt;br /&gt;
            &lt;br /&gt;
            So here we define all our modules we need for our workflow and we start with our &lt;em&gt;Data Source&lt;/em&gt; we created in &lt;em&gt;Part 2&lt;/em&gt;. &lt;br /&gt;
            Click on the &lt;em&gt;Add…&lt;/em&gt; button and look for the Data Source &lt;em&gt;code4ward.Sample.PowerShellMonitor.DataSource.CheckFileContent&lt;/em&gt; &lt;br /&gt;
            As &lt;em&gt;ID&lt;/em&gt; we specify &lt;em&gt;DS&lt;/em&gt; (again, as mentioned in the previous parts, this ID must only be unique for the modules we need here, it doesn’t need to be unique through the whole MP!)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_8.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="240" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_3.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;After you hit &lt;em&gt;OK&lt;/em&gt;, the configuration window of our module will show up. All the parameters for our data source will be set to &lt;em&gt;$Config/…$&lt;/em&gt; (see screenshot). You can use the fly-out button and select the &lt;em&gt;Promote&lt;/em&gt; menu item to automatically fill in the&lt;em&gt; $Config/…$&lt;/em&gt; values. &lt;br /&gt;
            &lt;br /&gt;
            Just to repeat this one, here we define that our consumer (in this particular case the unit monitor) will provide these values. Every value you will set here “hardcoded” will not be configurable in the unit monitor. &lt;br /&gt;
            &lt;br /&gt;
            Also, remember, that if you have defined optional (non-required) parameters in the data source, you may need to add them manually by clicking on &lt;em&gt;Edit…&lt;/em&gt; and use a XML editor (such as Notepad.exe or Visual Studio) to put in your parameter. A side note: when you use Visual Studio, an XML schema will be generated and used automatically which speeds up XML editing! &lt;br /&gt;
            &lt;br /&gt;
            In our case, no optional parameters are defined or needed, so nothing special to do here.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_10.png"&gt;&lt;img title="image" border="0" alt="image" width="242" height="198" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_4.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Next we need two modules to evaluate our health state. Remember, our script returns a property bag, so we need to look for a value in our property bag (in our case “&lt;em&gt;Status&lt;/em&gt;”) to determine if the health state is “&lt;em&gt;Healthy&lt;/em&gt;” or “&lt;em&gt;Unhealthy&lt;/em&gt;” (as we defined those IDs for our health states). &lt;br /&gt;
            &lt;br /&gt;
            So click on &lt;em&gt;Add…&lt;/em&gt; again and look for the &lt;em&gt;System.ExpressionFilter&lt;/em&gt; module and give that one the ID &lt;em&gt;HealthyExpression&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
            When the &lt;em&gt;Configuration&lt;/em&gt; window appears, do not bother to insert data into the generic XML mask, click on&lt;em&gt; Configure…&lt;/em&gt; to open up the expression builder UI.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_12.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="219" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_5.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;There we specify our expression for the &lt;em&gt;Healthy&lt;/em&gt; state: &lt;br /&gt;
            &lt;br /&gt;
            &lt;em&gt;Property[@Name=’Status’]&lt;/em&gt; Equals &lt;em&gt;OK&lt;/em&gt; &lt;br /&gt;
            &lt;br /&gt;
            Click on &lt;em&gt;OK&lt;/em&gt; and let’s do the same for the &lt;em&gt;Unhealthy&lt;/em&gt; expression&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_14.png"&gt;&lt;img title="image" border="0" alt="image" width="242" height="199" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_6.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Same procedure as 2 steps above. We just specify another ID: UnhealthyExpression&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_16.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="219" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_7.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Type in the following in the expression builder: &lt;br /&gt;
            &lt;br /&gt;
            &lt;em&gt;Property[@Name=’Status’]&lt;/em&gt; Equals &lt;em&gt;ERROR&lt;/em&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt; &lt;/td&gt;
            &lt;td valign="top" width="698"&gt;At this point we would have already enough to create a two state monitor. Our data source which basically executes our script probe on a schedule and two expressions, one for each state. We will add two more modules. We need them to configure “On Demand” detection (= Recalculate Health button in Health Explorer).&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_18.png"&gt;&lt;img title="image" border="0" alt="image" align="left" width="242" height="199" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_8.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;To enable on demand detection, we need our script probe we created in &lt;em&gt;Part 1&lt;/em&gt; of this guide and a &lt;em&gt;PassThrough&lt;/em&gt; module (which is simple and doesn’t need any configuration). &lt;br /&gt;
            &lt;br /&gt;
            Click on &lt;em&gt;Add…&lt;/em&gt; again and look for our&lt;em&gt; Probe Action&lt;/em&gt; from &lt;em&gt;Part 1&lt;/em&gt;&lt;strong&gt; (NOT the one  we created for our Tasks!) &lt;br /&gt;
            &lt;/strong&gt;&lt;br /&gt;
            The ID will be something like “&lt;em&gt;Script&lt;/em&gt;”.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_20.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="240" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_9.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;In the &lt;em&gt;Configuration&lt;/em&gt; window we will again &lt;em&gt;Promote&lt;/em&gt; the parameters with the fly-out button, except the &lt;em&gt;ExecutedAsTask&lt;/em&gt; parameter can be set to &lt;em&gt;false&lt;/em&gt;, because the situation where we use this module will never see that parameter set to &lt;em&gt;true&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
            One question will arise here: We already configured the parameters &lt;em&gt;$Config/File$, $Config/ErrorText$&lt;/em&gt; and &lt;em&gt;$Config/Debug$&lt;/em&gt;, what will happen now? &lt;br /&gt;
            &lt;br /&gt;
            The answer is fairly simple: In this case both modules will use the same parameter. When we configure the unit monitor we provide the parameter for $Config/File$ once and will be used in both modules. &lt;br /&gt;
            &lt;br /&gt;
            Our &lt;em&gt;On-Demand&lt;/em&gt; detection will now execute our &lt;em&gt;Probe Action&lt;/em&gt; module and use the same parameter as the &lt;em&gt;Data Source&lt;/em&gt; we defined in this workflow. So when we set the Debug parameter to true on the monitor level, we will get debug information every time the monitor is executed and every time we do a &lt;em&gt;Recalculate Health&lt;/em&gt;. Let’s say we always want to avoid debug information when we click on &lt;em&gt;Recalculate Health&lt;/em&gt;, we just need to “hardwire” this parameter to &lt;em&gt;false&lt;/em&gt; in this Configuration window and it will always be &lt;em&gt;false&lt;/em&gt; in this workflow.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_22.png"&gt;&lt;img title="image" border="0" alt="image" width="242" height="197" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_10.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;The last module we need, is a PassThrough module. This module doesn’t need to be configured at all and is just needed to kick-off the workflow in the On Demand module. Do not ask me what it does exactly, I just know it is needed. &lt;br /&gt;
            &lt;br /&gt;
            Now let the fun part begin and change to the &lt;em&gt;Regular&lt;/em&gt; tab to setup the workflow.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_24.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="238" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_11.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;In this tab we define for each health state (in our case two states) the workflow. So select the Healthy state in the list and check all modules we need in this workflow to evaluate a healthy state: &lt;br /&gt;
            &lt;br /&gt;
            We need our &lt;em&gt;Data Source&lt;/em&gt;, we called it &lt;em&gt;DS&lt;/em&gt; and our &lt;em&gt;HealthyExpression&lt;/em&gt;. &lt;br /&gt;
            When those two modules are enabled, we need to define the execution order of these modules using the drop down lists in the &lt;em&gt;Next Module&lt;/em&gt; column. &lt;br /&gt;
            &lt;br /&gt;
            The start of our workflow is the&lt;em&gt; Data Source (DS)&lt;/em&gt;, so here the &lt;em&gt;Next Module&lt;/em&gt; must be set to &lt;em&gt;HealthyExpression&lt;/em&gt;. &lt;br /&gt;
            The &lt;em&gt;HealthyExpression&lt;/em&gt; is the last module in this workflow, so the &lt;em&gt;Next Module &lt;/em&gt;must be set to &lt;em&gt;Monitor State Output&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_26.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="238" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_12.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Let’s move on to the Unhealthy state. Check all modules we need in this workflow to evaluate a unhealthy state: &lt;br /&gt;
            &lt;br /&gt;
            We need our &lt;em&gt;Data Source&lt;/em&gt; again and this time the &lt;em&gt;UnhealthyExpression &lt;br /&gt;
            &lt;/em&gt;Again, when those two modules are checked and enabled, setup the execution order: &lt;br /&gt;
            &lt;br /&gt;
            The start of our workflow is again the&lt;em&gt; Data Source (DS)&lt;/em&gt;. The &lt;em&gt;Next Module&lt;/em&gt; must be set to &lt;em&gt;UnhealthyExpression&lt;/em&gt;. &lt;br /&gt;
            The &lt;em&gt;UnhealthyExpression&lt;/em&gt; is the last module in this workflow, so the &lt;em&gt;Next Module&lt;/em&gt; must be set to&lt;em&gt; Monitor State Output&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
            That’s it for our two state monitor. Now we will setup the On Demand detection.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_28.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="238" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_13.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;First we need to check the &lt;em&gt;Use On Demand Detection&lt;/em&gt; check box. &lt;br /&gt;
            &lt;br /&gt;
            On top of this dialog you have again both available health states. We need to setup a workflow for each health state. Select the first state (&lt;em&gt;Healthy&lt;/em&gt;) in the list if not already selected and enable the modules needed for this workflow. &lt;br /&gt;
            &lt;br /&gt;
            In this case we need the &lt;em&gt;PassThrough&lt;/em&gt; module, the &lt;em&gt;Script&lt;/em&gt; (our Probe Action) and again the &lt;em&gt;HealthyExpression&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
            For the &lt;em&gt;On Demand&lt;/em&gt; detection the first module is always the &lt;em&gt;PassThrough&lt;/em&gt; module, so we select the Script module as &lt;em&gt;Next Module &lt;/em&gt;for the &lt;em&gt;PassThrough&lt;/em&gt; module. The &lt;em&gt;Script&lt;/em&gt; module will return our property bag which needs to be passed on to the &lt;em&gt;HealthyExpression&lt;/em&gt; module. The HealthyExpression module is our last in this workflow, so we set &lt;em&gt;Monitor State Output&lt;/em&gt; as &lt;em&gt;Next Module&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_30.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="238" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_14.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Select the &lt;em&gt;Unhealthy&lt;/em&gt; state in the list and let’s do the same workflow but in the end we will use the &lt;em&gt;UnhealthyExpression&lt;/em&gt; module instead of the &lt;em&gt;HealthyExpression&lt;/em&gt;. &lt;br /&gt;
            &lt;br /&gt;
            After that we finished all our workflows. &lt;br /&gt;
            &lt;br /&gt;
            Each workflow (healthy and unhealthy) will always be executed independently each time the monitor will run. So if you use other criteria in your expression (some performance value instead of a status text, or some and/or logic), be sure that each expression will uniquely identify each health state.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_32.png"&gt;&lt;img title="image" border="0" alt="image" width="224" height="240" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_15.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;As in our previous modules we need to be sure that the configuration schema is correct. The authoring console doesn’t always pre-set the right data type for each configuration value. So double check that &lt;em&gt;Interval&lt;/em&gt; is an &lt;em&gt;Integer&lt;/em&gt; and &lt;em&gt;Debug&lt;/em&gt; is a &lt;em&gt;Boolean&lt;/em&gt;.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="105"&gt;&lt;a target="_blank" href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_34.png"&gt;&lt;img title="image" border="0" alt="image" width="240" height="238" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48469/WLW-HowtocreateaTwoStatePowerShellScriptMoni_9C82-image_thumb_16.png" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="698"&gt;Now to the &lt;em&gt;Overridable Parameters&lt;/em&gt; tab. &lt;br /&gt;
            &lt;br /&gt;
            Use the &lt;em&gt;Add…&lt;/em&gt; button on the bottom to allow overrides on individual parameters. You may notice that I do not want to provide a way to override the &lt;em&gt;File&lt;/em&gt; to monitor. This of course is up to you what you allow to be overridden and what not. &lt;br /&gt;
            &lt;br /&gt;
            I think it’s always a good idea to allow an override on &lt;em&gt;Debug&lt;/em&gt; and &lt;em&gt;Interval&lt;/em&gt;, this way you can look into issues on a specific server or change some configuration for a group of computers or so. &lt;br /&gt;
            &lt;br /&gt;
            As mentioned in the previous parts, you can mark this&lt;em&gt; Monitor Type&lt;/em&gt; as &lt;em&gt;Public&lt;/em&gt;, so that other &lt;em&gt;MPs&lt;/em&gt; can reference your &lt;em&gt;MP&lt;/em&gt; and use your&lt;em&gt; Monitor Type&lt;/em&gt; (if sealed, of course). &lt;br /&gt;
            &lt;br /&gt;
            Click on OK and you are done!&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;That’s it for part 3. The next step will be creating the unit monitor and a task.&lt;/p&gt;
&lt;p&gt;cheers, &lt;br /&gt;
Stefan Koell &lt;br /&gt;
&lt;a href="http://www.code4ward.net"&gt;http://www.code4ward.net&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/S6yQYOLTmU0" height="1" width="1"/&gt;</description>
			
			<pubDate>Tue, 03 Nov 2009 21:17:19 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48469/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48469/Default.aspx</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/systemcenterforum/~5/S6yQYOLTmU0/Default.aspx" length="15475" type="text/xml" /><feedburner:origEnclosureLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48469/Default.aspx</feedburner:origEnclosureLink></item>
		<item>
			<title><![CDATA[Blog: OpsMgr: T-SQL Query to retrieve Top Alerts by Alert Count]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/4ptwlcwkKzw/Default.aspx</link>
			<description>&lt;blockquote&gt; &lt;p&gt;&lt;a href="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48195/WLW-OpsMgrTSQLQuerytoretrieveTopAlertsbyAler_B5DC-icon14sx6_2.gif"&gt;&lt;img title="icon14sx6" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 5px 5px 0px; border-right-width: 0px" height="48" alt="icon14sx6" src="http://www.systemcentercentral.com/portals/0/VenexusIndexItem/Index48195/WLW-OpsMgrTSQLQuerytoretrieveTopAlertsbyAler_B5DC-icon14sx6_thumb.gif" width="48" align="left" border="0"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Here's a T-SQL query to retrieve the top alerts by alert count from the OperationsManager database. It should be cut-and-paste for any environment and should work with SCE 2007 as well.&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;font size="3"&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; &lt;span class="kwrd"&gt;TOP&lt;/span&gt; 10 &lt;span class="kwrd"&gt;SUM&lt;/span&gt;(1) &lt;span class="kwrd"&gt;AS&lt;/span&gt; AlertCt, AlertStringName, AlertStringDescription, MonitoringRuleId, Name 
&lt;span class="kwrd"&gt;FROM&lt;/span&gt; Alertview &lt;span class="kwrd"&gt;WITH&lt;/span&gt; (NOLOCK) 
&lt;span class="kwrd"&gt;WHERE&lt;/span&gt; TimeRaised &lt;span class="kwrd"&gt;is&lt;/span&gt; &lt;span class="kwrd"&gt;not&lt;/span&gt; &lt;span class="kwrd"&gt;NULL&lt;/span&gt; 
&lt;span class="kwrd"&gt;GROUP&lt;/span&gt; &lt;span class="kwrd"&gt;BY&lt;/span&gt; AlertStringName, AlertStringDescription, MonitoringRuleId, Name 
&lt;span class="kwrd"&gt;ORDER&lt;/span&gt; &lt;span class="kwrd"&gt;BY&lt;/span&gt; AlertCt DESC&lt;/font&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/4ptwlcwkKzw" height="1" width="1"/&gt;</description>
			<pubDate>Tue, 03 Nov 2009 07:11:26 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48195/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48195/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: OpsMgr R2 by Example: the SharePoint MP]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/5-xt_wbTjWM/Default.aspx</link>
			<description>&lt;p&gt;The Office SharePoint Server 2007 management pack and SharePoint Portal Server 2003 management pack are separate management packs. This discussion focuses on the Office SharePoint Server 2007 management pack, as this is the more current version of the two.  &lt;h3&gt;How to Install the SharePoint MP &lt;/h3&gt; &lt;ol&gt; &lt;li&gt;If your environment is running SharePoint 2007, download the Office SharePoint Server 2007 Management Pack from the Management Pack Catalog. The Office SharePoint Server 2007 Management Pack Guide is included in the download and labeled “Microsoft_Office_SharePoint_Server_Management_Pack_Guide.doc.”  &lt;li&gt;Read the Management Pack guide, which includes tips such as resizing the Windows System and Application logs to at least 10240 in size.  &lt;li&gt;Import the Office SharePoint Server 2007 management pack (using either the Operations console or PowerShell).  &lt;li&gt;Create a SharePoint_Overrides management pack to contain any overrides required for the MP. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The Office SharePoint 2007 management pack does not support agentless monitoring.  &lt;h3&gt;SharePoint MP Tuning / Alerts to look for &lt;/h3&gt; &lt;p&gt;The following alerts were encountered and resolved when tuning the various SharePoint management packs (listed in alphabetical order by Alert name). Alerts from the SharePoint Portal Server 2003 management pack are also provided as additional information in the event similar issues are found in the SharePoint 2007 version of the management pack.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; Can not load virus scanner  &lt;p&gt;Issue: SharePoint 2003 alert. This looks for event number 1000 from the source of Windows SharePoint Services 2.0 containing the description.  &lt;p&gt;Resolution: There is no virus scanner on this system specifically for SharePoint, so this rule was disabled for this system.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; Failed to load index  &lt;p&gt;Issue: This appears to be a side effect of an underlying corruption that occurred on an index. See &lt;a href="http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html"&gt;http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html&lt;/a&gt;.  &lt;p&gt;Resolution: This environment had three SharePoint servers; two of them were for SharePoint content and the third server to provide indexing. In SharePoint Central administration it was determined there was no indexing server. Configured the third server to perform indexing and these issues no longer occurred. &lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;strong&gt;Alert:&lt;/strong&gt; Failure in loading assembly  &lt;p&gt;Issue: Per the management pack guide: Discovery for the SharePoint Portal Server Management Pack relies on the file wssDiscovery.exe. This file is run automatically when you import the Management Pack. You must configure the Agent Action Account so that is has administrative access to the SharePoint Portal Server API and administrator rights to the SQL Server databases.  &lt;p&gt;Resolution: For this to work correctly, you must enable Proxy. Be sure to enable Proxy for each of the SharePoint (including SharePoint 2003) servers.&lt;b&gt;&lt;/b&gt;  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; IIS Stop Command  &lt;p&gt;Issue: IIS was stopped on the server while a portal protection program was installed on the system. This action was performed by a system administrator. This is an alert rule so it will not close automatically.  &lt;p&gt;Resolution: Created a web monitor for the SharePoint website. Changed the severity of this item from 2 to 1 (critical to warning) as this is by itself not a critical situation. If the website was down as a result, that would be a critical situation but these are checked separately with web monitors.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; Index is corrupt  &lt;p&gt;Issue: Index corruption identified on multiple SharePoint servers.  &lt;p&gt;Resolution: This environment had three SharePoint servers; two of them were for SharePoint content and the third server to provide indexing. In SharePoint Central administration, it was determined there was no indexing server. Configured the third server to perform indexing and these issues no longer occurred.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; Query server removed from rotation  &lt;p&gt;Issue: This appears to be a side effect of an underlying corruption that occurred on an index. See &lt;a href="http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html"&gt;http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html&lt;/a&gt;.  &lt;p&gt;Resolution: This environment had three SharePoint servers; two of them were for SharePoint content and the third server to provide indexing. In SharePoint Central administration, it was determined there was no indexing server. Configured the third server to perform indexing and these issues no longer occurred.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; Sweep Synch failed  &lt;p&gt;Issue: Errors reported on various SharePoint servers in the server farm. This appears to be a side effect of an underlying corruption that occurred on an index. http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html  &lt;p&gt;Resolution: This environment had three SharePoint servers, two of them were for SharePoint content and the third server to provide indexing. In SharePoint Central administration, it was determined there was no indexing server. Configured the third server to perform indexing and these issues no longer occurred. &lt;b&gt;&lt;/b&gt; &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; The Microsoft Single Sign-on Service State  &lt;p&gt;Issue: This service is not running on the SharePoint 2007 servers in the environment. This service is used to store login credentials for 3rd party applications so you can create links from SharePoint to those apps and auto login users if they aren’t using Windows Authentication. That is the only reason you would need to have it running.  &lt;p&gt;Resolution: This functionality was not in use in the environment, so created an override to disable the alert, and stored it in a Sharepoint_Overrides management pack.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; The Office SharePoint Server Search Service State  &lt;p&gt;Issue: Office SharePoint Server Search is not running. This appears to be a side effect of an underlying corruption that occurred on an index. See &lt;a href="http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html"&gt;http://objectmix.com/sharepoint/298641-sharepoint-search-index-corrupt.html&lt;/a&gt;.  &lt;p&gt;Resolution: This environment had three SharePoint servers; two of them were for SharePoint content and the third server to provide indexing. In SharePoint Central administration, it was determined there was no indexing server. Configured the third server to perform indexing and these issues no longer occurred.  &lt;p&gt;&lt;b&gt;Alert:&lt;/b&gt; Unable to discovery sharepoint components  &lt;p&gt;Issue: Per the management pack guide: Discovery for the SharePoint Portal Server Management Pack relies on the file wss Discovery.exe. This file is run automatically when you import the management pack. You must configure the Agent Action Account so that is has administrative access to the SharePoint Portal Server API and administrator rights to the SQL Server databases.  &lt;p&gt;Resolution: For discovery to work correctly, you must enable Proxy. Be sure to enable Proxy for each of the SharePoint (including SharePoint 2003) servers. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/5-xt_wbTjWM" height="1" width="1"/&gt;</description>
			<pubDate>Mon, 02 Nov 2009 21:31:44 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48035/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48035/Default.aspx</feedburner:origLink></item>
		<item>
			<title><![CDATA[Blog: ReSearch This! KB - Alert Parameter Replacement Failure]]></title>
			<link>http://feedproxy.google.com/~r/systemcenterforum/~3/v7KyaFvP6yI/Default.aspx</link>
			<description>&lt;p&gt;&lt;b&gt;Alert: &lt;/b&gt;Alert Parameter Replacement Failure&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Alert&lt;/b&gt;: DHCP Service Running Alert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Issue: &lt;/b&gt;These alerts occurs when the DHCP service is stopped on a DHCP server. This occurs at the same time as the critical DHCP Service Running Alert occurs. The DHCP Service Running Alert closes itself automatically, but the Alert Parameter Replacement Failure does not.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resolution: &lt;/b&gt;Restarted the DHCP server service on the system which identified the error. Manually closed the Alert Parameter Replacement Failure alert. This alert appears to be able to be disabled as the DHCP Service Running Alert provides more relevant information than the warning.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Submitted By: &lt;/b&gt;Alexandre Verkinderen (MVP) and Cameron Fuller (MVP)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/systemcenterforum/~4/v7KyaFvP6yI" height="1" width="1"/&gt;</description>
			<pubDate>Mon, 02 Nov 2009 20:44:56 GMT</pubDate>
			<guid isPermaLink="false">http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48006/Default.aspx</guid>
		<feedburner:origLink>http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexId/48006/Default.aspx</feedburner:origLink></item>
	</channel>
</rss>
