<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>SCSMfaq.ch</title>
	<atom:link href="http://blog.scsmfaq.ch/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.scsmfaq.ch</link>
	<description>Everything System Center Service Manager</description>
	<lastBuildDate>Tue, 14 May 2013 20:04:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.scsmfaq.ch' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/3a308cd53efe73c70940181acb94cf36?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>SCSMfaq.ch</title>
		<link>http://blog.scsmfaq.ch</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.scsmfaq.ch/osd.xml" title="SCSMfaq.ch" />
	<atom:link rel='hub' href='http://blog.scsmfaq.ch/?pushpress=hub'/>
		<item>
		<title>SQL Query for Custom Reports &#8211; concatenate values in 1:many relationships</title>
		<link>http://blog.scsmfaq.ch/2013/05/14/sql-query-for-custom-reports-concatenate-values-in-1many-relationships/</link>
		<comments>http://blog.scsmfaq.ch/2013/05/14/sql-query-for-custom-reports-concatenate-values-in-1many-relationships/#comments</comments>
		<pubDate>Tue, 14 May 2013 15:10:04 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Reporting]]></category>
		<category><![CDATA[concatenate]]></category>
		<category><![CDATA[queries]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[report builder]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2300</guid>
		<description><![CDATA[As soon as it comes to custom reporting in Service Manager, you are sooner or later dealing with SQL queries to get the needed data out of the data warehouse and into your reports. One of my customers came up &#8230; <a href="http://blog.scsmfaq.ch/2013/05/14/sql-query-for-custom-reports-concatenate-values-in-1many-relationships/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2300&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As soon as it comes to custom reporting in Service Manager, you are sooner or later dealing with SQL queries to get the needed data out of the data warehouse and into your reports. One of my customers came up with the request for a business service report that allows him to display information about business services with all related objects, e.g. service owner, contacts, related items etc. Knowing the data warehouse model helps here, but there are still some things that you have to take care about when it comes to reporting on 1:many relationships.</p>
<p><span id="more-2300"></span>
<p>So lets go with the first query that gets Business Services together with some other properties and relationships out of the data warehouse.</p>
<blockquote><p>SELECT DISTINCT<br />SERVICE.DisplayName as &#8220;Display Name&#8221;,<br />USERCIOWNED.DisplayName as &#8220;Service Owner&#8221;,<br />USERCISERVICEDBY.DisplayName as &#8220;Service Contacts&#8221;,<br />USERCIIMPACT.DisplayName as &#8220;Service Customers&#8221;,<br />CIRELATED.DisplayName as &#8220;Related CIs&#8221;</p>
<p>FROM ServiceDimvw as SERVICE</p>
<p><font style="background-color:#ffff00;">&#8211; map serviceentitydimkey to configitementitydimkey to get configitemdimkey</font><br />INNER JOIN ConfigItemDimvw CIDIM ON SERVICE.EntityDimKey = CIDIM.EntityDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item owned by user &#8211;&gt; Service Owner</font><br />LEFT JOIN ConfigItemOwnedByUserFactvw CIOWNEDBY ON CIOWNEDBY.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN UserDimvw USERCIOWNED ON USERCIOWNED.UserDimKey=CIOWNEDBY.ConfigItemOwnedByUser_UserDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item serviced by user &#8211;&gt; Service Contact</font><br />LEFT JOIN ConfigItemServicedByUserFactvw CISERVICEDBY ON CISERVICEDBY.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN UserDimvw USERCISERVICEDBY ON USERCISERVICEDBY.UserDimKey=CISERVICEDBY.ConfigItemServicedByUser_UserDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item impacts user &#8211;&gt; Service Customers</font><br />LEFT JOIN ConfigItemImpactsCustomersFactvw CICUSTOMERS ON CICUSTOMERS.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN UserDimvw USERCIIMPACT ON USERCIIMPACT.UserDimKey=CICUSTOMERS.ConfigItemImpactsCustomers_UserDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item related to config item &#8211;&gt; Related Config Items</font><br />LEFT JOIN ConfigItemRelatesToConfigItemFactvw CICI on CICI.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN ConfigItemDimvw CIRELATED on CIRELATED.ConfigItemDimKey=CICI.ConfigItemRelatesToConfigItem_ConfigItemDimKey</p>
<p>WHERE SERVICE.displayname IS NOT NULL <br />ORDER by SERVICE.displayname</p>
</blockquote>
<p>The result looks something like this.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/05/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/05/image_thumb.png?w=244&#038;h=64" width="244" height="64"></a></p>
<p>The query returns all business services with some property values and relationships, but depending on the exact configuration of a business service, there can be multiple rows per business service because of normalization. If you have a business service that has 2 related items, the query will return two rows for that service, both rows holding one of the related items. When it comes to reporting this can be painful because there are no possibilities that allows you to group or concatenate all those information of a business service together and return it as one single line. So the query needs some modification. By using temporary tables to store query results, it is possible to concatenate the different values.</p>
<blockquote><p>SELECT DISTINCT<br />SERVICE.DisplayName as &#8220;Display Name&#8221;,<br />USERCIOWNED.DisplayName as &#8220;Service Owner&#8221;,<br />USERCISERVICEDBY.DisplayName as &#8220;Service Contacts&#8221;,<br />USERCIIMPACT.DisplayName as &#8220;Service Customers&#8221;,<br />CIRELATED.DisplayName as &#8220;Related CIs&#8221;</p>
</blockquote>
<blockquote><p>INTO ##Table1<br />FROM ServiceDimvw as SERVICE</p>
<p><font style="background-color:#ffff00;">&#8211; map serviceentitydimkey to configitementitydimkey to get configitemdimkey</font><br />INNER JOIN ConfigItemDimvw CIDIM ON SERVICE.EntityDimKey = CIDIM.EntityDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item owned by user &#8211;&gt; Service Owner</font><br />LEFT JOIN ConfigItemOwnedByUserFactvw CIOWNEDBY ON CIOWNEDBY.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN UserDimvw USERCIOWNED ON USERCIOWNED.UserDimKey=CIOWNEDBY.ConfigItemOwnedByUser_UserDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item serviced by user &#8211;&gt; Service Contact</font><br />LEFT JOIN ConfigItemServicedByUserFactvw CISERVICEDBY ON CISERVICEDBY.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN UserDimvw USERCISERVICEDBY ON USERCISERVICEDBY.UserDimKey=CISERVICEDBY.ConfigItemServicedByUser_UserDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item impacts user &#8211;&gt; Service Customers</font><br />LEFT JOIN ConfigItemImpactsCustomersFactvw CICUSTOMERS ON CICUSTOMERS.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN UserDimvw USERCIIMPACT ON USERCIIMPACT.UserDimKey=CICUSTOMERS.ConfigItemImpactsCustomers_UserDimKey</p>
<p><font style="background-color:#ffff00;">&#8211; config item related to config item &#8211;&gt; Related Config Items<br /></font>LEFT JOIN ConfigItemRelatesToConfigItemFactvw CICI on CICI.ConfigItemDimKey=CIDIM.ConfigItemDimKey<br />LEFT JOIN ConfigItemDimvw CIRELATED on CIRELATED.ConfigItemDimKey=CICI.ConfigItemRelatesToConfigItem_ConfigItemDimKey</p>
<p>WHERE SERVICE.displayname IS NOT NULL <br />ORDER by SERVICE.displayname</p>
<p>SELECT DISTINCT t1.[Display Name], [Service Owner_], [Service Contacts_], [Service Customers_], [Related CIs_]<br />INTO ##Table2 <br />FROM ##Table1 as t1</p>
<p>CROSS APPLY ( SELECT DISTINCT [Service Owner] + &#8216;, &#8216;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM ##table1 t2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE t2.[Display Name] = t1.[Display Name] <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR XML PATH(&#8221;) )&nbsp; T21 ( [Service Owner_] ) </p>
<p>CROSS APPLY ( SELECT DISTINCT [Service Contacts] + &#8216;, &#8216; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM ##table1 t3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE t3.[Display Name] = t1.[Display Name] <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR XML PATH(&#8221;) )&nbsp; T31 ( [Service Contacts_] ) </p>
<p>CROSS APPLY ( SELECT DISTINCT [Service Customers] + &#8216;, &#8216; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM ##table1 t4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE t4.[Display Name] = t1.[Display Name] <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR XML PATH(&#8221;) )&nbsp; T41 ( [Service Customers_] ) </p>
<p>CROSS APPLY ( SELECT DISTINCT [Related CIs] + &#8216;, &#8216; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM ##table1 t5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE t5.[Display Name] = t1.[Display Name] <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR XML PATH(&#8221;) )&nbsp; T51 ( [Related CIs_] ) </p>
<p><font style="background-color:#ffff00;">&#8211; clean commas</font><br />UPDATE ##table2 <br />SET [Service Owner_] = LEFT([Service Owner_], LEN([Service Owner_])-1)<br />WHERE LEN([Service Owner_]) &gt; 0</p>
<p>UPDATE ##table2 <br />SET [Service Contacts_] = LEFT([Service Contacts_], LEN([Service Contacts_])-1)<br />WHERE LEN([Service Contacts_]) &gt; 0</p>
<p>UPDATE ##table2 <br />SET [Service Customers_] = LEFT([Service Customers_], LEN([Service Customers_])-1)<br />WHERE LEN([Service Customers_]) &gt; 0</p>
<p>UPDATE ##table2 <br />SET [Related CIs_] = LEFT([Related CIs_], LEN([Related CIs_])-1)<br />WHERE LEN([Related CIs_]) &gt; 0</p>
<p>SELECT * FROM ##table2</p>
<p>DROP table ##table1<br />DROP table ##table2</p>
</blockquote>
<p>Here’s the result if you fire this query.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/05/image1.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/05/image_thumb1.png?w=244&#038;h=18" width="244" height="18"></a></p>
<p>This time, every business service only shows up once and all the values are concatenated. Now this query can be used to create your report, e.g. by using SQL Report Builder or something.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/05/image2.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/05/image_thumb2.png?w=244&#038;h=32" width="244" height="32"></a></p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2300&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/05/14/sql-query-for-custom-reports-concatenate-values-in-1many-relationships/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/05/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/05/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/05/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>System Center Universe DACH/Europe (SCU DACH) #SysCtr</title>
		<link>http://blog.scsmfaq.ch/2013/04/29/system-center-universe-dacheurope-scu-dach-sysctr/</link>
		<comments>http://blog.scsmfaq.ch/2013/04/29/system-center-universe-dacheurope-scu-dach-sysctr/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 20:23:22 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Non Technical]]></category>
		<category><![CDATA[DACH]]></category>
		<category><![CDATA[SCU]]></category>
		<category><![CDATA[System Center Universe]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2292</guid>
		<description><![CDATA[Have you ever heard of the famous System Center Universe (SCU) hosted by Catapult Systems? If not then it’s about time to visit http://www.systemcenteruniverse.com and check out the excellent content. After talking to Catapult Systems we decided to bring this &#8230; <a href="http://blog.scsmfaq.ch/2013/04/29/system-center-universe-dacheurope-scu-dach-sysctr/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2292&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Have you ever heard of the famous System Center Universe (SCU) hosted by Catapult Systems? If not then it’s about time to visit <a href="http://www.systemcenteruniverse.com">http://www.systemcenteruniverse.com</a> and check out the excellent content.</p>
<p>After talking to Catapult Systems we decided to bring this great event to Europe. We are now in the planning phase, talking to partners, speakers, sponsors etc. that are interested to partner with us and help making this event coming true. Visit the event web site where we will start publishing more information shortly!</p>
<p><a href="http://www.systemcenteruniverse.ch">http://www.systemcenteruniverse.ch</a></p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2292&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/04/29/system-center-universe-dacheurope-scu-dach-sysctr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>
	</item>
		<item>
		<title>Quick Info: Exchange Connector 3.0 is now RTM and finally supported!</title>
		<link>http://blog.scsmfaq.ch/2013/04/27/quick-info-exchange-connector-3-0-is-now-rtm-and-finally-supported/</link>
		<comments>http://blog.scsmfaq.ch/2013/04/27/quick-info-exchange-connector-3-0-is-now-rtm-and-finally-supported/#comments</comments>
		<pubDate>Sat, 27 Apr 2013 07:49:20 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Quick Info]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange connector]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[RTM]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2290</guid>
		<description><![CDATA[We had to go a long way, but now it’s finally here: the Exchange Connector 3.0 for Service Manager is now RTM and officially supported by Microsoft. You can download it from here –&#62; http://www.microsoft.com/en-us/download/details.aspx?id=38791 CheersMarcel<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2290&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>We had to go a long way, but now it’s finally here: the Exchange Connector 3.0 for Service Manager is now RTM and officially supported by Microsoft. You can download it from here –&gt; <a title="http://www.microsoft.com/en-us/download/details.aspx?id=38791" href="http://www.microsoft.com/en-us/download/details.aspx?id=38791">http://www.microsoft.com/en-us/download/details.aspx?id=38791</a></p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2290&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/04/27/quick-info-exchange-connector-3-0-is-now-rtm-and-finally-supported/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>
	</item>
		<item>
		<title>PDT &#8211; Install System Center in 1 (one) hour</title>
		<link>http://blog.scsmfaq.ch/2013/04/27/pdt-install-system-center-in-1-one-hour/</link>
		<comments>http://blog.scsmfaq.ch/2013/04/27/pdt-install-system-center-in-1-one-hour/#comments</comments>
		<pubDate>Sat, 27 Apr 2013 06:45:07 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[pdt]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[toolkit]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2286</guid>
		<description><![CDATA[If you are a Microsoft System Center enthusiast like me, then you are faced with the challenge to install all those products over and over again. Well, when using the PowerShell Deployment Toolkit this gets a bit easier because it &#8230; <a href="http://blog.scsmfaq.ch/2013/04/27/pdt-install-system-center-in-1-one-hour/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2286&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>If you are a Microsoft System Center enthusiast like me, then you are faced with the challenge to install all those products over and over again. Well, when using the PowerShell Deployment Toolkit this gets a bit easier because it helps you to deploy the complete suite in one hour – wow! I will post some additional information on how to use the PDT later on this blog. For now, enjoy this video (not recorded by me) or get more information here –&gt; <a title="http://blogs.technet.com/b/privatecloud/archive/2013/02/08/deployment-introducing-powershell-deployment-toolkit.aspx" href="http://blogs.technet.com/b/privatecloud/archive/2013/02/08/deployment-introducing-powershell-deployment-toolkit.aspx">http://blogs.technet.com/b/privatecloud/archive/2013/02/08/deployment-introducing-powershell-deployment-toolkit.aspx</a></p>
<p>Cheers<br />Marcel</p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:db80d871-2852-4dc9-a7fc-5f4d3bcb2733" class="wlWriterEditableSmartContent" style="float:none;margin:0;display:inline;padding:0;">
<div><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='448' height='252' src='http://www.youtube.com/embed/Es2RPl-BYtk?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;hd=1&#038;wmode=transparent' frameborder='0'></iframe></span></div>
<div style="width:448px;clear:both;font-size:.8em;">PowerShell Deployment Toolkit in Action</div>
</div>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2286&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/04/27/pdt-install-system-center-in-1-one-hour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>
	</item>
		<item>
		<title>Another Intake Form &#8211; less pain in this (Service Manager) world</title>
		<link>http://blog.scsmfaq.ch/2013/04/22/another-intake-form-less-pain-in-this-service-manager-world/</link>
		<comments>http://blog.scsmfaq.ch/2013/04/22/another-intake-form-less-pain-in-this-service-manager-world/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 20:09:57 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Incidents]]></category>
		<category><![CDATA[Service Requests]]></category>
		<category><![CDATA[Tasks]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[intake]]></category>
		<category><![CDATA[task]]></category>
		<category><![CDATA[ticket]]></category>
		<category><![CDATA[wizard]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2283</guid>
		<description><![CDATA[Service Desk employees are often faced with the situation that they do not know if the user that is calling is reporting an incident or has a request for service. By using a good questioning technique he can try to &#8230; <a href="http://blog.scsmfaq.ch/2013/04/22/another-intake-form-less-pain-in-this-service-manager-world/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2283&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Service Desk employees are often faced with the situation that they do not know if the user that is calling is reporting an incident or has a request for service. By using a good questioning technique he can try to find out what the caller really wants and can then open the correct ticket. But until it is clear what the caller really needs or wants, no ticket can be opened because the decision if it will be an Incident Request or a Service Request must be made first. There is no out of the box “conversion” if the ticket afterwards. So how to deal with that?</p>
<p><span id="more-2283"></span><br /> 
<p>To make a Service Desk employees life easier we created an Intake Form that allows to register all relevant information <strong>before</strong> making choice about the correct ticket type. The information can be entered in some form and at the very end the employee can choose if it is an Incident or a Service Request. If needed, the requests can also be resolved/completed immediately (quick fix).</p>
<p>The Intake Form is started from the tasks pane.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/04/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/04/image_thumb.png?w=244&#038;h=135" width="244" height="135"></a></p>
<p>Now some information needs to be filled out. At the end, the selection about the ticket type can be made.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/04/image1.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/04/image_thumb1.png?w=226&#038;h=244" width="226" height="244"></a></p>
<p>When “OK” is hit, the selected request is created. If it is not resolved/completed automatically, the ticket is opened and more information can be added if needed.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/04/image2.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/04/image_thumb2.png?w=244&#038;h=121" width="244" height="121"></a></p>
<p>Another thing that makes a Service Desk guys life easier …</p>
<p>Credits to Stefan Johner (<a href="http://scsmlab.com">http://scsmlab.com</a>, @scsmlab), one of our Cloud Engineers who build the form and and logic behind. Also many thanks to Kurt van Hoecke (<a href="http://authoringfriday.com">http://authoringfriday.com</a>, @BunkCo) and Rob Ford (<a href="http://scsmnz.net">http://scsmnz.net</a>, @Manxferdey) for the great input and the interesting discussions around this topic.</p>
<p>For a more complex example of an intake form check this link –&gt; <a title="http://www.authoringfriday.com/2013/04/14/scsm-showcase-incident-request-intake-task/" href="http://www.authoringfriday.com/2013/04/14/scsm-showcase-incident-request-intake-task/">http://www.authoringfriday.com/2013/04/14/scsm-showcase-incident-request-intake-task/</a></p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2283&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/04/22/another-intake-form-less-pain-in-this-service-manager-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/04/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/04/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/04/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>MVP 2013 &#8220;System Center Cloud and Datacenter Management&#8221; &#8211; #MVP #MVPBuzz rocks!</title>
		<link>http://blog.scsmfaq.ch/2013/04/01/mvp-2013-system-center-cloud-and-datacenter-management-mvp-mvpbuzz-rocks/</link>
		<comments>http://blog.scsmfaq.ch/2013/04/01/mvp-2013-system-center-cloud-and-datacenter-management-mvp-mvpbuzz-rocks/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 15:49:46 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Non Technical]]></category>
		<category><![CDATA[award]]></category>
		<category><![CDATA[mvp]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2271</guid>
		<description><![CDATA[Today I received one of the most important Mails of the year My MVP Status was renewed for another year! The MVP program allows you to get in touch with lots of specialists, enthusiasts and geeks, some of them becoming &#8230; <a href="http://blog.scsmfaq.ch/2013/04/01/mvp-2013-system-center-cloud-and-datacenter-management-mvp-mvpbuzz-rocks/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2271&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Today I received one of the most important Mails of the year <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smiley" src="http://scsmfaq.files.wordpress.com/2013/04/wlemoticon-smile.png?w=640"> My MVP Status was renewed for another year!</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/04/mvp_small.png"><img title="MVP_small" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="MVP_small" src="http://scsmfaq.files.wordpress.com/2013/04/mvp_small_thumb.png?w=244&#038;h=101" width="244" height="101"></a></p>
<p>The MVP program allows you to get in touch with lots of specialists, enthusiasts and geeks, some of them becoming good friends over time. I really enjoy to be part of this family and am looking forward for an other exciting year!</p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2271&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/04/01/mvp-2013-system-center-cloud-and-datacenter-management-mvp-mvpbuzz-rocks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/04/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smiley</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/04/mvp_small_thumb.png" medium="image">
			<media:title type="html">MVP_small</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;How to create HP ProLiant objects manually in the CMDB&#8221;</title>
		<link>http://blog.scsmfaq.ch/2013/03/15/how-to-create-hp-proliant-objects-manually-in-the-cmdb/</link>
		<comments>http://blog.scsmfaq.ch/2013/03/15/how-to-create-hp-proliant-objects-manually-in-the-cmdb/#comments</comments>
		<pubDate>Fri, 15 Mar 2013 16:42:15 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Classes and Relations]]></category>
		<category><![CDATA[Managing Objects]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[proliant]]></category>
		<category><![CDATA[relation]]></category>
		<category><![CDATA[relationship]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2269</guid>
		<description><![CDATA[Many of my customers start their Service Manager implementation by implementing Configuration Management first. This indeed makes sense, because as soon as objects and relationships are available in the CMDB and under change control, they know what’s going on behind &#8230; <a href="http://blog.scsmfaq.ch/2013/03/15/how-to-create-hp-proliant-objects-manually-in-the-cmdb/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2269&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Many of my customers start their Service Manager implementation by implementing Configuration Management first. This indeed makes sense, because as soon as objects and relationships are available in the CMDB and under change control, they know what’s going on behind the scenes and get the needed transparency for the infrastructure and their services. And of course they have an excellent base for supporting their processes, e.g. Change Management, Incident Management or Request Fulfillment. The big question here is how all these objects and relations are brought to the CMDB. Well, we all know that one cool thing about Service Manager is the fact that we have different connectors available to easily bring objects from ADDS, SCCM or SCOM to the CMDB.</p>
<p>The HP ProLiant Management Pack for SCOM discovers physical ProLiant Servers and monitors them. By using the SCOM connector in SCSM you have all those Servers in the CMDB within minutes. But I often face customers that either do not have all ProLiant Server monitored by SCOM or are running older ProLiant Server for ESX (why ever …) that are not discovered. One thing you might think of is “Hey easy, I just create these ProLiant CIs manually in the Service Manager console”. Good thought, but impossible.</p>
<p><span id="more-2269"></span>
<p>When ProLiant objects are synched from SCOM to SCSM, you can create views as needed to display those &#8211; easy as 1-2-3.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/03/image_thumb.png?w=244&#038;h=146" width="244" height="146"></a></p>
<p>Once there, you will also get a “Create HP ProLiant Server” task. Hit it to create a new object … bummer! You will get an error message telling that this is not possible because the objects of the ProLiant class are somehow hosted and there’s no hosting object present.</p>
<p>Let’s investigate this a little bit. When looking out for relationships you will soon find a relationship called “Windows Computer Hosts HP ProLiant Server”. It seems that you first need a Windows Computer object that will later host the ProLiant object. Unfortunately this cannot be configured in the GUI. So we need some PowerShell magic, a script that will create a Windows Computer object and a hosted HP ProLiant Server object at the same time. Sounds easy? Not that easy, but here are the steps you need. </p>
<blockquote><p>Keep in mind that you can use this procedure not only for HP ProLiant Server objects but for any kind of other objects where you run into the same thing.</p>
</blockquote>
<p><em></em>&nbsp;</p>
<p><strong>Step 1 – Create a Type Projection for the creation process</strong></p>
<p>Because we will have to create both objects at the same time, we need to create a Type Projection with the Windows Computer class as the seed class and the relation to the HP ProLiant Server object. This could look something like this.</p>
<blockquote><p>&lt;TypeProjection ID=&#8221;itnetx.HPProLiant.TypeProjection&#8221; Accessibility=&#8221;Public&#8221; Type=&#8221;WindowsLibrary!Microsoft.Windows.Computer&#8221;&gt;</p>
</blockquote>
<blockquote><p>&lt;Component Path=&#8221;$Target/Path[Relationship='HPProLiant!HewlettPackard.Servers.ProLiant.WindowsComputerHostsHPProLiantServer']$&#8221; Alias=&#8221;HasHPProLiantServer&#8221; /&gt;
<p>&lt;/TypeProjection&gt;</p>
</blockquote>
<p>Make sure you have the needed references in the MP, then seal and import the MP.</p>
<p>&nbsp;</p>
<p><strong>Step 2 – Create the script</strong></p>
<p>This is how the script could look like.</p>
<blockquote><p>#Parameters</p>
</blockquote>
<blockquote><p>$name = &#8220;WinCompProLiantTest007.xxxxxxxxxx..local”
<p>$manufacturer = &#8220;HP&#8221; #Manufacturer Name
<p>$model = &#8220;ProLiant DL360 G8&#8243;
<p>$notes = &#8220;Placeholder CI to Host manually created HP ProLiant CI&#8221;
<p>import-module smlets
<p>&nbsp;
<p>#Create Windows Computer CI and hosted ProLiant CI at the same time
<p>$proj = @{__CLASS = &#8220;Microsoft.Windows.Computer&#8221;;
<p>__OBJECT = @{&#8220;PrincipalName&#8221; = $name;
<p>&#8220;Notes&#8221; = $notes;
<p>}
<p>HasHPProLiantServer = @{__CLASS = &#8220;HewlettPackard.Servers.ProLiant.HPProLiantServer&#8221;;
<p>__OBJECT = @{&#8220;DisplayName&#8221; = $name;
<p>&#8220;NetworkName&#8221; = $name;
<p>&#8220;PrincipalName&#8221; = $name;
<p>&#8220;Name&#8221; = $name;
<p>&#8220;Path&#8221; = $name;
<p>&#8220;Manufacturer&#8221; = $manufacturer;
<p>&#8220;Model&#8221; = $model;
<p>}
<p>}
<p>}
<p>&nbsp;
<p>#Create by using the Type Projection from the MP in step 1
<p>New-SCSMObjectProjection -Type itnetx.HPProLiant.TypeProjection -Projection $Proj</p>
</blockquote>
<p>&nbsp;</p>
<p><strong>Step 3 – Check out the Result</strong></p>
<p>First lets check the Windows Computer object.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/image1.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/03/image_thumb1.png?w=244&#038;h=87" width="244" height="87"></a></p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/image2.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/03/image_thumb2.png?w=244&#038;h=155" width="244" height="155"></a></p>
<p>OK, looks god so far. Now let’s go for the HP ProLiant server object. It’s there.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/image3.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/03/image_thumb3.png?w=244&#038;h=154" width="244" height="154"></a></p>
<p>Open and check the details. Don’t let the screenshot below confuse you. This is from an environment with tons of extensions that is using custom forms. So your form may look different. But your form should hold the defined data from the script. Feel free to add values for all other attributes as needed.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/image4.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/03/image_thumb4.png?w=244&#038;h=134" width="244" height="134"></a></p>
<p>Cool, with this procedure you can bring all HP ProLiant objects to the CMDB within minutes, even those that are not managed by SCOM. The same procedure also works for other object types/classes. Just change Type Projection Names, Attributes etc. and you are ready to go!</p>
<p>For some more details about the described procedure also check out <a href="http://blogs.technet.com/b/servicemanager/archive/2013/01/16/creating-membership-and-hosting-objects-relationships-using-new-scsmobjectprojection-in-smlets.aspx" target="_blank">this blog post</a> from Travis.</p>
<p>Have fun!<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2269&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/03/15/how-to-create-hp-proliant-objects-manually-in-the-cmdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Adding an ID or auto incrementing property to default classes</title>
		<link>http://blog.scsmfaq.ch/2013/03/06/adding-an-id-or-auto-incrementing-property-to-default-classes/</link>
		<comments>http://blog.scsmfaq.ch/2013/03/06/adding-an-id-or-auto-incrementing-property-to-default-classes/#comments</comments>
		<pubDate>Wed, 06 Mar 2013 20:16:21 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Classes and Relations]]></category>
		<category><![CDATA[Managing Objects]]></category>
		<category><![CDATA[auto increment]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[default]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[key property]]></category>
		<category><![CDATA[properties]]></category>
		<category><![CDATA[propery]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2258</guid>
		<description><![CDATA[We have lots of Service Manager customers that have comprehensive CMDBs where they store all kind of object types and relationships. When defining your very own classes you know that every class should have a key property. Often this is &#8230; <a href="http://blog.scsmfaq.ch/2013/03/06/adding-an-id-or-auto-incrementing-property-to-default-classes/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2258&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>We have lots of Service Manager customers that have comprehensive CMDBs where they store all kind of object types and relationships. When defining your very own classes you know that every class should have a key property. Often this is property is called something like “ID” and will contain an auto incrementing value, e.g. “Car1”, “Car2” etc. so that you don’t have to take care about setting a unique value for every instance. Default classes also have key properties, but not always a real ID. The windows computer class uses the computer principal name as a key property. This can be confusing when you re-install computers or re-use computer names – this is especially confusing when accounting comes into play. So why not having an auto incrementing ID property there too to uniquely identify assets over time?</p>
<p><span id="more-2258"></span>
<p>First add a new property to an existing class. In this example I use the Windows Computer Class and add a string property called “Computer ID”. The Default value is set to “Comp{0}” and used to automatically set a value. To make sure the value increments automatically, I set the auto increment option to true. The property cannot be set as a key property because this is already defined for this scenario.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image002.jpg"><img title="clip_image002" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image002_thumb.jpg?w=187&#038;h=244" width="187" height="244"></a></p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image0024.jpg"><img title="clip_image002[4]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002[4]" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image0024_thumb.jpg?w=244&#038;h=190" width="244" height="190"></a></p>
<p>Now I seal and import the Management Pack. The property is instantly available. All existing Windows Computer objects will have the default value set, but because the system does not know about the auto incrementing yet, it really just sets the value “Comp{0}” for all existing instances. This makes no sense. So first of all, I want to set a real value for these objects by using a simple script.</p>
<blockquote><p>import-module smlets<br />[string]$prefix = &#8220;Comp&#8221;<br />[int]$number = &#8220;1&#8243;
<p>$class = get-scsmclass microsoft.windows.computer$<br />$computers = get-scsmobject -class $class
<p>foreach($computer in $computers)<br />{<br />$computerID = $prefix + $number<br />set-scsmobject -smobject $computer -property mycomputerid -value $computerid<br />write-host &#8220;Property for computer&#8221; $computer.displayname &#8220;updated to&#8221; $computerid -foregroundcolor yellow<br />$number++<br />}</p>
</blockquote>
<p>By running this script, all instances now have some value set, e.g. “Comp131”.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image0026.jpg"><img title="clip_image002[6]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002[6]" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image0026_thumb.jpg?w=244&#038;h=187" width="244" height="187"></a></p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image0028.jpg"><img title="clip_image002[8]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002[8]" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image0028_thumb.jpg?w=244&#038;h=39" width="244" height="39"></a></p>
<p>Now we are running into a problem. When a new Windows Computer is created manually, the system will auto set a value and use an incrementing number that is already used by another object. The problem is that the script did indeed change the values, but because the objects were already existing objects, the system still thinks that it has to use the first number from the auto increment range.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image00210.jpg"><img title="clip_image002[10]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002[10]" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image00210_thumb.jpg?w=244&#038;h=199" width="244" height="199"></a></p>
<p>So before we start creating new Windows Computer objects (either manually, CSV import or by using some connectors), we have to increase the auto increment number to another starting point – higher that the highest number we are already using. This can only be done by a direct database change – nasty, but there’s no other way to do it. Travis Wright, Service Manager guru and my well respected MVP Lead at Microsoft, has written a post long time ago for SCSM 2010, but the procedure is still the same for SCSM 2012. Please keep in mind that this is an absolutely unsupported approach! But when you are deep in Service Manager, you already know that you have to accept that fact &#8211; Exchange Connector, IDataItem etc., you know what I mean <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smiley" src="http://scsmfaq.files.wordpress.com/2013/03/wlemoticon-smile.png?w=640"></p>
<p><a href="http://blogs.technet.com/b/servicemanager/archive/2010/09/27/top-secret-trick-how-to-change-the-auto-incrementing-value-range.aspx">http://blogs.technet.com/b/servicemanager/archive/2010/09/27/top-secret-trick-how-to-change-the-auto-incrementing-value-range.aspx</a>
<p>If you run this SQL query against the Service Manager database, you will get a list of all incrementing values from all classes and the next value that will be used.</p>
<blockquote><p>select<br />MT.TypeName,<br />MT.ManagedTypeId,<br />MTP.ManagedTypePropertyName,<br />MTP.ManagedTypePropertyID,<br />AIAR.FirstAvailableValue</p>
<p>from ManagedType as MT, ManagedTypeProperty as MTP, AutoIncrementAvailableRange as AIAR
<p>where MT.ManagedTypeId = AIAR.ManagedTypeId and MTP.ManagedTypePropertyId = AIAR.ManagedTypePropertyId</p>
</blockquote>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image00212.jpg"><img title="clip_image002[12]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002[12]" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image00212_thumb.jpg?w=244&#038;h=46" width="244" height="46"></a></p>
<p>By using another SQL statement, the value can be updated to a value that fits your needs. Make sure you use the correct IDs from the first query.</p>
<blockquote><p>update AutoIncrementAvailableRange <br />set FirstAvailableValue = 1000 <br />where ManagedTypeId = &#8217;4364F5B6-7A8E-549E-4B66-9BECF551B346&#8242; and ManagedTypePropertyId = &#8217;2CE46CF5-FD34-F16C-FC72-3E51EFF43675&#8242;</p>
</blockquote>
<p>Now as the new value is set and a new Windows Computer is created, the auto incrementing value should be set correctly.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/03/clip_image00214.jpg"><img title="clip_image002[14]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="clip_image002[14]" src="http://scsmfaq.files.wordpress.com/2013/03/clip_image00214_thumb.jpg?w=244&#038;h=39" width="244" height="39"></a></p>
<p>Easy as 1-2-3, that’s it. Have fun!</p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2258&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/03/06/adding-an-id-or-auto-incrementing-property-to-default-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image0024_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[4]</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image0026_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[6]</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image0028_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[8]</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image00210_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[10]</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smiley</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image00212_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[12]</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/03/clip_image00214_thumb.jpg" medium="image">
			<media:title type="html">clip_image002[14]</media:title>
		</media:content>
	</item>
		<item>
		<title>Documentation of SCSM Relationship Classes</title>
		<link>http://blog.scsmfaq.ch/2013/02/10/documentation-of-scsm-relationship-classes/</link>
		<comments>http://blog.scsmfaq.ch/2013/02/10/documentation-of-scsm-relationship-classes/#comments</comments>
		<pubDate>Sun, 10 Feb 2013 16:12:03 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Classes and Relations]]></category>
		<category><![CDATA[relation]]></category>
		<category><![CDATA[relationship]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[target]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2241</guid>
		<description><![CDATA[When you are dealing with Service Manager or especially CMDB’s you know that it’s all about relationships. Service Manager delivers tons of different relationships between object classes that will help you to build the relationships to reflect your needs. Of &#8230; <a href="http://blog.scsmfaq.ch/2013/02/10/documentation-of-scsm-relationship-classes/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2241&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>When you are dealing with Service Manager or especially CMDB’s you know that it’s all about relationships. Service Manager delivers tons of different relationships between object classes that will help you to build the relationships to reflect your needs. Of course, most of the time these relationships are not enough and you need to add many additional relationships on your own. But you must know what relationships exist out of the box, what classes they relate together and how they work.</p>
<p>To make things easier I put together an excel spreadsheet that lists the most important (not all) relationships in Service Manager together with the following information:</p>
<ul>
<li>Relationship Display Name and Internal Name</li>
<li>Source Class</li>
<li>Destination Class</li>
<li>Relationship Type</li>
<li>Management Pack information where the Relationship lives</li>
</ul>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/capture.png"><img title="Capture" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="Capture" src="http://scsmfaq.files.wordpress.com/2013/02/capture_thumb.png?w=244&#038;h=102" width="244" height="102"></a></p>
<p>You can <a href="https://skydrive.live.com/#!/edit.aspx?cid=5752DB4B025958B6&amp;resid=5752DB4B025958B6%21587&amp;app=Excel" target="_blank">download the file from my SkyDrive</a>. Maybe I will update the spreadsheet over time. If not, feel free to download and update it on your own <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smiley" src="http://scsmfaq.files.wordpress.com/2013/02/wlemoticon-smile1.png?w=640"></p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2241&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/02/10/documentation-of-scsm-relationship-classes/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/capture_thumb.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/wlemoticon-smile1.png" medium="image">
			<media:title type="html">Smiley</media:title>
		</media:content>
	</item>
		<item>
		<title>Linking Parent/Child Incidents together using Orchestrator</title>
		<link>http://blog.scsmfaq.ch/2013/02/06/linking-parentchild-incidents-together-using-orchestrator/</link>
		<comments>http://blog.scsmfaq.ch/2013/02/06/linking-parentchild-incidents-together-using-orchestrator/#comments</comments>
		<pubDate>Wed, 06 Feb 2013 10:37:44 +0000</pubDate>
		<dc:creator>Marcel Zehner</dc:creator>
				<category><![CDATA[Classes and Relations]]></category>
		<category><![CDATA[Incidents]]></category>
		<category><![CDATA[child]]></category>
		<category><![CDATA[parent]]></category>

		<guid isPermaLink="false">https://scsmfaq.wordpress.com/?p=2237</guid>
		<description><![CDATA[“How can I use SCORCH to link Parent Incidents with Child Incidents?” seems to be a common question that I get a lot. So I decided to write a quick post on this topic. In this example I will use &#8230; <a href="http://blog.scsmfaq.ch/2013/02/06/linking-parentchild-incidents-together-using-orchestrator/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2237&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>“How can I use SCORCH to link Parent Incidents with Child Incidents?” seems to be a common question that I get a lot. So I decided to write a quick post on this topic. In this example I will use two Incidents that will be linked together, but you can of course modify this basic procedure for your own need. The only requirements are that you have SCSM and SCORCH up and running together with the SCSM Integration Pack.</p>
<p><span id="more-2237"></span>
<p>First, I created 2 Incidents by using the console.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb.png?w=244&#038;h=87" width="244" height="87"></a></p>
<p>Because 1 Incident (IR1793 – Outlook cannot connect to Exchange Server) is a direct result of Incident 2 (IR1795 – Exchange Server down), it can make sense to link them together. This is especially the case when more and more users start calling Service Desk because they cannot use Outlook anymore.</p>
<p>The procedure to get to the result is as follows:</p>
<ol>
<li>Declare one Incident (IR 1795) as a Parent Incident</li>
<li>Add Child Incident (IR 1793) to the Parent Incident</li>
</ol>
<p>This is how the runbook could look like.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image1.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb1.png?w=244&#038;h=48" width="244" height="48"></a></p>
<p>&nbsp;</p>
<p><strong>Initialize Data</strong></p>
<p>Here I configure the runbook parameters. In this example I use two parameters, one is the ID of the Incident that will become the parent, the other one is the ID that will become the child.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image2.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb2.png?w=244&#038;h=96" width="244" height="96"></a></p>
<p>&nbsp;</p>
<p><strong>Get Object (Incident 1)</strong></p>
<p>Now we have to get the Incident Object that will become the parent from the Service Manager database. Use class “Incident” and filter based in on the ID. Use published data from “Initialize Data”.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image3.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb3.png?w=244&#038;h=124" width="244" height="124"></a></p>
<p>&nbsp;</p>
<p><strong>Get Object (Incident 2)</strong></p>
<p>Same as previous, but this time we will get the Incident Object that will become the child.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image4.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb4.png?w=244&#038;h=124" width="244" height="124"></a></p>
<p>&nbsp;</p>
<p><strong>Update Object (Incident 1)</strong></p>
<p>The next activity will mark one Incident (IR1795) as the parent Incident. For this we must use Published Data and get the SC Object GUID of Incident 1. Then we update the property “is parent” to “true”.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image5.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb5.png?w=244&#038;h=114" width="244" height="114"></a></p>
<p>&nbsp;</p>
<p><strong>Create Relationship</strong></p>
<p>As a last step, we can link the Incidents together. In the “Create Relationship” activity we have to select the source and target class (in this case “Incident” for both) as well as the relationship type “Has Parent Work Item”. To make sure the correct objects are linked together we must again use published data (SC Object GUID) to define the source and target object. The source is the SC Object GUID of the Child Incident, the target the SC Object GUID of the parent Incident.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image6.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb6.png?w=244&#038;h=122" width="244" height="122"></a></p>
<p>That’s it. Now I’m going to test the runbook in the runbook tester.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image7.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb7.png?w=241&#038;h=244" width="241" height="244"></a></p>
<p>After a successful run, the Incidents should be linked as expected.</p>
<p><a href="http://scsmfaq.files.wordpress.com/2013/02/image8.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;margin:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://scsmfaq.files.wordpress.com/2013/02/image_thumb8.png?w=244&#038;h=182" width="244" height="182"></a></p>
<p>Now have fun building your own solution. Maybe one that can link multiple Incidents to the same Parent Incident at the same time?</p>
<p>Cheers<br />Marcel</p>
<br />  <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.scsmfaq.ch&#038;blog=18731242&#038;post=2237&#038;subd=scsmfaq&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.scsmfaq.ch/2013/02/06/linking-parentchild-incidents-together-using-orchestrator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/eb51c559066715106bf0b87af6f7e6ef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scsmfaq</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://scsmfaq.files.wordpress.com/2013/02/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
	</channel>
</rss>
