<?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/"
	>

<channel>
	<title>Ross' Cogitations &#187; SCCM</title>
	<atom:link href="http://ross-family.org/blog/tag/sccm/feed/" rel="self" type="application/rss+xml" />
	<link>http://ross-family.org/blog</link>
	<description>Thoughts on theology &#38; technology.</description>
	<lastBuildDate>Wed, 25 Aug 2010 04:33:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Extend System Center Configuration Manager 2007 to Collect Fibre Channel HBA Information &#8211; Revised</title>
		<link>http://ross-family.org/blog/2010/01/06/extend-system-center-configuration-manager-2007-to-collect-fibre-channel-hba-information/</link>
		<comments>http://ross-family.org/blog/2010/01/06/extend-system-center-configuration-manager-2007-to-collect-fibre-channel-hba-information/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 00:19:17 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[ConfigMgr]]></category>
		<category><![CDATA[SCCM]]></category>

		<guid isPermaLink="false">http://ross-family.org/blog/?p=141</guid>
		<description><![CDATA[Version 2&#8230; In my original post on this subject I described how to set up ConfigMgr to grab data from the MSFC_FCAdapterHBAAttributes class under Root\wmi.   Later I found out that, as least in my environment, the data in this class was unreliable.  It would literally be there one day and the next it would [...]]]></description>
			<content:encoded><![CDATA[<p>Version 2&#8230;</p>
<p>In my original post on this subject I described how to set up ConfigMgr to grab data from the MSFC_FCAdapterHBAAttributes class under Root\wmi.   Later I found out that, as least in my environment, the data in this class was unreliable.  It would literally be there one day and the next it would have disappeared.  So I had to change my approach.  This new method of getting HBA info into ConfigMgr is not exactly elegant, but it is effective.  <strong><span style="text-decoration: underline;">Use it at your own risk!</span></strong> The process is as follows:</p>
<ol>
<li>Install <a title="Microsoft's FCInfo Utility" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=73d7b879-55b2-4629-8734-b0698096d3b1&amp;displaylang=en" target="_blank">Microsoft&#8217;s FCInfo utility</a> on your machines with HBAs.  I packaged this up and deployed to a collection populated with these machines.  <strong>Note </strong>that the install will throw an error on Windows Server 2008 but the utility still works and it <strong>MUST </strong>be present for this process to work!</li>
<li>Update sms_def.mof to look for HBA info in a new class called Custom_HBA_Info (later steps actually create this class).  Add the below text to your sms_def.mof (always make a backup first!).</li>
</ol>
<p style="padding-left: 30px;">
<pre style="padding-left: 60px;">#pragma namespace ("\\\\.\\root\\CIMv2\\sms")</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE),</pre>
<pre style="padding-left: 60px;">SMS_Group_Name("Custom_HBA_Info"),</pre>
<pre style="padding-left: 60px;">SMS_Class_ID("Microsoft|Custom_Frost_HBA_Info|1.0"),</pre>
<pre style="padding-left: 60px;">Namespace("\\\\\\\\.\\\\root\\\\CIMv2")]</pre>
<pre style="padding-left: 60px;">class Custom_HBA_Info : SMS_Class_Template</pre>
<pre style="padding-left: 60px;">{</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE), key ]</pre>
<pre style="padding-left: 60px;">string	Adapter;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">string	NodeWWN;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">string	PortWWN;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">string	SerialNumber;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">string	DriverName;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">string	DriverVersion;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">string	FirmwareVersion;</pre>
<pre style="padding-left: 60px;">[SMS_Report(TRUE)]</pre>
<pre style="padding-left: 60px;">datetime DateCollected;</pre>
<pre style="padding-left: 60px;">};</pre>
<p style="padding-left: 30px;">Almost immediately after saving the sms_def.mof file ConfigMgr will compile it.  You can monitor the success/failure of this in the dataldr.log file on the ConfigMgr server (&lt;install_dir&gt;\Logs).</p>
<p style="padding-left: 30px;"><a href="http://ross-family.org/blog/wp-content/uploads/2010/01/dataldr.log.jpg"><img class="alignnone size-full wp-image-152" title="dataldr.log" src="http://ross-family.org/blog/wp-content/uploads/2010/01/dataldr.log.jpg" alt="" width="975" height="361" /></a></p>
<p style="padding-left: 30px;">3.  Download <a title="GetHBAInfo Script" href="http://files.ross-family.org/GetHBAInfo.txt" target="_blank">my script</a> (rename to GetHBAInfo.<strong>vbs</strong>)  to a share on your network.  The script creates the WMI class referenced above, runs fcinfo.exe, grabs the output, and populates it into Custom_HBA_Info.</p>
<p style="padding-left: 30px;">4.  Create a Software Distribution package for the script.  Create a Program for the package with the following command line: <strong>%systemroot%\system32\cscript.exe GetHBAInfo.vbs</strong></p>
<p style="padding-left: 30px;">5.  Schedule a recurring advertisement associated with a collection containing all your machines with HBAs.  My advertisement runs once per week.</p>
<p>Thats it.  Now, to be sure it is working:</p>
<p style="padding-left: 30px;">1.  Run your advertisement so that the script runs on your agents with HBAs.</p>
<p style="padding-left: 30px;">2.  On one of those computers use wmic to validate the presence of the namespace.  Command syntax:</p>
<p style="padding-left: 60px;">wmic path Custom_HBA_Info</p>
<p style="padding-left: 60px;">If an Invalid Class error is displayed then either the script has not run or it has an error.  The script logs it&#8217;s results under %windir%\Temp in a file that starts with GetHBAInfo_&lt;date&gt;_&lt;time&gt;.log.</p>
<p style="padding-left: 30px;">3.  Force a couple of agents to run their hardware inventory.  Monitor the dataldr.log on the site server.  You should see lots of data flying by as the agent updates it hardware info.  When complete search for the string &#8220;Custom_HBA_Info&#8221;.  If you find it then the data should have gotten put in your site database.  Look for a table in the database called dbo.Custom_HBA_Info_Data.  If it exists then you should be golden.</p>
<p style="padding-left: 30px;">4.  Use Resource Explorer to view one of your machines with HBAs.  Under Hardware you should see Custom_HBA_Info, and your data should be there.</p>
<p>Special thanks to my co-worker <a title="Jason Sandys' Blog" href="http://myitforum.com/cs2/blogs/jsandys/default.aspx" target="_blank">Jason Sandys</a>, a ConfigMgr MVP.  Without his assistance I would not have gotten this to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://ross-family.org/blog/2010/01/06/extend-system-center-configuration-manager-2007-to-collect-fibre-channel-hba-information/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
