<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Babulal Ghule's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/babulalghule/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/babulalghule/feed.xml</link>
    <description>Microsoft System Center</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:27:29 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>How to update custom alert fields using command line notification and PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/how-to-update-custom-alert-fields-using-command-line-notification-and-powershell</link>
      <pubDate>Sun, 30 Nov 2014 00:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2014/11/30/how-to-update-custom-alert-fields-using-command-line-notification-and-powershell/</guid>
      <description><![CDATA[In previous blog link, we discussed about the extending windows computer class, registry based...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:verdana,geneva;font-size:small;"></span><span style="font-family:Verdana;font-size:small;">In previous blog <a title="blog" href="/b/babulalghule/archive/2014/11/30/system-center-operations-manager-2012-management-pack-authoring-part-1-registry-based-discovery.aspx">link</a>, we discussed about the extending windows computer class, registry based discovery and creating views.</span></p>
<p><span style="font-family:Verdana;font-size:small;">In this blog post, I&#39;ll discuss on how to update the alert custom fields based on the extended windows computer class properties.<br /></span></p>
<p><span style="font-family:Verdana;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Verdana;font-size:small;">Please refer below blog for the steps to create the command line notification to run&nbsp;PowerShell script.<br /></span></p>
<p><a href="https://blogs.msdn.com/b/steverac/archive/2010/08/17/updating-custom-alert-fields-using-subscriptions-and-powershell.aspx">https://blogs.msdn.com/b/steverac/archive/2010/08/17/updating-custom-alert-fields-using-subscriptions-and-powershell.aspx</a></p>
<p><span style="font-family:Verdana;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:Verdana;font-size:small;">I wrote small PowerShell script for our scenario from previous blog <a title="blog" href="/b/babulalghule/archive/2014/11/30/system-center-operations-manager-2012-management-pack-authoring-part-1-registry-based-discovery.aspx"><span style="font-family:Verdana;font-size:small;">link</span></a><span style="font-family:Verdana;font-size:small;">, you can use this script along with the steps mentioned in above blog.</span><br /></span></p>
<p><span style="font-family:Verdana;font-size:small;"><span style="font-family:Verdana;font-size:small;">&nbsp;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#00008b;"><span style="color:#00008b;"><span style="color:#00008b;">Param</span></span></span><span><span>(</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">[</span></span></span><span style="color:#00bfff;"><span style="color:#00bfff;"><span style="color:#00bfff;">parameter</span></span></span><span><span>(mandatory</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$true</span></span></span><span><span>)</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">][</span></span></span><span style="color:#008080;"><span style="color:#008080;"><span style="color:#008080;">GUID</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">]</span></span></span><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$alertID</span></span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">)</span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;">Import-Module</span></span></span><span><span> </span></span><span style="color:#8a2be2;"><span style="color:#8a2be2;"><span style="color:#8a2be2;">OperationsManager</span></span></span><span><span>;</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$alertID</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$alertID</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>toString();</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span> </span></span><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;">Get-SCOMAlert</span></span></span><span><span> </span></span><span style="color:#000080;"><span style="color:#000080;"><span style="color:#000080;">-Criteria</span></span></span><span><span> </span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&quot;Id = &#39;</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$alertID</span></span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&#39;&quot;</span></span></span><span><span>;</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$srv</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>PrincipalName;</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$class</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span> </span></span><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;">Get-SCOMClass</span></span></span><span><span> </span></span><span style="color:#000080;"><span style="color:#000080;"><span style="color:#000080;">-Name</span></span></span><span><span> </span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&#39;ExtendedWindowsComputer&#39;</span></span></span><span><span>;</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">　</span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#00008b;"><span style="color:#00008b;"><span style="color:#00008b;">If</span></span></span><span><span> (</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">!</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>CustomField1 </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">-AND</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">!</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>CustomField2) </span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">{</span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$objClass</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span> </span></span><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;">Get-SCOMClassInstance</span></span></span><span><span> </span></span><span style="color:#000080;"><span style="color:#000080;"><span style="color:#000080;">-Class</span></span></span><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$class</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">|</span></span></span><span><span> </span></span><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#0000ff;">Where-Object</span></span></span><span><span>{</span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$_</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&#39;[Microsoft.Windows.Computer].PrincipalName&#39;</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">-like</span></span></span><span><span> </span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&quot;</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$srv</span></span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&quot;</span></span></span><span><span>}</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$app</span></span></span><span><span> </span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span> (</span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$objClass</span></span></span><span><span>)</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&#39;[ExtendedWindowsComputer].ServerType&#39;</span></span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$srvType</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span><span>(</span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$objClass</span></span></span><span><span>)</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&#39;[ExtendedWindowsComputer].Application&#39;</span></span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>CustomField1</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$srvType</span></span></span><span><span>;</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>CustomField2</span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">=</span></span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$app</span></span></span><span><span>;</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;"><span><span> </span></span><span style="color:#ff4500;"><span style="color:#ff4500;"><span style="color:#ff4500;">$newAlert</span></span></span><span style="color:#a9a9a9;"><span style="color:#a9a9a9;"><span style="color:#a9a9a9;">.</span></span></span><span><span>Update(</span></span><span style="color:#8b0000;"><span style="color:#8b0000;"><span style="color:#8b0000;">&quot;&quot;</span></span></span><span><span>)</span></span></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">}</span></p>
<p><span style="font-family:Verdana;font-size:small;"><span style="font-family:Verdana;font-size:small;"><span style="font-family:Lucida Console;font-size:xx-small;"><span style="font-family:Lucida Console;font-size:xx-small;"></span></span><br /></span></span></p>
<p><span style="font-family:Verdana;font-size:small;"><span><span style="color:#ff0000;"><strong>Note:</strong></span> <span style="color:#ff0000;">Test this in your lab first and make necessary changes according to your environment</span>.</span></span></p>
<p><span style="font-family:Verdana;font-size:small;"><span style="color:#ff0000;">&nbsp;</span></span></p>
<p><span style="font-family:Verdana;font-size:small;"><span style="color:#ff0000;"><span style="color:#000000;"></span><span style="color:#000000;">Enjoy!</span></span></span><span style="font-family:Verdana;font-size:small;"><br /></span></p>]]></content:encoded>
    </item>
    <item>
      <title>System Center Operations Manager 2012 - Management Pack Authoring - Part 1 Registry Based Discovery</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/system-center-operations-manager-2012-management-pack-authoring-part-1-registry-based-discovery</link>
      <pubDate>Sat, 29 Nov 2014 22:06:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2014/11/29/system-center-operations-manager-2012-management-pack-authoring-part-1-registry-based-discovery/</guid>
      <description><![CDATA[This is the first of five part blog series about the System Center Operations Manager 2012 -...]]></description>
      <content:encoded><![CDATA[<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">This is the first of five part blog series about the System Center Operations Manager 2012 - Management Pack Authoring.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">In this blog post, I will walk you through the steps to extend the windows computer class using Visual Studio Authoring Extension (VSAE).</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><strong>Scenario :</strong> CONTOSO company has implemented SCOM 2012 R2 to monitor 1000+ servers and have many applications like SQL, Exchange, SharePoint and few third party applications. </span><span style="font-family:verdana,geneva;font-size:small;">Every application has few development and few production servers. They have application teams who supports the application and needs to have access to the alerts&nbsp;&nbsp;&nbsp; (different views for Dev. and Prod. Servers for every application). They don&rsquo;t have any way to differentiate the servers between the production or development like by OU or by the Sites.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp; Creating computer group is one of the option but if we create too many groups then it isn&#39;t a good option as a group is a singleton class hosted by the Management Servers, and Management Servers performs the group calculation for each group on a regular basis.&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Please refer the blog for more details on the groups <a href="/b/kevinholman/archive/2009/02/05/what-is-a-group-anyway.aspx">https://blogs.technet.com/b/kevinholman/archive/2009/02/05/what-is-a-group-anyway.aspx</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">High level steps:</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;A. Overview</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; B. Extend the windows computer class and add two properties (ServerType &amp; Application)</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; C. Create the discovery to discover the values for the properties.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; D. Create the folder and views structure.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; E. Import Management Pack and verify.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">A. Overview</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;"><span style="font-family:verdana,geneva;font-size:small;">1. Overview of VSAE</span></span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Link to download VSAE: <a href="https://www.microsoft.com/en-sg/download/details.aspx?id=30169">https://www.microsoft.com/en-sg/download/details.aspx?id=30169</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><a href="https://social.technet.microsoft.com/wiki/contents/articles/7562.visual-studio-authoring-extensions-visual-studio-features.aspx">https://social.technet.microsoft.com/wiki/contents/articles/7562.visual-studio-authoring-extensions-visual-studio-features.aspx</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><a href="https://social.technet.microsoft.com/wiki/contents/articles/5236.visual-studio-authoring-extensions-for-system-center-2012-operations-manager.aspx">https://social.technet.microsoft.com/wiki/contents/articles/5236.visual-studio-authoring-extensions-for-system-center-2012-operations-manager.aspx</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">2. Classed &amp; Relationships:</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Please refer this link for more details :</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><a href="https://social.technet.microsoft.com/wiki/contents/articles/14256.operations-manager-management-pack-authoring-classes-and-relationships.aspx">https://social.technet.microsoft.com/wiki/contents/articles/14256.operations-manager-management-pack-authoring-classes-and-relationships.aspx</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">3. Discovery:</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Please refer this link for more details :</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><a href="https://social.technet.microsoft.com/wiki/contents/articles/14260.operations-manager-management-pack-authoring-discovery.aspx">https://social.technet.microsoft.com/wiki/contents/articles/14260.operations-manager-management-pack-authoring-discovery.aspx</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">There are four types of discoveries.</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;1. Registry :</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Accessing the registry on the local computer is a preferred method of discovery because of the small overhead required. The registry frequently contains lots of easy to access configuration information for many applications. A discovery can check whether a particular key or value exists, or it can collect the data from any value. Collected values may be either only collected for a property or compared to some known value to determine whether discovery data should be created.</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">&nbsp; 2. </span><span style="font-family:verdana,geneva;font-size:small;">WMI :</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WMI can provide lots of information about a computer or Windows operating system components. It can also be the source of information for any application that includes a WMI provider exposing parts of the application through a WMI interface. A discovery can run a WMI query to determine whether instances of a particular WMI class exist and to collect the properties from any returned instances.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">For example, a particular management pack might collect information from the computer BIOS, that can be obtained by using the WMI32_BIOS WMI class.</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">&nbsp; 3. Script :</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If a discovery requires data inaccessible from the registry or WMI, or if the discovery needs more complex logic than those discoveries provide, a discovery script must be used. A discovery script can be written in any language that can access the MOM.ScriptAPI COM object that is installed with the Operations Manager agent. The most typical scripts are written either in a language supported by Windows Script Host (VBScript or Jscript by default) or Windows PowerShell.</span></p>
<p><strong><span style="font-family:verdana,geneva;font-size:small;">&nbsp; 4. WSMan :</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Used to access Unix/Linux resources.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Let&#39;s start with the authoring MP for our scenario using registry based discovery.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">First, d</span><span style="font-family:verdana,geneva;font-size:small;">efine the registry keys and path that we will use for the discovery.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1.png"><img width="550" height="236" style="width:561px;height:245px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1.png" border="0" /></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">B. Extend Windows Computer Class:</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;1. </span><span style="font-family:verdana,geneva;font-size:small;">To create a new management pack, you first have to create a new management pack project. A project is the Visual Studio term for the collection of code that will be compiled into a finished form &ndash; often an executable, but in this case, a management pack.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;2. </span><span style="font-family:verdana,geneva;font-size:small;">From the Visual Studio Start Page, select the New Project&hellip; link, or click File &rarr; New &rarr; Project. The New Project dialog box appears.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2.png"><img width="553" height="232" style="width:743px;height:286px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2.png" border="0" /></a></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;3</span><span style="font-family:verdana,geneva;font-size:small;">. </span><span style="font-family:verdana,geneva;font-size:small;">Select the correct management pack version. I&#39;m authoring MP for SCOM 2012 R2 so I selected Operations Manager 2012 R2 Management Pack.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;4. </span><span style="font-family:verdana,geneva;font-size:small;">Create the folders under the project. These folders are used for arranging code in more structured way.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;5. </span><span style="font-family:verdana,geneva;font-size:small;">Right click on Project -&gt; Add -&gt; New Folder</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3.png" border="0" /></a></span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">6. Add MP fragment for the class.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; Right click on Classes folder -&gt; Add -&gt; New Item</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4.png" border="0" /></a></span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;This will add the class syntax with the basic XML structure.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5.png"><img width="551" height="243" style="width:623px;height:302px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5.png" border="0" /></a></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;7. </span><span style="font-family:verdana,geneva;font-size:small;">Make necessary changes to the class definition like ID, base, Accessibility etc.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;8. I&#39;ll use&nbsp;Microsoft.Windows.Computer class as a base and it is defined in the Microsoft.Windows.Library MP.&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6.png" border="0" /></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;9. This will be part of default MPs added when we create the project.</span><span style="font-family:verdana,geneva;font-size:small;"> If you need to add mp reference here,&nbsp;then right click on the references -&gt; Add reference &hellip; -&gt; Browse&nbsp;a</span><span style="font-family:verdana,geneva;font-size:small;">nd select the .mp file which you have downloaded.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7.png" border="0" /></a>&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;10. </span><span style="font-family:verdana,geneva;font-size:small;">Remove the default base class added. Move the cursor&nbsp;between the<span style="font-family:Verdana;font-size:small;">&nbsp;double quotes (Base = &quot;&quot;)</span> and press Control + Space (use this to find the next element or value for the element) </span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8.png"><img width="611" height="122" style="width:621px;height:135px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8.png" border="0" /></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">11. Select Windows --&gt; Microsoft.Windows --&gt; Computer</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/9.png"><img width="551" height="80" style="width:573px;height:112px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/9.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/9.png" border="0" /></a></span><span style="font-family:verdana,geneva;font-size:small;"><br /></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/10.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/10.png"><img width="551" height="74" style="width:590px;height:116px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/10.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/10.png" border="0" /></a><br /></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;12. </span><span style="font-family:verdana,geneva;font-size:small;">Now, add properties</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><span style="font-family:verdana,geneva;font-size:small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/11.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/11.png"><img width="551" height="79" style="width:611px;height:153px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/11.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/11.png" border="0" /></a></span><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/11.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/11.png"></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">13. Select property --&gt; then press Space to get the next element.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/12.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/12.png"><img width="551" height="103" style="width:593px;height:126px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/12.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/12.png" border="0" /></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">14. Select ID and enter the value for ID element and press space</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/14.png"><img width="551" height="77" style="width:580px;height:105px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/14.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/14.png" border="0" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/13.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/13.png"></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">15. Select Key and set value to false</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">16. C</span><span style="font-family:verdana,geneva;font-size:small;">lass definition will look like this</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<span style="font-size:x-small;">&lt;ClassType ID=&quot;ExtendedWindowsComputerClass&quot; Base=&quot;Windows!Microsoft.Windows.Computer&quot; Accessibility=&quot;Public&quot; Abstract=&quot;false&quot; Hosted=&quot;false&quot; Singleton=&quot;false&quot;&gt;</span><br /><span style="font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;Property ID=&quot;ServerType&quot; Key=&quot;false&quot; Type=&quot;string&quot;/&gt;</span><br /><span style="font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;Property ID=&quot;Application&quot; Key=&quot;false&quot; Type=&quot;string&quot;/&gt;</span><br /><span style="font-size:x-small;">&lt;/ClassType&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Both the properties have key=&quot;false&quot; as we already have the key property in the class hierarchy.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">You can check the key property for the class from the MP.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Run this query against the Operations Manager DB to get the mpxml</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">SELECT convert(xml,mpxml) FROM ManagementPack WHERE MPFriendlyName like &#39;%Microsoft Windows Library%&#39;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/15.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/15.png"><img width="551" height="30" style="width:617px;height:67px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/15.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/15.png" border="0" /></a>&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">17. Define the Language Pack.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;&lt;DisplayStrings&gt;</span><span style="font-family:verdana,geneva;">&nbsp;&nbsp;&nbsp;</span></span></p>
<p><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- This is the string users of the Operations Console and Web Console will see.&nbsp;</span><span style="font-family:verdana,geneva;">Descriptions are also helpful when the user is doing a search in the Console. --&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DisplayString ElementID=&quot;ExtendedWindowsComputerClass&quot;&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Extended Windows Computer Class&lt;/Name&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Description&gt;Windows Computer Class with additional properties&lt;/Description&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DisplayString&gt;</span></p>
<p><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;</span><span style="font-family:verdana,geneva;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Uncomment the below section if you need to add a user friendly string for each property. --&gt;</span></span></p>
<p><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family:verdana,geneva;">&nbsp; &lt;DisplayString ElementID=&quot;ExtendedWindowsComputerClass&quot; SubElementID=&quot;ServerType&quot;&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Server Type&lt;/Name&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Description&gt;&lt;/Description&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DisplayString&gt;</span></p>
<p><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;</span><span style="font-family:verdana,geneva;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DisplayString ElementID=&quot;ExtendedWindowsComputerClass&quot; SubElementID=&quot;Application&quot;&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Application&lt;/Name&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Description&gt;&lt;/Description&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DisplayString&gt;</span></p>
<p><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;</span><span style="font-family:verdana,geneva;">&lt;/DisplayStrings&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><strong><span style="font-family:verdana,geneva;font-size:small;">C. Design Discovery:</span></strong></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Let&#39;s create the discovery to discover the values from registry.</span></p>
<p><strong><span style="font-family:verdana,geneva;font-size:small;">Steps to create the Discovery:</span></strong></p>
<ol>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Right click the name of the solution and select Add and then New Item.&nbsp;</span></li>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Select Discovery.</span></li>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">In the <strong>Name</strong> box, type Discoveries.mptg and click Add.</span></li>
</ol>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/17.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/17.png"><img width="551" height="327" style="width:639px;height:341px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/17.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/17.png" border="0" /></a></span></p>
<p lang="en-US"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/18.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/18.png"><img width="636" height="276" style="width:650px;height:279px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/18.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/18.png" border="0" /></a></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">Configure the Discovery Properties:</span></strong></p>
<ol>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Right click the entry for NewDiscovery and select Properties Window.</span></li>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Change the ID to Discovery.ExtendedWindowsComputer.</span></li>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Change the Display Name to Discover Extended Windows Computer.</span></li>
</ol>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">Select the Discovery Target:</span></strong></p>
<ol>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Select Target and click the ellipse (...) button on the right of the field.&nbsp;</span></li>
<li lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Select Microsoft.Windows.Computer and click OK.</span></li>
</ol>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;"><strong>Discovery Targets :</strong> The target of a discovery determines where the discovery will run. Any agent managing an instance of the target class will run the discovery. In order to minimize overhead, the target for a discovery should represent the most specific class where the class being discovered may potentially be found.</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">Select and Configure the Discovery Data Source</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1. Select Data Source Type ID&nbsp;and click the ellipse (...) button on the right of the field.&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. Select Microsoft.Windows.FilteredRegistryDiscoveryProvider and click OK.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">The Microsoft.Windows.FilteredRegistryDiscoveryProvider module is a discovery data source module type that queries the Windows registry at a scheduled frequency and returns filtered results as System.Discovery.Data data.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:verdana,geneva;font-size:small;"><strong>Usage :</strong> Use this module when you want to query the Windows registry inside a discovery workflow. This module supports retrieving any key or value from the HKEY_LOCAL_MACHINE hive of the registry only. For multi-string values, only the first string is returned. This module allows you to specify a filter on the returned registry data before it is mapped to discovery data.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. </span><span style="font-family:verdana,geneva;font-size:small;">Select Data Source Configuration and click the ellipse (...) button on the right of the field.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. Type &lt; and select the tag (ComputerName)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/12.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/12.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/12.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/12.png" border="0" /></a></span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp; </span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; 5.Registry based discovery always starts with the computer name and value will be in the format</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Target/Property[Type=&quot;Windows!Microsoft.Windows.Computer&quot;]/PrincipalName$ -- $Target variable resolves to the computer name of the target agent.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For authoring variables refer to this link <a href="https://social.technet.microsoft.com/wiki/contents/articles/15300.operations-manager-management-pack-authoring-variables.aspx">https://social.technet.microsoft.com/wiki/contents/articles/15300.operations-manager-management-pack-authoring-variables.aspx</a></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For registry base discoveries this table is very important.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<div>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Element</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Type</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Description</span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">AttributeName</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">ID</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">An identifier for the value in the output data item. This must be unique within the RegistryAttributeDefinitionsType element and must consist only of letters, numbers, the underscore, hyphen, and period. Digits, the hyphen, and the period cannot be used to start the name.</span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Path</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">String</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">The path to collect in the registry under HKEY_LOCAL_MACHINE. This path can be a key or a value.</span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">PathType</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Integer</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Specifies whether the path is a key or a value.</span></p>
<ul>
<li><span style="font-family:verdana,geneva;font-size:small;">0&mdash;Specifies that the path is to a key, for which the existence of the key should be checked.</span></li>
<li><span style="font-family:verdana,geneva;font-size:small;">1&mdash;Specifies that the path is to a value that should be retrieved.</span></li>
</ul>
</td>
</tr>
<tr>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">AttributeType</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">Integer</span></p>
</td>
<td>
<p><span style="font-family:verdana,geneva;font-size:small;">The data type of the value to return:</span></p>
<ul>
<li><span style="font-family:verdana,geneva;font-size:small;">0&mdash;Boolean</span></li>
<li><span style="font-family:verdana,geneva;font-size:small;">1&mdash;String</span></li>
<li><span style="font-family:verdana,geneva;font-size:small;">2&mdash;Integer</span></li>
<li><span style="font-family:verdana,geneva;font-size:small;">3&mdash;Float</span></li>
</ul>
<p><span style="font-family:verdana,geneva;font-size:small;">Values 1, 2, and 3 are used only when the PathType is set to 1.</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; 6.The following code example of type RegistryAttributeDefinitions returns a registry value:</span></p>
<p><br /><span style="font-family:verdana,geneva;font-size:small;"> &nbsp; <span style="font-size:x-small;">&lt;RegistryAttributeDefinition&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;AttributeName&gt;ServerType&lt;/AttributeName&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Path&gt;SOFTWARE\CONTOSO\ServerType&lt;/Path&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PathType&gt;1&lt;/PathType&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;AttributeType&gt;1&lt;/AttributeType&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;/RegistryAttributeDefinition&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp; But if you need to check if registry key exists.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;RegistryAttributeDefinition&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;AttributeName&gt;ApplicationExists&lt;/AttributeName&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;Path&gt;SOFTWARE\CONTOSO\ApplicationExists&lt;/Path&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;PathType&gt;0&lt;/PathType&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;AttributeType&gt;0&lt;/AttributeType&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &lt;/RegistryAttributeDefinition&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;7</span><span style="font-family:verdana,geneva;font-size:small;">. Define the frequency, choose as per your environment requirement. For my test lab, I&#39;m using 1800 secs.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp; </span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;Frequency&gt;1800&lt;/Frequency&gt;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp; </span><span style="font-family:verdana,geneva;font-size:small;">Note: This value is in seconds</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">8. Define the class id</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;"><span style="font-size:x-small;">&lt;ClassId&gt;&lt;/ClassId&gt;</span>&nbsp; This is the class id for the class which we are going to discover&nbsp;a</span><span style="font-family:verdana,geneva;font-size:small;">nd syntax will be $MPElement[Name=&quot;Name of the Class&quot;]$</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">You can use the $MPElement variable when you need to retrieve the GUID of any Management Pack element or sub-element of a Management Pack element. Some elements, such as the Discovery element, have to distinguish between several objects that are instances of a class, and each instance of a discovered class is assigned a GUID.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;9</span><span style="font-family:verdana,geneva;font-size:small;">. &lt;InstanceSettings&gt;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">This will populate the values for the properties and key property of the class or any of its parent in the hierarchy</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">For each property format will be</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;Setting&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;$MPElement[Name=&quot;ExtendedWindowsComputerClass&quot;]/ServerType$&lt;/Name&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Value&gt;$Data/Values/ServerType$&lt;/Value&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&lt;/Setting&gt;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">For registry based discoveries values collected will be always in the $Data/Values/NameOftheAttribute</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">And if you are checking if key exists or not. We need to create the expression after the instance settings (This is not required for our scenario)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">This expression will start after the &lt;/InstanceSettings&gt; tag</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">For below example</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;RegistryAttributeDefinition&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;AttributeName&gt;ApplicationExists&lt;/AttributeName&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;Path&gt;SOFTWARE\CONTOSO\ApplicationExists&lt;/Path&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;PathType&gt;0&lt;/PathType&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &nbsp; &lt;AttributeType&gt;0&lt;/AttributeType&gt;</span><br /><span style="font-family:verdana,geneva;font-size:x-small;"> &lt;/RegistryAttributeDefinition&gt;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">Expression will be</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;Expression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;SimpleExpression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ValueExpression&gt;Values/ApplicationExists&lt;/ValueExpression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Operator&gt;Equal&lt;/Operator&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ValueExpression&gt;true&lt;/ValueExpression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;/SimpleExpression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp; &lt;/Expression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">In our scenario expression tag will be empty</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;Expression&gt;&lt;/Expression&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><strong><span style="font-family:verdana,geneva;font-size:small;">D. Create Views:</span></strong></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">For our scenario, I&#39;ll create the folder and view structure</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;"><a href="https://social.technet.microsoft.com/wiki/contents/articles/15310.operations-manager-management-pack-authoring-views.aspx">https://social.technet.microsoft.com/wiki/contents/articles/15310.operations-manager-management-pack-authoring-views.aspx</a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">All Servers</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp; --&gt; SQL Application</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PROD (Alert View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PROD (State View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dev&nbsp; (Alert View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dev&nbsp; (State View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp; --&gt; VMM Application&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PROD (Alert View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PROD (State View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dev&nbsp; (Alert View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dev&nbsp; (State View)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">1.Right click on Views - &gt; Add -&gt; New item</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<img alt=" " /></span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/23.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/23.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/23.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/23.png" border="0" /></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&lt;Folders&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Folder ID=&quot;ExtendedWindowsComputerClass.AllServers&quot; Accessibility=&quot;Public&quot; ParentFolder=&quot;SC!Microsoft.SystemCenter.Monitoring.ViewFolder.Root&quot; /&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Folder ID=&quot;ExtendedWindowsComputerClass.AllServers.SQL&quot; Accessibility=&quot;Public&quot; ParentFolder=&quot;ExtendedWindowsComputerClass.AllServers&quot; /&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Folder ID=&quot;ExtendedWindowsComputerClass.AllServers.VMM&quot; Accessibility=&quot;Public&quot; ParentFolder=&quot;ExtendedWindowsComputerClass.AllServers&quot; /&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;&nbsp;&nbsp; &lt;/Folders&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">2.Now let&#39;s create the views,&nbsp;r</span><span style="font-family:verdana,geneva;font-size:small;">ight click on view folder and select property window</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>Display Name :</strong> SQL PROD State View</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>ID:</strong> State.SQLPROD</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>Target :</strong> ExtendedWindowsComputerClass</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>View Folder :</strong> ExtendedWindowsComputerClass.AllServers.SQL</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>View Type ID:</strong> Microsoft.SystemCenter.StateViewType</span></p>
<p><strong><span style="font-family:verdana,geneva;font-size:small;">View Configuration:</span></strong></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Select PropertyCriteria</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/27.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/27.png"><img width="550" height="72" style="width:628px;height:114px;" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/27.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/27.png" border="0" /></a></span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-size:x-small;"><span style="font-family:verdana,geneva;">&nbsp;</span><span style="font-family:verdana,geneva;">&lt;PropertyCriteria&gt;</span></span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyName&gt;ServerType&lt;/PropertyName&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Value&gt;PROD&lt;/Value&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;/PropertyCriteria&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;PropertyCriteria&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyName&gt;Application&lt;/PropertyName&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Value&gt;SQL&lt;/Value&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;/PropertyCriteria&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp; &lt;/Criteria&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">Same way we can create all the other state views.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><strong><span style="font-family:verdana,geneva;font-size:small;">&nbsp; For Alert view</span></strong></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display Name :</strong> SQL PROD State View</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID:</strong> Alert.SQLPROD</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Target :</strong> ExtendedWindowsComputerClass</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View Folder :</strong> ExtendedWindowsComputerClass.AllServers.SQL</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View Type ID:</strong> Microsoft.SystemCenter.AlertViewType</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp; For filtering we can use custom field values as property criteria is not available.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:x-small;">&lt;Criteria&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;ResolutionState&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;StateRange Operator=&quot;NotEquals&quot;&gt;255&lt;/StateRange&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;/ResolutionState&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;SeverityList&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Severity&gt;Error&lt;/Severity&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;/SeverityList&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;CustomField1&gt;PROD&lt;/CustomField1&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp;&nbsp;&nbsp; &lt;CustomField2&gt;SQL&lt;/CustomField2&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:x-small;">&nbsp; &lt;/Criteria&gt;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Please refer this blog for updating alert custom fields.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><a href="/b/babulalghule/archive/2014/11/30/how-to-update-custom-alert-fields-using-command-line-notification-and-powershell.aspx">https://blogs.technet.com/b/babulalghule/archive/2014/11/30/how-to-update-custom-alert-fields-using-command-line-notification-and-powershell.aspx</a></span></p>
<p style="margin:0in;color:black;font-family:verdana;font-size:9pt;"><span style="font-size:small;"><a href="https://blogs.msdn.com/b/steverac/archive/2010/08/17/updating-custom-alert-fields-using-subscriptions-and-powershell.aspx">https://blogs.msdn.com/b/steverac/archive/2010/08/17/updating-custom-alert-fields-using-subscriptions-and-powershell.aspx</a></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">E. Generate the Management Pack and Import</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">To Seal the mp, first create the .snk file. (<a href="https://msdn.microsoft.com/en-us/library/k5b5tt23(v=vs.110).aspx">https://msdn.microsoft.com/en-us/library/k5b5tt23(v=vs.110).aspx</a>)</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Right click on project -&gt;Properties --&gt;Build and Select &quot;Generate sealed and signed management pack&quot;</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;">Provide the .snk file path.</span></p>
<p><span style="font-family:verdana,geneva;font-size:small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/28.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/28.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/28.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/28.png" border="0" /></a></span></p>
<p></p>
<p><span style="font-family:verdana,geneva;font-size:small;">To Build the project, select Build &rarr; Build Solution. The solution will be verified with various Visual Studio tools and the MP Verify tool. If any errors are found, an error list will be generated. If there are no errors, the Output window will be displayed, indicating that the build was successful. Depending on the configuration you set in the properties, the .xml or .mp file will be found in the directory you set.</span></p>
<p lang="en-US"></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">We can directly deploy the MP from VSAE or we can copy the .mp file created and import it.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><strong><span style="font-family:verdana,geneva;font-size:small;">Import Management Pack and verify the views&nbsp;</span></strong></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Here is the view that we designed.</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/29.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/29.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/29.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/29.png" border="0" /></a></span><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">&nbsp;</span></p>
<p lang="en-US"><span style="font-family:verdana,geneva;font-size:small;">Enjoy!<br /></span></p>]]></content:encoded>
    </item>
    <item>
      <title>How to configure notification workflow to notify if assigned to user is empty or Incident is not assigned</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/how-to-configure-notification-workflow-to-notify-if-assigned-to-user-is-empty-or-incident-is-not-assigned</link>
      <pubDate>Sun, 05 May 2013 04:54:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2013/05/05/how-to-configure-notification-workflow-to-notify-if-assigned-to-user-is-empty-or-incident-is-not-assigned/</guid>
      <description><![CDATA[In this blog post, I will walk you through the steps to configure the notification workflow to...]]></description>
      <content:encoded><![CDATA[<p>In this blog post, I will walk you through the steps to configure the notification workflow to notify if assigned to user field is empty for Incident/Service Request.</p>
<p>We get frequent requests from customers on how to create notification workflow to notify if assigned to user filed is empty for Incident or Service Request. Currently this is not possible out of the box but this can be done using XML magic.</p>
<p>For this blog post, I'll create the notification workflow which will notify helpdesk every 10 mins until the Incident/Service Request is assigned.</p>
<p><strong>So lets start,</strong></p>
<p>For detailed steps on creating notification workflow in Service Manager, please refer this TechNet link <a href="https://technet.microsoft.com/en-us/library/hh519719.aspx">https://technet.microsoft.com/en-us/library/hh519719.aspx</a></p>
<p><strong>Step 1: Create notification template.</strong></p>
<p>Refer this TechNet <a href="https://technet.microsoft.com/en-us/library/hh519719.aspx">https://technet.microsoft.com/en-us/library/hh519719.aspx</a></p>
<p><strong>Step 2: Create notification workflow (periodic subscription)</strong></p>
<p>I selected the target class as Incident but if you want to notify for Service Request then select&nbsp;Service Request.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4604.sub%201.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4604.sub-1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4604.sub%201.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4604.sub-1.jpg" alt="" border="0" /></a></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1464.sub%202.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1464.sub-2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1464.sub%202.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1464.sub-2.jpg" alt="" border="0" /></a>&nbsp;</p>
<p>&nbsp;Add<strong> 'First assigned date'</strong> in the criteria. This field will be updated with the date time when Incident/Service Request is assigned to user. So if this field is empty then incident is not assigned to any user yet. So we need to check if this field <strong>isNull or isEmpty</strong> but we don't have these operators in the UI.&nbsp;Add any&nbsp;temporary criteria here like <strong>"is less than </strong><strong>or equal"</strong> to '05/05/2013' as UI will not allow to click next until we specify something here.&nbsp;We will modify this MP and add isNull operator from XML.</p>
<p>&nbsp;We can also add additional criteria's here based on the requirement, like if you have multiple helpdesks (ex. Network, SQL).&nbsp;make sure that you add all the criteria that you need here along with first assigned date as we will not be able modify this workflow form UI after we do the changes in XML.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3323.sub%203.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3323.sub-3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3323.sub%203.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3323.sub-3.jpg" alt="" border="0" /></a></p>
<p>&nbsp;&nbsp;In recurring notification section, specify the criteria that suits your requirement for recurring notifications. For this scenario, I want to notify helpdesk every 10 mins until the incident&nbsp;is assigned to analyst. If you want to notify once then you can set <strong>'End after number of occurrences' = 1</strong>.&nbsp;&nbsp;This workflow&nbsp;will run every 10 mins if criteria is true. This criteria will be false when incident has assigned to user.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2234.sub%204.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2234.sub-4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2234.sub%204.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2234.sub-4.jpg" alt="" border="0" /></a>&nbsp;</p>
<p>&nbsp;Select the notification template and add required recipients on the next screen.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3718.sub%205.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3718.sub-5.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3718.sub%205.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3718.sub-5.jpg" alt="" border="0" /></a></p>
<p>&nbsp;So we are done with creating notification workflow from UI, now its time to modify it from XML. Export management pack and open it in XML editor.</p>
<p>Locate the <span style="color: #000000;"><strong>&lt;Criteria&gt;</strong></span> section in the MP for <strong>"First assigned date"</strong> as below.</p>
<p>&lt;Criteria&gt;&nbsp;</p>
<p>&lt;Expression&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;SimpleExpression&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ValueExpressionLeft&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property&gt;<span style="background-color: #ffff00;">$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem']/FirstAssignedDate$</span>&lt;/Property&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ValueExpressionLeft&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Operator&gt;LessEqual&lt;/Operator&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ValueExpressionRight&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Value&gt;<span style="background-color: #ffff00;">2013-04-27T18:30:00</span>&lt;/Value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ValueExpressionRight&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/SimpleExpression&gt;<br />&lt;/Expression&gt;</p>
<p>&lt;/Criteria&gt;</p>
<p>We need to replace the lines between the tag <span style="background-color: #ffff00;"><strong>&lt;Expression&gt; &lt;/Expression&gt;</strong></span> with below code.</p>
<p>&lt;UnaryExpression&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="background-color: #ffff00;">&lt;ValueExpression&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Property&gt;$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem']/FirstAssignedDate$&lt;/Property&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ValueExpression&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Operator&gt;IsNull&lt;/Operator&gt;</span><br />&lt;/UnaryExpression&gt;</p>
<p>So this will look like as below.</p>
<p>&lt;Criteria&gt;<br />&nbsp;&nbsp;&lt;Expression&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="background-color: #ffff00;">&nbsp;&lt;UnaryExpression&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ValueExpression&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property&gt;$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem']/FirstAssignedDate$&lt;/Property&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ValueExpression&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Operator&gt;IsNull&lt;/Operator&gt;</span><br /><span style="background-color: #ffff00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/UnaryExpression&gt;</span>&nbsp;<br />&nbsp;&nbsp;&nbsp;&lt;/Expression&gt;<br />&lt;/Criteria&gt;</p>
<p>Save the management pack and re-import it back and you're done with XML code changes.</p>
<p><strong>Note:&nbsp;</strong>Once you modify and re-import the MP, do not modify it from the UI as it will break the XML code.</p>
<p>I have attached sample MP with this post.</p>
<p>&nbsp;</p>
<p>Hope this helps!</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9753/00/00/03/57/08/11/ManagementPack.3bef2f9daf4e454ba542aa8e44e4786a.xml" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9753-00-00-03-57-08-11/ManagementPack.3bef2f9daf4e454ba542aa8e44e4786a.xml">ManagementPack.3bef2f9daf4e454ba542aa8e44e4786a.xml</a></p>]]></content:encoded>
    </item>
    <item>
      <title>How to configure notifications for assignment/re-assignment, action log/user comment updates for Incident/Service Request</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/how-to-configure-notifications-for-assignmentre-assignment-action-loguser-comment-updates-for-incidentservice-request</link>
      <pubDate>Sat, 04 May 2013 10:31:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2013/05/04/how-to-configure-notifications-for-assignmentre-assignment-action-loguser-comment-updates-for-incidentservice-request/</guid>
      <description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In this blog post, I will walk you through the...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In this blog post, I will walk you through the steps to configure the notification for assignment/re-assignment, action log/user comment updates for Incident/Service Request.</p>
<p>In SCSM 2010, we used xml mp to create notification for action log/user input updates but in 2012 we have new classes which we can use for the notifications.</p>
<p>&nbsp;<a href="https://blogs.technet.com/b/servicemanager/archive/2010/08/30/notifying-the-affected-user-when-the-analyst-has-updated-the-action-log.aspx">https://blogs.technet.com/b/servicemanager/archive/2010/08/30/notifying-the-affected-user-when-the-analyst-has-updated-the-action-log.aspx</a></p>
<p>In this post we will cover below scenarios.&nbsp;</p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. Notify Analyst when user adds comments from portal on the Incident or Service Request.</strong></p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. Notify End User when Analyst updates the action log from console on the Incident or Service Request.</strong></p>
<p>If you are using Exchange connector to create and update incident from emails.&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>3. Notify Analyst when end user reply to email notifications with comments (or provides new information) for incident or Service Request.</strong></p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. Notify End User when analysts reply to emails requesting more information (reply to assigned to user notification or analyst notification which will be logged as Analyst</strong><br /><strong>comments on the Incident or Service Request)</strong></p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp; 5. Service Request assignment/re-assignment workflow </strong></p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </strong>We will modify assignment/re-assignment management pack to notify for assignment re-assignment of Service Request.</p>
<p>&nbsp;</p>
<p>&nbsp;<strong>Let&rsquo;s start with the process of creating notifications.</strong></p>
<p>&nbsp;For detailed steps on creating notifications in Service Manager, please refer this TechNet link <a href="https://technet.microsoft.com/en-us/library/hh519719.aspx">https://technet.microsoft.com/en-us/library/hh519719.aspx</a></p>
<p>&nbsp;This is a good blog post on creating Notification templates <a href="https://blogs.technet.com/b/servicemanager/archive/2009/09/28/creating-notification-templates-in-system-center-service-manager.aspx">https://blogs.technet.com/b/servicemanager/archive/2009/09/28/creating-notification-templates-in-system-center-service-manager.aspx</a></p>
<p>&nbsp;</p>
<p>&nbsp;<span style="font-size: medium;"><strong>A) Scenario 1 &amp; 3</strong></span></p>
<p>This notification workflow will cover both the scenarios for Incident and Service Request.</p>
<p><strong>Step 1: </strong>Create notification template</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5148.Notificaton%20Template-%201.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5148.Notificaton-Template_2D00_-1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5148.Notificaton%20Template-%201.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5148.Notificaton-Template_2D00_-1.jpg" alt="" border="0" /></a></p>
<p>&nbsp;<strong>&nbsp;</strong></p>
<ul>
<li>Select the target class<strong> &ldquo;Trouble Ticket Analyst Comments&rdquo; </strong>(Click on Browse and Select All Basic classes)<strong>, </strong>this contains the analyst comments for Incident and Service Request class.</li>
</ul>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4403.Notification%20tamplate%20-%202.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4403.Notification-tamplate-_2D00_-2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4403.Notification%20tamplate%20-%202.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4403.Notification-tamplate-_2D00_-2.jpg" alt="" border="0" /></a></p>
<p>&nbsp;If you are sending notification for incidents,</p>
<ul>
<li>&nbsp;To get incident ID: Select <strong>&lsquo;Has Analyst Comment &lsquo;-&gt; WorkItem -&gt;ID</strong></li>
</ul>
<p>If you are sending notification for Service Request,</p>
<ul>
<li>&nbsp;To get SR ID: Select <strong>&lsquo;Work Item Has Comment &nbsp;Log&lsquo;-&gt; WorkItem -&gt; ID</strong></li>
</ul>
<p>&nbsp;Same way you can get the Title, Status fields from respective classes as mentioned above.</p>
<ul>
<li>&nbsp;To get the Assigned to user for Incident/Service Request</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6064.Notificaton%20Template-%203.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6064.Notificaton-Template_2D00_-3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6064.Notificaton%20Template-%203.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6064.Notificaton-Template_2D00_-3.jpg" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>To get the Analyst comments for Incident/Service Request. (<strong>Note: This will only include latest comment)</strong></li>
</ul>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5023.Notificaton%20Template-%204.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5023.Notificaton-Template_2D00_-4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5023.Notificaton%20Template-%204.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5023.Notificaton-Template_2D00_-4.jpg" alt="" border="0" /></a></p>
<ul>
<li>&nbsp;Do not forget to select<strong> &ldquo;Send as HTML&rdquo;</strong></li>
</ul>
<p><strong>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7635.Notificaton%20Template-%205.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7635.Notificaton-Template_2D00_-5.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7635.Notificaton%20Template-%205.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7635.Notificaton-Template_2D00_-5.jpg" alt="" border="0" /></a></strong></p>
<p>&nbsp;</p>
<p><strong>Step 2: </strong>Create Notification workflow (subscription)</p>
<ul>
<li><strong>&nbsp;</strong>Select <strong>&ldquo;When Object of selected class is created&rdquo;</strong> and Target class as <strong>&ldquo;Trouble Ticket Analyst Comments&rdquo;</strong></li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0447.sub%201.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0447.sub-1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0447.sub%201.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0447.sub-1.jpg" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Select the template that we created.</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2656.sub%202.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2656.sub-2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2656.sub%202.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2656.sub-2.jpg" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Add related Recipients</li>
</ul>
<p>&nbsp;For Incident</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5756.sub%203.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5756.sub-3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5756.sub%203.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5756.sub-3.jpg" alt="" border="0" /></a></p>
<p>&nbsp;For Service Request</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8715.sub%204.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8715.sub-4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8715.sub%204.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8715.sub-4.jpg" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>We are done with the creating the subscription/template for an action log update.</p>
<p>&nbsp;<span style="font-size: medium;"><strong>B) Scenario 2 &amp; 4</strong></span></p>
<p><strong>&nbsp;</strong>Same way we can create the notification subscription/template but target class will be <strong>&ldquo;Trouble Ticket User Comments&rdquo;</strong></p>
<p><span style="font-size: medium;"><strong>C) Scenario 5:</strong></span></p>
<p><strong>&nbsp;</strong>This blog&nbsp;provides the&nbsp;instruction to create the notification workflow for Incident assignment/re-assignment</p>
<p><a href="https://blogs.technet.com/b/servicemanager/archive/2009/12/15/custom-notification-workflow-on-incident-assignement-or-re-assignment.aspx">https://blogs.technet.com/b/servicemanager/archive/2009/12/15/custom-notification-workflow-on-incident-assignement-or-re-assignment.aspx</a></p>
<p><strong>&nbsp;</strong>We will modify this so that it will notify for Service Request assignment/re-assignment.</p>
<p>&nbsp;</p>
<p><strong>First let&rsquo;s understand how this MP works.</strong></p>
<p>This MP has two main sections that we need to understand before we make modification.</p>
<p>&nbsp;<strong>1.&nbsp;When to notify (criteria section)</strong></p>
<p>&nbsp;&nbsp;&lt;Rule ID="IncidentAssignmentChanges" Enabled="true" Target="SystemCenter!Microsoft.SystemCenter.SubscriptionWorkflowTarget" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;Category&gt;Discovery&lt;/Category&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;DataSources&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;DataSource ID="DS" TypeID="SystemCenter1!Microsoft.SystemCenter.CmdbInstanceSubscription.DataSourceModule"&gt;</p>
<p>&nbsp;&nbsp; &lt;Subscription&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;RelationshipSubscription RelType="$MPElement[Name='WorkItem!System.WorkItemAssignedToUser']$" SourceType="$MPElement[Name='CoreIncident!<span style="background-color: #ffff00;">System.WorkItem.Incident'</span>]$" TargetType="$MPElement[Name='System!System.Domain.User']$"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;AddRelationship&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/AddRelationship&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/RelationshipSubscription&gt;</p>
<p>&nbsp;<strong>Only change will be SourceType.</strong></p>
<p>&nbsp;&nbsp;&lt;Rule ID="ServiceRequestAssignmentChanges" Enabled="true" Target="SystemCenter!Microsoft.SystemCenter.SubscriptionWorkflowTarget" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;Category&gt;Discovery&lt;/Category&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;DataSources&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;DataSource ID="DS" TypeID="SystemCenter1!Microsoft.SystemCenter.CmdbInstanceSubscription.DataSourceModule"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Subscription&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;RelationshipSubscription RelType="$MPElement[Name='WorkItem!System.WorkItemAssignedToUser']$" SourceType="$MPElement[Name='WorkItem_ServiceRequest!System.<span style="background-color: #ffff00;">WorkItem.ServiceRequest'</span>]$" TargetType="$MPElement[Name='System!System.Domain.User']$"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;AddRelationship&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/AddRelationship&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/RelationshipSubscription&gt;</p>
<p>&nbsp;</p>
<p><strong>2.</strong><strong>&nbsp;&nbsp;&nbsp;</strong><strong>Whom to notify.</strong></p>
<p>&nbsp;This will decide whom to send the notification. This we can change based on the requirement.</p>
<p>&lt;WorkflowArrayParameter Name="UserAliasOrRelationships" Type="string"&gt;</p>
<p>&lt;Item&gt;$MPElement[Name='WorkItem!System.<span style="background-color: #ffff00;">WorkItemAssignedToUser</span>']$&lt;/Item&gt;</p>
<p>&lt;/WorkflowArrayParameter&gt;</p>
<p>&lt;/WorkflowParameters&gt;</p>
<p>&nbsp;</p>
<p>I have attached 2 MPs with this blog for all 5 scenarios.</p>
<p>&nbsp;</p>
<p>Have fun!</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9753/00/00/03/57/07/62/MPs.zip" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9753-00-00-03-57-07-62/MPs.zip">MPs.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>How to install Service Manager 2012 SP1 with a SQL 2012 AlwaysON Availability Groups?</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/how-to-install-service-manager-2012-sp1-with-a-sql-2012-alwayson-availability-groups</link>
      <pubDate>Sat, 16 Feb 2013 21:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2013/02/16/how-to-install-service-manager-2012-sp1-with-a-sql-2012-alwayson-availability-groups/</guid>
      <description><![CDATA[Note : SQL Server AlwaysOn Availability Groups functionality is supported by all versions of...]]></description>
      <content:encoded><![CDATA[<p><span style="color:#ff0000;"><strong>Note :</strong> SQL Server AlwaysOn Availability Groups functionality is supported by all versions of System&nbsp;Center&nbsp;2012&nbsp;&ndash;&nbsp;Service&nbsp;Manager for the default server instance. However, SQL AlwaysOn Availability Groups functionality is not supported for a named instance. </span><span style="color:#ff0000;">Refer TechNet : https://technet.microsoft.com/en-us/library/hh495585.aspx</span></p>
<p><span style="color:#ff0000;">&nbsp;</span></p>
<p>In this blog post, I walk you through the steps to install Service Manager 2012 SP1 with a SQL 2012 AlwaysON Availability Groups.</p>
<p>First, let&rsquo;s understand the two scenarios for using SQL AlwaysON availability Groups for Service Manager.</p>
<ol>
<li>Service Manager is already installed.</li>
<li>New installation of Service Manager.</li>
</ol>
<p>In first scenario, we need to create availability group for already installed Service Manager Database and follow the Service Manager Database movement process (<a href="/b/servicemanager/archive/2012/04/22/moving-the-service-manager-and-dw-databases.aspx">link</a>) and use availability group listener as new SQL server name.</p>
<p>For second scenario, create availability group and use availability group listener name as SQL server name for installing service manager.</p>
<p><strong>Here are the high level steps:</strong></p>
<ol>
<li>Install two node windows server 2012 cluster.</li>
<li>Install SQL Server 2012 on both the nodes.</li>
<li>Create and configure AlwaysON Availability Group.</li>
<li>Pre-requisite for Service Manager 2012 SP1 install on SQL AlwaysON.</li>
<li>Install Service Manager.</li>
<li>Test failover.</li>
</ol>
<p><strong>Let&rsquo;s start with brief overview of SQL AlwaysON Availability Groups</strong></p>
<p>An availability group supports a failover environment for a discrete set of user databases, known as availability databases that fail over together. An availability group supports a set of primary databases and one to four sets of corresponding secondary databases. Availability groups leverage Windows Server Failover Clustering (WSFC) functionality and enable multiple features not available in database mirroring.</p>
<p>Please refer this (<a href="https://technet.microsoft.com/library/ff877884(v=SQL.110).aspx">link</a>) TechNet for&nbsp;the details on SQL AlwaysON Availability Groups.</p>
<p><strong>Step 1: &nbsp;</strong></p>
<p>Setup windows Server 2012 cluster, I recently wrote a blog on installing windows cluster on virtual machines.<strong></strong></p>
<p><a href="/b/babulalghule/archive/2013/02/16/how-to-configure-two-node-windows-server-2012-cluster-on-virtual-machines-for-testing.aspx">https://blogs.technet.com/b/babulalghule/archive/2013/02/16/how-to-configure-two-node-windows-server-2012-cluster-on-virtual-machines-for-testing.aspx</a></p>
<p><strong>Step 2:</strong></p>
<p>Install SQL Server 2012 on both the nodes with SQL Service running on domain account.</p>
<p>For detailed pre-requisite for SQL AlwaysON Availability Groups refer this <a href="https://technet.microsoft.com/en-US/library/ff878487">link</a>.</p>
<p><strong>Step 3:</strong></p>
<p><strong>Enable SQL alwaysON feature on both the nodes.</strong></p>
<ul>
<li>SQL Server Configuration Manager -&gt; SQL Server Services -&gt; Open properties of the SQL Service</li>
<li>Click on &ldquo;AlwaysON High Availability&rdquo; tab and check &ldquo;Enable AlwaysON Availability Groups&rdquo; and restart SQL Service for changes to take effect.</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3108.EnableSQLAlwaysON.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3108.EnableSQLAlwaysON.jpg"><img width="388" height="215" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3108.EnableSQLAlwaysON.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3108.EnableSQLAlwaysON.jpg" border="0" /></a></p>
<p>&nbsp;<br />&nbsp;</p>
<p><strong>Create SQL AlwaysON Availability Group</strong></p>
<p><strong>Pre-Requisite:</strong></p>
<ul>
<li>Need minimum one database to create availability group.</li>
<li>Any databases that you are planning to add to availability groups should have <strong>&ldquo;Full&rdquo; </strong>recovery<strong> </strong>mode.</li>
<li>Take the full backup of database which you&nbsp;are adding to the availability groups.</li>
<li>Need shared network location which is accessible to both the nodes.</li>
</ul>
<p>We will create sample database in order to create availability group for Service Manager Installation.</p>
<ul>
<li>Create Sample database with full recovery mode and take the full backup of the database.</li>
<li>Create shared network location</li>
</ul>
<p>I&rsquo;m using same windows cluster setup which is described on this <a href="/b/babulalghule/archive/2013/02/16/how-to-configure-two-node-windows-server-2012-cluster-on-virtual-machines-for-testing.aspx">blog</a>&nbsp;post.</p>
<ul>
<li>Created share (\\iSCSITarget\SQLAlwaysON) on my iSCSI target server from Server Manager -&gt; File and Storage Services -&gt; Shares.</li>
</ul>
<p><strong>Create Availability Group </strong>(Refer this <a href="https://msdn.microsoft.com/en-us/library/hh403415.aspx">link</a> for details)<strong></strong></p>
<ul>
<li>Open SQL Management studio on any of the SQL Server node.</li>
<li>AlwaysON High Availability -&gt; right click on Availability Groups&nbsp; and select &ldquo;New Availability Group Wizard&rdquo;.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0042.NewAvaalabilityGroupWizard.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0042.NewAvaalabilityGroupWizard.jpg"><img width="381" height="307" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0042.NewAvaalabilityGroupWizard.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0042.NewAvaalabilityGroupWizard.jpg" border="0" /></a>&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>Specify Availability Group Name.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6038.AGName.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6038.AGName.jpg"><img width="424" height="213" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6038.AGName.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6038.AGName.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Select <strong>SampleDB </strong>on databases selection tab.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1856.SelectDB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1856.SelectDB.jpg"><img width="434" height="246" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1856.SelectDB.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1856.SelectDB.jpg" border="0" /></a></p>
<ul>
<li>Add secondary SQL node on Specify Replicas tab.</li>
</ul>
<p><br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0882.SpecifyReplica.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0882.SpecifyReplica.jpg"><img width="437" height="284" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0882.SpecifyReplica.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0882.SpecifyReplica.jpg" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0363.SelectSecondNode.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0363.SelectSecondNode.jpg"><img width="437" height="346" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0363.SelectSecondNode.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0363.SelectSecondNode.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Select the options on each of the four tabs (Replicas, Endpoints, Backup preferences and listener) which suit your requirement. This TechNet <a href="https://msdn.microsoft.com/en-us/library/hh213088.aspx#ReplicasTab">link</a>&nbsp;has very good explanations on all four tabs and options available.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4010.relicas2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4010.relicas2.jpg"><img width="495" height="299" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4010.relicas2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4010.relicas2.jpg" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4401.backuppref.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4401.backuppref.jpg"><img width="492" height="333" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4401.backuppref.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4401.backuppref.jpg" border="0" /></a></p>
<p><br />&nbsp;</p>
<ul>
<li>On Listener tab select Create an availability group listener.</li>
</ul>
<p><strong>&nbsp;Listener DNS Name:</strong> Specify the network name of the listener. This name must be&nbsp;unique on the domain and can contain only alphanumeric characters, dashes&nbsp; (<strong>-</strong>), and hyphens (<strong>_</strong>), in any order. When specified&nbsp;by using the Listener tab, the DNS name can up to 15 characters long.</p>
<p><span style="color:#000000;background-color:#ffffff;"><strong>&nbsp;This DNS Name will be used as SQL Server Name for Service Manager Installation.</strong></span></p>
<p>&nbsp;<strong>Port: </strong>Specify the TPC port used by this listener.</p>
<p><strong>&nbsp;This port will be used as SQL Server port for Service Manager Communications with database.</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5873.listener.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5873.listener.jpg"><img width="487" height="290" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5873.listener.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5873.listener.jpg" border="0" /></a>&nbsp;&nbsp;&nbsp;&nbsp; <strong></strong></p>
<p><br />&nbsp;</p>
<ul>
<li>On Initial Data Synchronization page, select option (Full, Join Only and Skip initial data synchronization) which suits your requirement. This TechNet <a href="https://msdn.microsoft.com/en-us/library/hh231021.aspx">link</a> has very good explanations on all three options available.</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6661.InitialDataSync.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6661.InitialDataSync.jpg"><img width="536" height="269" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6661.InitialDataSync.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6661.InitialDataSync.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>On Validation page, see if all success.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8322.validation.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8322.validation.jpg"><img width="522" height="251" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8322.validation.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8322.validation.jpg" border="0" /></a></p>
<ul>
<li>Click on Finish on Summary page and then click on Close to finish the availability group creation.</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In SQL Management studio, this availability group and listener will look like as below.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4857.SQLMgmt2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4857.SQLMgmt2.jpg"><img width="373" height="203" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4857.SQLMgmt2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4857.SQLMgmt2.jpg" border="0" /></a></p>
<p>On Failover cluster Manager, it will appear under Roles.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4478.fcm1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4478.fcm1.jpg"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/4478.fcm1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/4478.fcm1.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Now, it&rsquo;s time to install Service Manager</strong></p>
<ul>
<li>Follow the planning and deployment guides for all the standard Service Manager installation pre-requisite.</li>
<li>During the installation specify the Database server as Availability Group listener DNS name.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3482.SMDBPage.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3482.SMDBPage.jpg"><img width="532" height="252" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3482.SMDBPage.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3482.SMDBPage.jpg" border="0" /></a></p>
<ul>
<li>And complete the installation steps as per the service manager deployment guide.</li>
</ul>
<p><strong></strong>&nbsp;</p>
<p><strong>Configure Service Manager Database for Availability Groups</strong></p>
<ul>
<li>Service Manager Installation using the SQL availability group listener does not configure Service Manager Database in availability groups.</li>
<li>To configure Service Manager database in availability group, change the recovery model (refer this <a href="https://msdn.microsoft.com/en-us/library/ms189275.aspx">link</a> for details on Recover Model) from <strong>Simple </strong>to<strong> Full</strong></li>
<li>Take full backup of Service Manager Database.</li>
<li>Right click on Availability Databases -&gt; &nbsp;Add Database wizard and follow the instruction on wizard to add Service Manager Database to the Availability Databases.</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7607.AddDB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7607.AddDB.jpg"><img width="384" height="438" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7607.AddDB.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7607.AddDB.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Verify that if you see the Service Manager database on secondary node.</li>
</ul>
<p><br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6431.node2DB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6431.node2DB.jpg"><img width="398" height="438" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/6431.node2DB.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/6431.node2DB.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Now, it&rsquo;s time to test Service Manager Database failover</strong></p>
<ul>
<li>Open failover cluster manager and verify the owner node.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2654.FCM2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2654.FCM2.jpg"><img width="529" height="250" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2654.FCM2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2654.FCM2.jpg" border="0" /></a></p>
<ul>
<li>Right click on availability group and move to secondary node.</li>
<li>If you are using immediate failback option then this will immediately failback to primary.</li>
</ul>
<p>In my case I&rsquo;m using prevent failback.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7288.AGProperty.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7288.AGProperty.jpg"><img width="397" height="540" alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7288.AGProperty.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7288.AGProperty.jpg" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Open Service Manager Console and verify if everything is working fine after failover.</li>
<li>After failover I got few errors in the OpsMgr logs, first thing I provided permission for Service Manager SDK service account on SM database on secondary node.</li>
<li>Restarted the SDK restart and got the below error.</li>
</ul>
<p><span style="font-size:x-small;">Log Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Operations Manager</span></p>
<p><span style="font-size:x-small;">Source:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataAccessLayer</span></p>
<p><span style="font-size:x-small;">Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16-02-2013 12:37:17</span></p>
<p><span style="font-size:x-small;">Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33333</span></p>
<p><span style="font-size:x-small;">Task Category: None</span></p>
<p><span style="font-size:x-small;">Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Warning</span></p>
<p><span style="font-size:x-small;">Keywords:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classic</span></p>
<p><span style="font-size:x-small;">User:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N/A</span></p>
<p><span style="font-size:x-small;">Computer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SCSMSP1.monlab.com</span></p>
<p><span style="font-size:x-small;">Description: </span><span style="font-size:x-small;">Data Access Layer rejected retry on </span><span style="font-size:x-small;">SqlError:&nbsp;</span><span style="font-size:x-small;">&nbsp;Request: ObjectTemplateByCriteria --</span><br /><span style="font-size:x-small;">(LanguageCode1=ENN), (LanguageCode2=ENU), </span><span style="font-size:x-small;">(TypeID0=4b1e00f8-1f3d-ad95-acdb-5587b3cf7147), (LastModified0=16-02-2013</span><br /><span style="font-size:x-small;">19:43:53)</span></p>
<p><span style="font-size:x-small;">&nbsp;Class: 16</span></p>
<p><span style="font-size:x-small;">&nbsp;Number: 6263</span></p>
<p><span style="background-color:#ffff00;"><span style="font-size:x-small;">&nbsp;Message: Execution of user code in the .NET Framework is disabled. </span><span style="font-size:x-small;">Enable &quot;clr enabled&quot; configuration option</span>.</span></p>
<p>&nbsp;&nbsp;</p>
<ul>
<li>Executed below query on secondary node</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sp_configure &#39;clr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enabled&#39;, 1</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reconfigure</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; go</p>
<p>&nbsp;</p>
<p>I forgot to run this SQL query on secondary node before attempting to failover.</p>
<p>Now everything&nbsp;works as expected.</p>
<p>&nbsp;</p>
<p>Hope this helps!</p>]]></content:encoded>
    </item>
    <item>
      <title>How to configure two node Windows Server 2012 cluster on Virtual Machines for testing?</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/how-to-configure-two-node-windows-server-2012-cluster-on-virtual-machines-for-testing</link>
      <pubDate>Sat, 16 Feb 2013 02:44:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2013/02/16/how-to-configure-two-node-windows-server-2012-cluster-on-virtual-machines-for-testing/</guid>
      <description><![CDATA[In this blog post, I walk you through the steps to quickly setup windows server 2012 cluster on...]]></description>
      <content:encoded><![CDATA[<p>In this blog post, I walk you through the steps to quickly setup windows server 2012 cluster on virtual machines in test lab.</p>
<p>To start with, we need 3 windows server 2012 virtual machines. Out of 3, one will be used as an iSCSI target (<a href="https://blogs.technet.com/b/filecab/archive/2012/05/21/introduction-of-iscsi-target-in-windows-server-2012.aspx">details on iSCSI target</a>) and other two will be part of the two node windows cluster.</p>
<p><strong>Step 1: Configure iSCSI target</strong></p>
<p><strong>Pre-requisite</strong></p>
<ul>
<li>Created Virtual Machine with Windows Server 2012 OS</li>
<li>Joined to my test lab domain</li>
<li>Added extra virtual hard disk (100 GB) to this machine which I will use as shared storage</li>
</ul>
<p><strong>Install the iSCSI Target Server feature</strong></p>
<ul>
<li>Add Roles and Features Wizard -&gt; Server Roles -&gt; File and Storage Services -&gt; File and iSCSI Service</li>
<li>Select iSCSI Target Server and then click on Add Features</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5102.iSCSITarget.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5102.iSCSITarget.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5102.iSCSITarget.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5102.iSCSITarget.jpg" alt="" width="437" height="248" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5672.iSCSITarget-AddFeatures.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5672.iSCSITarget_2D00_AddFeatures.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5672.iSCSITarget-AddFeatures.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5672.iSCSITarget_2D00_AddFeatures.jpg" alt="" width="399" height="260" border="0" /></a></p>
<p>&nbsp;&nbsp;</p>
<ul>
<li style="text-align: left;">Restart the virtual machine to complete the feature installation.</li>
</ul>
<p>&nbsp;<strong>Start iSCSI Initiator on the two Cluster nodes</strong></p>
<ul>
<li>Server Manager -&gt; Tools -&gt; Click on the iSCSI Initiator</li>
<li>Click on yes to start the iSCSI service and then click on OK on iSCSI Initiator property window</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5430.iSCSIInitiator.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5430.iSCSIInitiator.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5430.iSCSIInitiator.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5430.iSCSIInitiator.jpg" alt="" width="361" height="146" border="0" /></a></p>
<p><strong>&nbsp;</strong></p>
<p><strong>Configure iSCSI Target Server</strong></p>
<ul>
<li>Server Manager -&gt; File and Storage Services -&gt; iSCSI</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7450.ConfigureISCSITarget-1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7450.ConfigureISCSITarget_2D00_1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7450.ConfigureISCSITarget-1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7450.ConfigureISCSITarget_2D00_1.jpg" alt="" width="463" height="198" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Click on<strong> &ldquo;To Create an iSCSI virtual disk, start the new iSCSI virtual Disk Wizard&rdquo;.</strong></li>
</ul>
<p>This disk will be used as a shared disk on the two cluster nodes.</p>
<ul>
<li>Select the storage location and click Next</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3324.ConfigureISCSITarget-2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3324.ConfigureISCSITarget_2D00_2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3324.ConfigureISCSITarget-2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3324.ConfigureISCSITarget_2D00_2.jpg" alt="" width="425" height="366" border="0" /></a></p>
<ul>
<li>Provide the name for this iSCSI virtual disk</li>
<li>Specify iSCSI virtual disk size</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8664.ConfigureISCSITarget-3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8664.ConfigureISCSITarget_2D00_3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8664.ConfigureISCSITarget-3.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8664.ConfigureISCSITarget_2D00_3.jpg" alt="" width="430" height="149" border="0" /></a></p>
<ul>
<li>Create the iSCSI target</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1004.ConfigureISCSITarget-4.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1004.ConfigureISCSITarget_2D00_4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1004.ConfigureISCSITarget-4.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1004.ConfigureISCSITarget_2D00_4.jpg" alt="" width="437" height="337" border="0" /></a></p>
<ul>
<li>Provide the suitable name for iSCSI target, I&rsquo;m using server name as iSCSI target name</li>
<li>Add the servers who can access this iSCSI storage</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3187.ConfigureISCSITarget-5.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3187.ConfigureISCSITarget_2D00_5.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3187.ConfigureISCSITarget-5.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3187.ConfigureISCSITarget_2D00_5.jpg" alt="" width="399" height="514" border="0" /></a></p>
<p>&nbsp;&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3364.ConfigureISCSITarget-6.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3364.ConfigureISCSITarget_2D00_6.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3364.ConfigureISCSITarget-6.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3364.ConfigureISCSITarget_2D00_6.jpg" alt="" width="497" height="182" border="0" /></a></p>
<ul>
<li>Click Next on Enable Authentication</li>
<li>Click create on Confirmation tab and on successful completion, you will see below screen</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7115.ConfigureISCSITarget-7.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7115.ConfigureISCSITarget_2D00_7.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7115.ConfigureISCSITarget-7.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7115.ConfigureISCSITarget_2D00_7.jpg" alt="" width="399" height="257" border="0" /></a></p>
<p><strong>&nbsp;</strong></p>
<p><strong>Configure iSCSI initiator on both nodes</strong></p>
<ul>
<li>Server Manager -&gt; Tools -&gt; iSCSI initiator</li>
<li>Type the target server name and click on Quick Connect</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7587.ConfigureISCSIInitiator-1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7587.ConfigureISCSIInitiator_2D00_1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/7587.ConfigureISCSIInitiator-1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/7587.ConfigureISCSIInitiator_2D00_1.jpg" alt="" width="367" height="244" border="0" /></a></p>
<ul>
<li>If connection successful, you will see below screen</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8737.ConfigureISCSIInitiator-2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8737.ConfigureISCSIInitiator_2D00_2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8737.ConfigureISCSIInitiator-2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8737.ConfigureISCSIInitiator_2D00_2.jpg" alt="" width="365" height="505" border="0" /></a></p>
<p><strong>&nbsp;</strong></p>
<p><strong>Configure the Disks on the iSCSI initiators i.e. Cluster Nodes</strong></p>
<ul>
<li>Server Manager -&gt; Computer Management -&gt; Disk Management</li>
<li>Select the disk and make it online and then initialize it.</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8865.OnlineDisk.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8865.OnlineDisk.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8865.OnlineDisk.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8865.OnlineDisk.jpg" alt="" width="395" height="106" border="0" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5314.InitializeDisk.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5314.InitializeDisk.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5314.InitializeDisk.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5314.InitializeDisk.jpg" alt="" width="393" height="141" border="0" /></a></p>
<ul>
<li>Create the simple volume</li>
<li>Also on other node, make the disk online</li>
<li>Now this disk will be visible on both the nodes</li>
</ul>
<p><strong>Installing Windows Cluster</strong></p>
<ul>
<li>On Both the nodes install Failover Clustering feature from Server Manager -&gt; Add Roles and Features -&gt; Features</li>
<li>Login to one of the node and open the Failover cluster Manager (Server Manager -&gt; Tools)</li>
<li>Click on Validate configuration</li>
<li>Add both the node names and run the validation test.</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5850.Cluster1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5850.Cluster1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5850.Cluster1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5850.Cluster1.jpg" alt="" width="392" height="330" border="0" /></a></p>
<ul>
<li>After validation tests are successful, click on finish to create the cluster</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0564.Cluster2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0564.Cluster2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0564.Cluster2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0564.Cluster2.jpg" alt="" width="397" height="349" border="0" /></a></p>
<ul>
<li>Provide the suitable name for your cluster</li>
</ul>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3771.Cluster3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3771.Cluster3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3771.Cluster3.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3771.Cluster3.jpg" alt="" width="407" height="190" border="0" /></a></p>
<ul>
<li>Click Next on Confirmation and Create New Cluster tabs and click on finish once the creation is complete.</li>
</ul>
<p>&nbsp;</p>
<p>Now cluster is ready to use, have fun!</p>]]></content:encoded>
    </item>
    <item>
      <title>How to create alternate URL for Service Manager Self Service Portal?</title>
      <link>https://docs.microsoft.com/archive/blogs/babulalghule/how-to-create-alternate-url-for-service-manager-self-service-portal</link>
      <pubDate>Thu, 10 Jan 2013 06:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Babulal Ghule]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/babulalghule/2013/01/10/how-to-create-alternate-url-for-service-manager-self-service-portal/</guid>
      <description><![CDATA[In this blog post, I will walk you through the scenario where Web Content Server (WCS) and...]]></description>
      <content:encoded><![CDATA[<p>In this blog post, I will walk you through the scenario where Web Content Server (WCS) and SharePoint web parts are on different servers.</p>
<p>First, let&rsquo;s understand how self-service portal works.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1307.Dataflow.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1307.Dataflow.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1307.Dataflow.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1307.Dataflow.png" alt="" width="318" height="163" border="0" /></a></p>
<p>&nbsp;<strong>The flow of data is as follows:</strong><strong>&nbsp;</strong></p>
<ol>
<li>The client accesses the Self-Service Portal with a browser by specifying the URL for the SharePoint server.</li>
<li>The SharePoint server returns Silverlight code that creates a web page containing the basic framework of the Self-Service Portal and also the URL for the web content server computer. The URL for the web content server computer was defined when you installed the Self-Service Portal.</li>
<li>The client computer, which is now running the Silverlight code, makes a connection to the web content server computer using the URL in step 2.</li>
<li>The web content server computer reads and writes data to the Service Manager database. The computer name for the Service Manager Database was defined when you installed the web content server.</li>
<li>The web content server computer returns the data that makes up the center pane on the Self-Service Portal page.</li>
</ol>
<p>&nbsp;<strong>If you install Self-Service Portal (SSP) with SSL, things to remember.</strong></p>
<ul>
<li>The certificates that you use for the Self-Service Portal must be issued from a Certification Authority that is trusted by the client.</li>
<li>The name on the certificate for the SharePoint website server must match the URL that your users enter into the browser. For example, if the user types the URL <a href="https://portal/SMPortal">https://ServiceDesk/SMPortal</a>, then the certificate must have been issued to&nbsp;<strong>ServiceDesk</strong> and not to FQDN, for example, <strong>ServiceDesk.woodgrove.com</strong>.</li>
<li>The name on the certificate for the web content server must match the name that you entered when you deployed the SharePoint website server.</li>
</ul>
<p>&nbsp;If you are deploying both the SharePoint website server and web content server on the same computer, you need only one certificate. That one certificate will work for both ports. If you are deploying the SharePoint website server and web content server on different servers (which is recommended in a production environment), you will need one certificate for each computer.</p>
<p>Please refer these TechNet links for more details</p>
<p><a href="https://technet.microsoft.com/en-us/library/hh914195.aspx">https://technet.microsoft.com/en-us/library/hh914195.aspx</a></p>
<p><a href="https://technet.microsoft.com/en-us/library/hh667343.aspx">https://technet.microsoft.com/en-us/library/hh667343.aspx</a></p>
<p>&nbsp;</p>
<p><strong>Ok, let&rsquo;s continue with our scenario.</strong></p>
<p>I will&nbsp;install the WCS and SharePoint on two different servers and will use <a href="https://servicedesk/SMPortal">https://ServiceDesk/SMPortal</a> as my portal&nbsp;URL and not the <a href="https://%3cservername%3e/SMPortal">https://&lt;ServerName&gt;/SMPortal</a>.</p>
<p><strong>Step 1:</strong></p>
<p>We need to create the DNS record for <strong>ServiceDesk</strong> and point it to Service Manager Portal Server (in this scenario to the server where we will&nbsp;install SharePoint web parts).</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2287.DNSRecord.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2287.DNSRecord.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2287.DNSRecord.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2287.DNSRecord.png" alt="" width="417" height="240" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Step2:</strong></p>
<p>Here, we need to create two certificates one for WCS and other for alias name (Sharepoint server)</p>
<p>1. Create the certificate for this alias name.</p>
<p>For our scenario, I&rsquo;ll create it from IIS -&gt; Server Certificates -&gt; Create Domain Certificate</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8203.Cert.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8203.Cert.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/8203.Cert.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/8203.Cert.png" alt="" width="504" height="373" border="0" /></a></p>
<p>On next page you need to select CA.</p>
<p>When you create the certificate it will look like this</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1754.Cert2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1754.Cert2.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/1754.Cert2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/1754.Cert2.png" alt="" width="424" height="556" border="0" /></a></p>
<p><strong>Note:</strong> Issued to name should be same as URL</p>
<p>&nbsp;2. I'll use same method to create the certificate for&nbsp;WCS server (this certificate issued to name will be same as URL in&nbsp;the application settings on the SharepointServer)</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0317.WCSCert.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0317.WCSCert.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/0317.WCSCert.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/0317.WCSCert.png" alt="" width="424" height="581" border="0" /></a></p>
<p><strong>Sharepoint Server -&gt; IIS -&gt; Service Manager Portal -&gt; Application Settings</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2313.appsetting.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2313.appsetting.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/2313.appsetting.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/2313.appsetting.png" alt="" width="394" height="248" border="0" /></a></p>
<p><strong>Note :</strong> WCS certifcate issued to name and name in this URL should match.</p>
<p><strong>Step 3: Install SSP</strong></p>
<p>Install WCS, refer&nbsp;this link for details <a href="https://technet.microsoft.com/en-us/library/hh524264.aspx">https://technet.microsoft.com/en-us/library/hh524264.aspx</a></p>
<p>and then Install Sharepoint WebPart, refer this link for details <a href="https://technet.microsoft.com/en-us/library/hh495676.aspx">https://technet.microsoft.com/en-us/library/hh495676.aspx</a></p>
<p><strong>Step 4: </strong><strong>Configure the Alternate Access Mappings (AAM)</strong><strong></strong></p>
<p>Alternate Access Mappings (AAM) allows you to modify results URLs based on the access URLs for a site. For SSP we are using the URL as <strong>ServiceDesk</strong> and not server name so to allow this in SharePoint we need to configure AAM.</p>
<p>&nbsp;<strong>Steps to configure it: </strong><a href="https://technet.microsoft.com/en-us/sharepoint/ff679917.aspx">https://technet.microsoft.com/en-us/sharepoint/ff679917.aspx</a></p>
<p>SharePoint Central Administration -&gt; Application Management -&gt; Configure Alternate Mappings -&gt; Select the Service Manager Portal URL -&gt; Edit Public URLs -&gt; and update the alternate URL</p>
<p>&nbsp;</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5582.SP1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5582.SP1.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/5582.SP1.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/5582.SP1.png" alt="" width="685" height="232" border="0" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3581.SP2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3581.SP2.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/97/53/3581.SP2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-97-53/3581.SP2.png" alt="" width="486" height="300" border="0" /></a></p>
<p>Hope this helps!</p>]]></content:encoded>
    </item>
  </channel>
</rss>