<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://myitforum.com/cs2/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Paul Thomsen at myITforum.com : SQL queries</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx</link><description>Tags: SQL queries</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 SP2 (Build: 31113.47)</generator><item><title>Learning New ConfigMgr Versions at the Database Level</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2011/06/18/158081.aspx</link><pubDate>Sun, 19 Jun 2011 01:52:56 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:158081</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=158081</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2011/06/18/158081.aspx#comments</comments><description>&lt;p&gt;Those of us that have been in the ConfigMgr (SCCM/SMS) business for a while have had the joy (and challenge) of learning the new versions as they’re developed and then released. There are many approaches to that learning curve, and I’m a fan of all of them. You can learn top-down, meaning you review the marketing and product documentation that highlights the differences and then focus on whatever details are relevant to you. You can experiment with the new version, seeing how it works, what’s changed, and what’s challenging - that’s a middle ground approach to me. And then there’s the bottom-up approach of looking at the technical changes and trying to understand why they were made and how you can use them.&lt;/p&gt;  &lt;p&gt;For some reason I actually like the latter approach most of all. By seeing the technical implementation details I can understand what’s really changed. A good example is log files, both client-side and server-side. If a new log is introduced and it has some substance, then that must be an important component, and it must add some important functionality. The high-level details give us the context of that importance, but the low-level details give us the clues to make it work well.&lt;/p&gt;  &lt;p&gt;As I’ve mentioned in the past, the first moment at which I fell in love with ConfigMgr was looking at the database. That’s hard to explain, but I still maintain that ConfigMgr is a data-centric system and thus the database is very important. When I’m learning a new version of ConfigMgr, I start by focusing on the database changes.&lt;/p&gt;  &lt;p&gt;An easy approach to looking at database changes is to fire up SQL Server Management Studio, connect to your new ConfigMgr database, expand the Views node, and look for changes. With up to 1,000 views that’s problematic, though you can ease the process by ignoring the collection views, inventory views, and ‘secondary views’ (those that seem to be intermediate views). But that all depends on your memory of the previous version’s database schema and what’s important, so it’s easy to miss fun new views.&lt;/p&gt;  &lt;p&gt;Another alternative is to query for the differences. Those queries (assuming you’re doing them from the database server with the previous version) would be:&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;-- lost views     &lt;br /&gt;SELECT * from sysobjects where type=&amp;#39;V&amp;#39;       &lt;br /&gt;and name not like &amp;#39;v_CM_RES_COLL_%&amp;#39; and name not like &amp;#39;_RES_COLL_%&amp;#39; and name not like &amp;#39;v_HS_%&amp;#39;      &lt;br /&gt;and name not in      &lt;br /&gt;(SELECT name from [new_version_server.new_version_database].dbo.sysobjects where type=&amp;#39;V&amp;#39;       &lt;br /&gt;and name not like &amp;#39;v_CM_RES_COLL_%&amp;#39; and name not like &amp;#39;_RES_COLL_%&amp;#39; and name not like &amp;#39;v_HS_%&amp;#39;)      &lt;br /&gt;order by name&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;-- new views     &lt;br /&gt;SELECT * from [new_version_server.new_version_database].dbo.sysobjects where type=&amp;#39;V&amp;#39;       &lt;br /&gt;and name not like &amp;#39;v_CM_RES_COLL_%&amp;#39; and name not like &amp;#39;_RES_COLL_%&amp;#39; and name not like &amp;#39;v_HS_%&amp;#39;      &lt;br /&gt;and name not in      &lt;br /&gt;(SELECT name from sysobjects where type=&amp;#39;V&amp;#39;       &lt;br /&gt;and name not like &amp;#39;v_CM_RES_COLL_%&amp;#39; and name not like &amp;#39;_RES_COLL_%&amp;#39; and name not like &amp;#39;v_HS_%&amp;#39;)      &lt;br /&gt;order by name&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You’ll notice the queries ignore the collection and hardware inventory history views. Collections are a constant and I’d rather compare hardware inventory changes by looking at the SMS_def.mof changes.&lt;/p&gt;  &lt;p&gt;The lost views will likely be a manageable number but the list of new views could be quite numerous, depending on how big the version differences are between the versions you’re comparing. Service packs are likely to introduce few changes, major versions will introduce a lot, and minor versions will be somewhere in between.&lt;/p&gt;  &lt;p&gt;If there are a lot of changes then you’ll want to do variations on the above queries, filtering out groups of views as you understand them. Views do often have naming conventions that group related views to each other and so if you understand the significance of the group then you can eliminate them from your list of views to study.&lt;/p&gt;  &lt;p&gt;Admittedly, interpreting what a new view adds can be tricky. The name of the views and the columns will give clues. Doing queries against the view when it’s got some data will help further. To a large degree you just have to follow your instincts and focus on those that seem most interesting. And this is just one way to learn the new version, so don’t spend too much time focusing on this technique.&lt;/p&gt;  &lt;p&gt;Finally, you might ask what can be seen by using this technique to compare ConfigMgr 2007 with ConfigMgr 2012. My suggestion is that it’s too early to jump to conclusions. ConfigMgr 2012 will change as time goes on (otherwise it would be released already). Exciting view changes are blog posts for future dates.&lt;/p&gt;  &lt;p&gt;p.s. I focus on views here, as opposed to tables, because views are what we have always been encouraged to use as ConfigMgr customers. Generally that works, but sometimes there are interesting table additions that don’t get reflected in views. For that reason you may want to also look at tables, but that’s an easy extension of the above concepts.&lt;/p&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=158081" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category></item><item><title>Checking Client Health for a Large List of Computer Names</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2011/01/04/153413.aspx</link><pubDate>Wed, 05 Jan 2011 05:26:24 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:153413</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=153413</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2011/01/04/153413.aspx#comments</comments><description>&lt;p&gt;One of my pet peeves is reports (of any sort) that are long lists of computers. But the reality is that many people use such reports. I’ve found that people like to take such lists, import them into Excel, and do their own analysis. I must admit that’s cool in that people are analyzing data and getting work done. (My own approach is to build reports that summarize data or to query directly and adjust the queries until I get the information I need). &lt;/p&gt;  &lt;p&gt;Once our internal customers have such lists of computers with suspicious client health issues they come to my team and ask us what’s going on with those computers. If the list of computers is reasonably small then you can use a simple “IN” clause such, as:&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;select&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; count(*) &lt;/font&gt;&lt;span style="color:blue;"&gt;from&lt;/span&gt;&lt;font color="#000000"&gt; v_R_System &lt;/font&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt;&lt;font color="#000000"&gt; active0=1 &lt;span style="color:gray;"&gt;and&lt;/span&gt; name0 &lt;span style="color:gray;"&gt;in&lt;/span&gt;&lt;/font&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;computer1&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:red;"&gt;&amp;#39;computer2&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:red;"&gt;&amp;#39;computer2&amp;#39;)&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;But what if the list is very long, as in thousands of clients or more? In that case you can import the computer names into a temp table and query against that. For example:&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;CREATE TABLE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; #temp1&lt;/font&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt; name &lt;/font&gt;&lt;span style="color:blue;"&gt;varchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt;30&lt;/font&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;       &lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;BULK&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:blue;"&gt;INSERT&lt;/span&gt;&lt;font color="#000000"&gt; #temp1 &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:red;"&gt;&amp;#39;C:\&amp;lt;path&amp;gt;\file.txt&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;WITH&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;( &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;FIELDTERMINATOR&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:gray;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;,&amp;#39;&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;ROWTERMINATOR&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color:gray;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;#39;\n&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;The trick is obviously to do a bulk import from the file with details as to how the file is formatted. A simple trick, once you know it. The only complication is that the file must be available to the SQL Server service on the server itself, as opposed to your console.&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;Then you can do queries such as:&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;select&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; count(*) &lt;/font&gt;&lt;span style="color:blue;"&gt;from&lt;/span&gt;&lt;font color="#000000"&gt; v_R_System &lt;/font&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt;&lt;font color="#000000"&gt; active0=1 &lt;span style="color:gray;"&gt;and&lt;/span&gt; name0 &lt;span style="color:gray;"&gt;in&lt;/span&gt;&lt;/font&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;/span&gt;select&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; name &lt;/font&gt;&lt;span style="color:blue;"&gt;from&lt;/span&gt;&lt;font color="#000000"&gt; #temp1&lt;/font&gt;&lt;span style="color:blue;"&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;So working with lists of computers is possible, no matter how long they are. The one caution I’ll offer is that if the list was produced significantly long before you do the investigation then be sure to go back to the original source. Otherwise too many of the clients will have changed states (for various reasons) and thus you won’t be able to draw any meaningful conclusions.&lt;/p&gt;  &lt;p&gt;p.s. If you have shorter lists of computers and they’re also in long lists (as opposed to being comma delimited with single quotes (why don’t people do that?…)), then you might like to use Notepad2.exe or a similar program to easily adjust the lines. In Notepad2 you can select the block (Ctrl-A) and then do a block “Modify Line” followed by a “Join Lines”. That only take seconds.&lt;/p&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=153413" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+health/default.aspx">client health</category></item><item><title>ConfigMgr v.Next site settings query</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2010/11/11/152568.aspx</link><pubDate>Fri, 12 Nov 2010 04:24:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:152568</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=152568</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2010/11/11/152568.aspx#comments</comments><description>&lt;p&gt;ConfigMgr v.Next has a lot of wonderful improvements, and I look forward to talking about my favorites over time. But often the small ones are very delightful, and I’m pleased to share my thoughts on those as well. One of them is that the ConfigMgr v.Next site settings are entirely stored in the database, and thus can be queried. Historically they’ve been stored in the site control file, and thus required manual or tricky file parsing to read. In ConfigMgr 2007, if not earlier, there was a database representation of those values but that took a lot of parsing so that wasn’t easy either. In v.Next they’re only in the database and are largely already parsed for you.&lt;/p&gt;
&lt;p&gt;The following query should make them reasonably easy to read if you’re looking for client-specific settings. There’s about 174 such settings, so that’s a good start. But if you want other settings then you’ll need to do variations on this query to get them (and I hope to cover them in future blog postings).&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;select&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; ClientComponentName &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Agent&amp;#39;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;,&lt;/span&gt;&lt;font color="#000000"&gt; Flags ‘Enabled’, Name &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Property&amp;#39;&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;case&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; Value1 &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;when&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;REG_SZ&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; Value2 &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;when&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;REG_DWORD&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:fuchsia;"&gt;cast&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt;Value3 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;as&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;varchar&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt;20&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;when&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:fuchsia;"&gt;cast&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt;Value3 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;as&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;varchar&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt;20&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;else&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; Value1 &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;end&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Value&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:9pt;"&gt;from&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:9pt;"&gt;&lt;font color="#000000"&gt; dbo&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;SC_ClientComponent agents &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;join&lt;/span&gt;&lt;font color="#000000"&gt; SC_ClientComponent_Property props &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;on&lt;/span&gt;&lt;font color="#000000"&gt; agents&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ID&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;props&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ClientComponentID &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;You’ll see lots of details related to software inventory, hardware inventory, software metering, software updates, etc. Very useful stuff. For example, you can confirm all your sites are consistently configured. You can confirm your predecessor configured things reasonably. Stuff like that.&lt;/p&gt;
&lt;p&gt;The trickiest problem you’ll soon notice is that properties like agent schedules are stored in WMI tokens, which mean a lot to WMI but not so much to you and I. I don’t know of a SQL mechanism to translate them, so that’s when I revert to vbscript. The following scriptlet gives you an idea of how to do that. Just substitute the relevant values.&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Cordia New"&gt;server=&amp;quot;&amp;lt;server&amp;gt;&amp;quot; &lt;br /&gt;sitecode=”&amp;lt;sitecode&amp;gt;&amp;quot; &lt;br /&gt;Set loc = CreateObject(&amp;quot;WbemScripting.SWbemLocator&amp;quot;) &lt;br /&gt;Set WbemServices = loc.ConnectServer(server, &amp;quot;root\sms\site_&amp;quot; &amp;amp; sitecode)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Cordia New"&gt;Set clsScheduleMethods = WbemServices.Get(&amp;quot;SMS_ScheduleMethods&amp;quot;) &lt;br /&gt;&amp;nbsp; &lt;br /&gt;Interval = &amp;quot;0001200000100018&amp;quot;&amp;nbsp; &amp;#39;insert your token here&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Cordia New"&gt;clsScheduleMethods.ReadFromString Interval, avTokens &lt;br /&gt;For each vToken In avTokens &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.echo vToken.GetObjectText_ &lt;br /&gt;Next &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=152568" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/v.Next/default.aspx">v.Next</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/ConfigMgr+2012/default.aspx">ConfigMgr 2012</category></item><item><title>ConfigMgr queries grouped by operating system family</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2010/11/03/152349.aspx</link><pubDate>Thu, 04 Nov 2010 04:41:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:152349</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=152349</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2010/11/03/152349.aspx#comments</comments><description>&lt;p&gt;If you’ve done ConfigMgr queries for awhile you’ve probably done some reports based on operating system. That has meant using the Caption0 column from the v_GS_Operating_System view, but you probably found you had a lot of variations on the various operating system families. For example, Vista Professional, Vista Enterprise, etc. But what if you would rather just categorize at a higher level (by ‘family’) such as XP vs. Vista vs. Win7?&lt;/p&gt;
&lt;p&gt;The following query shows how you can do that level of categorization. The trick is to use CASE clauses with LIKE clauses, like so:&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;declare&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; @grand_total &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;integer &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;select&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; @grand_total &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:fuchsia;"&gt;COUNT&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;distinct&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;Name0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;from&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; v_R_System &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;join&lt;/span&gt;&lt;font color="#000000"&gt; v_CH_EvalResults eval &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;on&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ResourceID&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;eval&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;MachineID &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;join&lt;/span&gt;&lt;font color="#000000"&gt; v_GS_OPERATING_SYSTEM os &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;on&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ResourceID&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;os&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ResourceID &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;where&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Client0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;1 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;and&lt;/span&gt;&lt;font color="#000000"&gt; Obsolete0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;0 &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;select&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; @grand_total &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;total clients with health results&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;select&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;case&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Windows 7%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Win7&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%XP%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;XP&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Server 2008 R2%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2008 R2&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Server% 2008%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2008&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Server% 2003%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2003&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Vista%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Vista&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Hyper-V%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2008 R2&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;other&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;end&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;OS&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:fuchsia;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;COUNT&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;distinct&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;Name0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;clients with health results&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:fuchsia;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;COUNT&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;distinct&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;Name0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)*&lt;/span&gt;&lt;font color="#000000"&gt;100 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;/&lt;/span&gt;&lt;font color="#000000"&gt; @grand_total &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;% of all clients&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:fuchsia;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;SUM&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;Active0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;active clients&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:fuchsia;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;SUM&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt;Active0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;*&lt;/span&gt;&lt;font color="#000000"&gt; 100 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;/&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:fuchsia;"&gt;COUNT&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;distinct&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;Name0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;% active&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:fuchsia;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;SUM&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;case&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Result &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; 6 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; 0 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; 7 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; 0 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;font color="#000000"&gt; 1 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;end&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;unhealthy clients&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;,&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:fuchsia;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;SUM&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:gray;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;case&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Result &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; 6 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; 0 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; 7 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; 0 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;font color="#000000"&gt; 1 &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;end&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;*&lt;/span&gt;&lt;font color="#000000"&gt; 100.0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;/&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:fuchsia;"&gt;SUM&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(&lt;/span&gt;&lt;font color="#000000"&gt;Active0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;% unhealthy/active&amp;#39; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;from&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; v_R_System &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;join&lt;/span&gt;&lt;font color="#000000"&gt; v_CH_EvalResults eval &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;on&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ResourceID&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;eval&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;MachineID &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;join&lt;/span&gt;&lt;font color="#000000"&gt; v_GS_OPERATING_SYSTEM os &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;on&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:green;"&gt;sys&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ResourceID&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;os&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;.&lt;/span&gt;&lt;font color="#000000"&gt;ResourceID &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;where&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; Client0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;1 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;and&lt;/span&gt;&lt;font color="#000000"&gt; Obsolete0&lt;/font&gt;&lt;span style="COLOR:gray;"&gt;=&lt;/span&gt;&lt;font color="#000000"&gt;0 &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;group&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;by&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;case&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Windows 7%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Win7&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%XP%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;XP&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Server 2008 R2%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2008 R2&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Server% 2008%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2008&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Server% 2003%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2003&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Vista%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Vista&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;when&lt;/span&gt;&lt;font color="#000000"&gt; Caption0 &lt;/font&gt;&lt;span style="COLOR:gray;"&gt;like&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;%Hyper-V%&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;then&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;Server 2008 R2&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:red;"&gt;&amp;#39;other&amp;#39;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;end &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 0pt;" class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;COLOR:blue;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;order&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Eras Demi ITC&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;by&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:fuchsia;"&gt;COUNT&lt;/span&gt;&lt;span style="COLOR:gray;"&gt;(*)&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="COLOR:blue;"&gt;desc&lt;/span&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;This is actually for ConfigMgr v.Next client health, but the concept is applicable to any such query for SMS or ConfigMgr (SCCM).&lt;/p&gt;
&lt;p&gt;p.s. Credit goes to a co-worker, Benjamin Reynolds, for pointing out this option. I’ve done plenty of CASE statements over the years but didn’t realize that LIKE and similar clauses were an option for the sub-clauses.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=152349" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/v.Next/default.aspx">v.Next</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/ConfigMgr+2012/default.aspx">ConfigMgr 2012</category></item><item><title>How long are your SMS 2003 patch scans taking?</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2008/03/18/113979.aspx</link><pubDate>Wed, 19 Mar 2008 02:06:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:113979</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=113979</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2008/03/18/113979.aspx#comments</comments><description>&lt;p&gt;Summary: patch scanning is normally a quiet behind-the-scenes activity that computer managers don&amp;#39;t have to worry about. But that doesn&amp;#39;t mean we shouldn&amp;#39;t proactively look for worst-case scenarios.&lt;/p&gt;
&lt;p&gt;Those of us that have been in the patch management business a couple of years or more will recall that sometimes patch scanning can be less quiet and behind-the-scenes than it should be. So we know that it&amp;#39;s wise to watch patch scanning times. Even if there isn&amp;#39;t a widespread issue, maybe there are some corner case scenarios we can identify and improve.&lt;/p&gt;
&lt;p&gt;The following SQL script calculates the scan time for SMS 2003 clients:&lt;/p&gt;
&lt;p&gt;-- get a sample set of relevant records to work with - for large hierarchies the whole table&amp;nbsp;would be&amp;nbsp;too large&lt;br /&gt;SELECT top 100000 machinename, time, messageID into #temp&lt;br /&gt;FROM v_StatusMessage s3 LEFT OUTER JOIN v_StatMsgAttributes AS att ON s3.RecordID = att.RecordID &lt;br /&gt;WHERE att.AttributeID = 401 AND att.AttributeValue = &amp;#39;&amp;lt;patching advertisement ID&amp;gt;&amp;#39; AND messageID in (10005,10009)&lt;br /&gt;group by machinename, time, messageID&lt;/p&gt;
&lt;p&gt;-- put the 10005&amp;#39;s (advertisement started) into a seperate table, so the max time select won&amp;#39;t be confused with the 10009&amp;#39;s max time select&lt;br /&gt;select machinename, time, messageID into #temp5 FROM #temp where messageID=10005&lt;br /&gt;-- same for 10009&amp;#39;s (advertisement successfully run, with details returned via status MIF)&lt;br /&gt;select machinename, time, messageID into #temp9 FROM #temp where messageID=10009&lt;/p&gt;
&lt;p&gt;--get the most recent records for the 10005&amp;#39;s&lt;br /&gt;select t1.machinename, t1.time, t1.messageID into #temp2&lt;br /&gt;from #temp5 t1 join #temp5 t2 on t1.machinename=t2.machinename &lt;br /&gt;group by t1.machinename, t1.time, t1.messageID&lt;br /&gt;having t1.time=max(t2.time) order by t1.machinename&lt;br /&gt;--same for the 10009&amp;#39;s, and put them into the same temp table&lt;br /&gt;insert into #temp2 (machinename,time,messageID)&lt;br /&gt;select t1.machinename, t1.time, t1.messageID&lt;br /&gt;from #temp9 t1 join #temp9 t2 on t1.machinename=t2.machinename &lt;br /&gt;group by t1.machinename, t1.time, t1.messageID&lt;br /&gt;having t1.time=max(t2.time) order by t1.machinename&lt;/p&gt;
&lt;p&gt;--build a new temp table with just the times, so that the datediff calculation is easy&lt;br /&gt;SELECT machinename,&lt;br /&gt;( select time from #temp2 s1 where messageID=10005 and s1.machinename=s3.machinename) &amp;#39;Start&amp;#39;,&lt;br /&gt;( select time from #temp2 s2 where messageID=10009 and s2.machinename=s3.machinename ) &amp;#39;End&amp;#39;&lt;br /&gt;into #temp3 FROM #temp2 s3 order by machinename&lt;/p&gt;
&lt;p&gt;--look at the results, without the exceptional data (with is a smallish percentage, like 15%)&lt;br /&gt;select datediff(s, [start], [end]) from #temp3 &lt;br /&gt;where [start] is not null and [end] is not null&lt;br /&gt;and datediff(s, [start], [end]) &amp;gt;0 and datediff(s, [start], [end]) &amp;lt;2000&lt;br /&gt;order by datediff(s, [start], [end]) &lt;/p&gt;
&lt;p&gt;--the all important average&lt;br /&gt;select avg(datediff(s, [start], [end]) ) from #temp3 &lt;br /&gt;where [start] is not null and [end] is not null&lt;br /&gt;and datediff(s, [start], [end]) &amp;gt;0 and datediff(s, [start], [end]) &amp;lt;2000&lt;/p&gt;
&lt;p&gt;This script is also a good example of the usefulness of temporary tables. I don&amp;#39;t pretend to be a SQL guru, but I like techniques that allow non-guru&amp;#39;s to accomplish complex tasks using SQL alone.&lt;/p&gt;
&lt;p&gt;As usual, I can&amp;#39;t guarantee that this is the only or best way to accomplish this goal. But it has worked well for me and seems to return accurate results. Now I have to come up with a ConfigMgr equivalent...&lt;/p&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=113979" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/patch+management/default.aspx">patch management</category></item><item><title>Saving client health (or other) data to a SQL Server</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2008/01/10/111337.aspx</link><pubDate>Fri, 11 Jan 2008 00:53:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:111337</guid><dc:creator>pthomsen</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=111337</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2008/01/10/111337.aspx#comments</comments><description>&lt;p&gt;Summary: most computer management specialists&amp;nbsp;write and run&amp;nbsp;SQL queries, but not many save data for later use. Yet saved data can allow you to do historic comparisons, trending, complex dataset queries, and other powerful analysis.&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;routinely save client health data&amp;nbsp;and then run queries against that saved data to produce graphs of client health trends.&amp;nbsp;An example is &lt;a class="" title="graphs showing client activity history" href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/07/08/103997.aspx" target="_blank"&gt;my blog posting on client activity history&lt;/a&gt;. I often show those reports to people, in public and private forums, and a common question is how&amp;nbsp;to produce such reports. I&amp;#39;m pleased to share the general process with you, in&amp;nbsp;five parts: &lt;a class="" title="client activity queries" href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104677.aspx" target="_blank"&gt;the queries&lt;/a&gt;, saving the data, producing HTML reports from script (automatically), producing graphs from script, and e-mailing the reports to the interested parties from script&amp;nbsp;(we won&amp;#39;t go into every detail, but will cover the key points that might not be obvious). Today we&amp;#39;ll focus on saving the data.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;WARNING&lt;/strong&gt;:&amp;nbsp;Do NOT write data to your SMS or ConfigMgr databases.&amp;nbsp;Instead, create a seperate database (anywhere, even on your console machine). Anytime you directly write to the SMS or ConfigMgr databases you run various serious risks of corrupting production data, losing data, creating future conflicts that will cause upgrades to fail, or causing various other unpredictable problems that no one can help you correct (other than to rebuild the site from scratch). Even backups won&amp;#39;t help, because the bad data could exist for a long time before the problem is detected, and thus be stored in all your backups. You might even want to use a seperate computer, just to minimize the risks as much as possible (the risks including performance or capacity problems, or accidentally using the wrong database). Installing a seperate&amp;nbsp;instance of SQL Server somewhere else is quite easy, as is creating a database (see the online help if you don&amp;#39;t find it intuitive). It&amp;#39;s true that setting up a serious large-scale production SQL Server is a task that must be left to a professional DBA, but we don&amp;#39;t need anything near that serious.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Given that you have a database, it&amp;#39;s actually quite easy to save data using SQL Server. The first thing you&amp;#39;ll need is a table, and SQL Server&amp;#39;s Enterprise Manager makes that easy. Navigate to the Tables node, right click, and select New Table... It will prompt you for column name, datatype, and whether NULLs are accepted (&amp;#39;yes&amp;#39; is a reasonable answer in most informal cases like ours). You don&amp;#39;t have to worry about adding all the right columns now because you can come back and add more later if you like (by right clicking the table name and selecting the Design menu option). You might like to use some kind of naming convention for your columns, to have some consistency that will make your code more readable later, but that&amp;#39;s a minor point. When you close the window, SQL Server will ask for a name for the table. Anything will do, but a naming convention can help there too.&lt;/p&gt;
&lt;p&gt;Now that you have a table, you&amp;#39;ll want to put data into it. You could just &amp;quot;Open Table&amp;quot; the table in SQL Server Enterprise Manager and start typing. That works but it&amp;#39;s not automatic at all, so there&amp;#39;s rarely any benefit to it. Better yet is to &amp;quot;insert&amp;quot; data. If you have reason to change it (maybe correct it), you can &amp;quot;update&amp;quot; the data. Or if you end up with some bad data that you don&amp;#39;t need, then you can &amp;quot;delete&amp;quot; it. Inserting is quite safe, but updates and deletes can easily affect data that you didn&amp;#39;t intend to affect (maybe all of it), so you have to be more careful with them. Backups are good, of course. Or experiment on a test table until you&amp;#39;re confident you understand the syntax (online help, a book, or an Internet search engine will soon get you up to speed on any syntax subtleties you need). Aren&amp;#39;t you glad you&amp;#39;re not doing this in the SMS database? ;-)&lt;/p&gt;
&lt;p&gt;I always save my data using a bit of vbscript that is a varient on the following example. I&amp;#39;ve greatly reduced the number of columns in the example, for readability, but otherwise it&amp;#39;s a complete code sample. (Well, you&amp;#39;ll have to connect to the database, and come up with the data values somehow, but that&amp;#39;s exactly the same as any script that queries for data (using SQL &amp;quot;select&amp;quot; statements) - there&amp;#39;s lots of examples of that on the Internet).&lt;/p&gt;
&lt;p&gt;If you&amp;#39;re not inclined to use vbscript (or&amp;nbsp;similar scripting), you can still save data by using the SQL statements directly. You could even write up the relevant SQL statements&amp;nbsp;(a SQL script) and run the script automatically every day by creating a SQL job (see the online help for that, but it&amp;#39;s fairly straightforward).&lt;/p&gt;
&lt;p&gt;To save the data as a new record, you would use a statement like: INSERT INTO ClientHealth_CHT VALUES (&amp;#39;central&amp;#39;, &amp;#39;CEN&amp;#39;, &amp;#39;1/1/2008&amp;#39;,&amp;nbsp;3282, 3875, 4257)&lt;/p&gt;
&lt;p&gt;To update (change) the record, you would use a statement like: UPDATE ClientHealth_CHT SET polled_1day=3175, polled_7day=3986, client_count=4256 WHERE sitecode=&amp;#39;CEN&amp;#39; AND date_stored=&amp;#39;1/1/2008&amp;#39; AND environment=&amp;#39;central&amp;#39;&lt;/p&gt;
&lt;p&gt;For those who are into vbscript (or might get into it), here&amp;#39;s my subroutine for saving data. You&amp;#39;ll have to change table and column names, and add columns, as needed for your table.&lt;/p&gt;&lt;span style="FONT-SIZE:9pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;todays_date = left(now, instr(1,now,&amp;quot; &amp;quot;))&lt;br /&gt;Sub Save_Data( hierarchy, sitecode, polled_1day, polled_7day, total&amp;nbsp;)&lt;/span&gt;&lt;span style="FONT-SIZE:9pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p&gt;&lt;span style="FONT-SIZE:9pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp; &amp;#39;check if the record already has the numbers for this day&lt;br /&gt;&amp;nbsp; exists=vbFalse&lt;br /&gt;&amp;nbsp; SQL=&amp;quot;Select * FROM ClientHealth_CHT WHERE sitecode=&amp;#39;&amp;quot; &amp;amp; sitecode &amp;amp; &amp;quot;&amp;#39; AND date_stored=&amp;#39;&amp;quot; &amp;amp; CDate(todays_date) &amp;amp; &amp;quot;&amp;#39; AND environment=&amp;#39;&amp;quot; &amp;amp; Left(hierarchy,30) &amp;amp; &amp;quot;&amp;#39;&amp;quot;&lt;br /&gt;&amp;nbsp; objRS_Store.Source = SQL&lt;br /&gt;&amp;nbsp; objRS_Store.Open&lt;br /&gt;&amp;nbsp; if objRS_Store.RecordCount&amp;gt;0 then exists=vbTrue&lt;br /&gt;&amp;nbsp; objRS_Store.Close&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:9pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp; if NOT exists then&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;data = &amp;quot;&amp;#39;&amp;quot; &amp;amp; left(hierarchy,30) &amp;amp;&amp;quot;&amp;#39;,&amp;#39;&amp;quot;&amp;amp; sitecode &amp;amp;&amp;quot;&amp;#39;,&amp;quot;&amp;amp; polled_1day &amp;amp;&amp;quot;,&amp;quot;&amp;amp; polled_7day &amp;amp;&amp;quot;,&amp;quot;&amp;amp; CDate(todays_date) &amp;amp;&amp;quot;&amp;#39;,&amp;quot;&amp;amp; total&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SQL=&amp;quot;INSERT INTO ClientHealth_CHT VALUES (&amp;quot; &amp;amp; data &amp;amp; &amp;quot;)&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objRS_Store.Source = SQL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objRS_Store.Open&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.echo &amp;quot;saved the data for &amp;quot; &amp;amp; hierarchy &amp;amp; &amp;quot; &amp;quot; &amp;amp; sitecode&lt;br /&gt;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SQL=&amp;quot;UPDATE ClientHealth_CHT SET polled_1day=&amp;quot; &amp;amp; polled_1day &amp;amp; &amp;quot;, polled_7day=&amp;quot; &amp;amp; polled_7day&amp;nbsp;&amp;amp; &amp;quot;, client_count=&amp;quot; &amp;amp; total &amp;amp; &amp;quot; WHERE sitecode=&amp;#39;&amp;quot; &amp;amp; sitecode &amp;amp; &amp;quot;&amp;#39; AND date_stored=&amp;#39;&amp;quot; &amp;amp; CDate(todays_date) &amp;amp; &amp;quot;&amp;#39; AND environment=&amp;#39;&amp;quot; &amp;amp; left(hierarchy,30) &amp;amp; &amp;quot;&amp;#39;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objRS_Store.Source = SQL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objRS_Store.Open&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.echo &amp;quot;updated the data for &amp;quot; &amp;amp; hierarchy &amp;amp; &amp;quot; &amp;quot; &amp;amp; sitecode&lt;br /&gt;&amp;nbsp; End If&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:9pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:9pt;COLOR:black;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;End Sub&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=111337" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+health/default.aspx">client health</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/scripts/default.aspx">scripts</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/vbscript/default.aspx">vbscript</category></item><item><title>Quick advertisement status</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104723.aspx</link><pubDate>Tue, 07 Aug 2007 03:10:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:104723</guid><dc:creator>pthomsen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=104723</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104723.aspx#comments</comments><description>Summary: a few simple queries can give you a quick update on your latest advertisement. You can then react as needed or get on to more important tasks...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104723.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=104723" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/software+distribution/default.aspx">software distribution</category></item><item><title>Client Activity History - the original queries</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104677.aspx</link><pubDate>Mon, 06 Aug 2007 05:12:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:104677</guid><dc:creator>pthomsen</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=104677</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104677.aspx#comments</comments><description>Summary: starting at the basics, we need to know how much activity we&amp;#39;re seeing from our computer management clients, and thus how much we&amp;#39;re likely...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/08/06/104677.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=104677" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+health/default.aspx">client health</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+activity/default.aspx">client activity</category></item><item><title>The joys of computer management data analysis</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/07/101917.aspx</link><pubDate>Tue, 08 May 2007 03:48:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:101917</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=101917</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/07/101917.aspx#comments</comments><description>Summary: why do we enjoy computer management? One of my biggest answers is the joy of data analysis. Computer management involves a ton of diverse data...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/07/101917.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=101917" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/about+this+blog/default.aspx">about this blog</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/computer+management/default.aspx">computer management</category></item><item><title>How Microsoft IT Does Patch Management</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/02/101738.aspx</link><pubDate>Wed, 02 May 2007 20:09:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:101738</guid><dc:creator>pthomsen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=101738</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/02/101738.aspx#comments</comments><description>Summary: one of the joys of working at Microsoft IT is that we get to talk to customers frequently about what we do (and yes, I am serious when I say it&amp;#39;s...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/02/101738.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=101738" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/operations+processes/default.aspx">operations processes</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/Microsoft+IT/default.aspx">Microsoft IT</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/patch+management/default.aspx">patch management</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/software+updates+management/default.aspx">software updates management</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/webcasts/default.aspx">webcasts</category></item><item><title>Paul's TechSexy 2: how much time are your collections taking to evaluate?</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/01/101679.aspx</link><pubDate>Tue, 01 May 2007 18:39:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:101679</guid><dc:creator>pthomsen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=101679</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/01/101679.aspx#comments</comments><description>Summary: computer management is bound to be complex, as I often say, and so SMS is a very busy system. Many subsystems, at multiple levels, process a lot...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/05/01/101679.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=101679" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/collection+management/default.aspx">collection management</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/TechSexy/default.aspx">TechSexy</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SCCM/default.aspx">SCCM</category></item><item><title>Paul's TechSexy 1: great client deployment monitoring, thanks to v_ClientDeploymentState</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/04/30/101632.aspx</link><pubDate>Tue, 01 May 2007 01:33:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:101632</guid><dc:creator>pthomsen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=101632</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/04/30/101632.aspx#comments</comments><description>Summary: client deployments (new installs or upgrades) are a critical part of the life of any SMS administrator. Whether you&amp;#39;re rolling out your first...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/04/30/101632.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=101632" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/TechSexy/default.aspx">TechSexy</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+deployment/default.aspx">client deployment</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SCCM/default.aspx">SCCM</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/FSP/default.aspx">FSP</category></item><item><title>Favorite SQL tricks: the distribution of recent activity</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/04/09/100835.aspx</link><pubDate>Tue, 10 Apr 2007 02:58:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:100835</guid><dc:creator>pthomsen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=100835</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/04/09/100835.aspx#comments</comments><description>Summary: most questions that I get that can be answered with SQL queries are &amp;#39;now&amp;#39; questions - how many Vista clients do we have at this point...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/04/09/100835.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=100835" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category></item><item><title>Favorite SQL tricks: Analyzing SQL Server messages with vbScript</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/03/20/100051.aspx</link><pubDate>Wed, 21 Mar 2007 02:36:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:100051</guid><dc:creator>pthomsen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=100051</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/03/20/100051.aspx#comments</comments><description>Summary: combining SQL Server query results and vbscript is a powerful tool, and well documented. But what if you want SQL Server error messages returned...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/03/20/100051.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=100051" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/checkDB/default.aspx">checkDB</category></item><item><title>Counting clients - the SQL details</title><link>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/01/31/95651.aspx</link><pubDate>Thu, 01 Feb 2007 04:27:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:95651</guid><dc:creator>pthomsen</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://myitforum.com/cs2/blogs/pthomsen/rsscomments.aspx?PostID=95651</wfw:commentRss><comments>http://myitforum.com/cs2/blogs/pthomsen/archive/2007/01/31/95651.aspx#comments</comments><description>Summary: there are plenty of ways to count SMS clients - which is the best way? I actually use SQL Server Management Studio more than I use the SMS Administrator...(&lt;a href="http://myitforum.com/cs2/blogs/pthomsen/archive/2007/01/31/95651.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=95651" width="1" height="1"&gt;</description><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+reach/default.aspx">client reach</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+coverage/default.aspx">client coverage</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/client+counts/default.aspx">client counts</category><category domain="http://myitforum.com/cs2/blogs/pthomsen/archive/tags/SQL+queries/default.aspx">SQL queries</category></item></channel></rss>