<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Kevin Colby at myITforum.com</title><link>http://myitforum.com/cs2/blogs/kcolby/default.aspx</link><description>The technical wanderings of an IT and Systems Management generalist</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 SP2 (Build: 31113.47)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/KevinColbyAtMyitforumcom" type="application/rss+xml" /><item><title>MMS Session SS03 Manage Your Environment Using Microsoft Forefront Integration Kit for Network Access Protection through FCS to SCCM Integration </title><link>http://feedproxy.google.com/~r/KevinColbyAtMyitforumcom/~3/P4yfG8cNJdg/mms-session-ss03-manage-your-environment-using-microsoft-forefront-integration-kit-for-network-access-protection-through-fcs-to-sccm-integration.aspx</link><pubDate>Wed, 23 Apr 2008 17:06:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:115387</guid><dc:creator>kcolby</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://myitforum.com/cs2/blogs/kcolby/rsscomments.aspx?PostID=115387</wfw:commentRss><wfw:comment>http://myitforum.com/cs2/blogs/kcolby/commentapi.aspx?PostID=115387</wfw:comment><comments>http://myitforum.com/cs2/blogs/kcolby/archive/2008/04/23/mms-session-ss03-manage-your-environment-using-microsoft-forefront-integration-kit-for-network-access-protection-through-fcs-to-sccm-integration.aspx#comments</comments><description>Make sure you stop by Titian 2201B at 10:15 on Thursday to watch me attempt to keep from looking like a deer in the headlights while I present the document I wrote on integrating Forefront Client Security (FCS) and ConfigMgr. I look forward to the opportunity to show off the documentation that I mentioned in an earlier blog post. I have gotten some pretty good feedback on the document and nobody has complained that it set their datacenter on fire (phew!) but MMS is a tough crowd from a technical perspective. I hope to see some of you there!&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=115387" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?a=P4yfG8cNJdg:0BkvHZh6dA8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?a=P4yfG8cNJdg:0BkvHZh6dA8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?i=P4yfG8cNJdg:0BkvHZh6dA8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinColbyAtMyitforumcom/~4/P4yfG8cNJdg" height="1" width="1"/&gt;</description><category domain="http://myitforum.com/cs2/blogs/kcolby/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://myitforum.com/cs2/blogs/kcolby/archive/tags/MMS/default.aspx">MMS</category><feedburner:origLink>http://myitforum.com/cs2/blogs/kcolby/archive/2008/04/23/mms-session-ss03-manage-your-environment-using-microsoft-forefront-integration-kit-for-network-access-protection-through-fcs-to-sccm-integration.aspx</feedburner:origLink></item><item><title>Automating ConfigMgr Query Creation with Powershell</title><link>http://feedproxy.google.com/~r/KevinColbyAtMyitforumcom/~3/tsl8MDO6AXQ/automating-configmgr-query-creation-with-powershell.aspx</link><pubDate>Wed, 02 Apr 2008 22:50:19 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:114550</guid><dc:creator>kcolby</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://myitforum.com/cs2/blogs/kcolby/rsscomments.aspx?PostID=114550</wfw:commentRss><wfw:comment>http://myitforum.com/cs2/blogs/kcolby/commentapi.aspx?PostID=114550</wfw:comment><comments>http://myitforum.com/cs2/blogs/kcolby/archive/2008/04/02/automating-configmgr-query-creation-with-powershell.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m currently working on implementing a fairly large System Center Configuration Manager (ConfigMgr or SCCM depending on who you ask and the time of day) hierarchy. The hierarchy spans multiple domains on the workstation side of the house and we are targeting and tracking client deployment on a per domain basis.&amp;nbsp; With 11 domains and 4 queries per domain on 3 site servers I wanted to make my life a little easier so I spent some quality time with the ConfigMgr SDK and the PowerGui Script Editor to hack out a script to do it for me.&lt;/p&gt; &lt;p&gt;The script simply has 2 arrays that it iterates over, one for domains, and the other for the queries to create.&amp;nbsp; The array for the Domains is a plain vanilla list of strings.&amp;nbsp; The Array for the Queries is a bit more complex since it required more than a single piece of data per query.&amp;nbsp; I used an array of hashmaps for this.&amp;nbsp; There may be a more elegant way to handle this (an array of custom objects perhaps) but my days of perl have made me relatively comfortable with complex nested data structures.&amp;nbsp; &lt;/p&gt; &lt;p&gt;All of that was simple.&amp;nbsp; But issues with the Put() method on the WMI class gave me quite a bit of trouble.&amp;nbsp; Apparently, the put method occasionally fails to function for no apparent reason.&amp;nbsp; To resolve this I had to trap the exception and re-call the put method.&amp;nbsp; That worked splendidly.&amp;nbsp; After figuring out a bit more of the structure of the objects returned I was also able to spit out a nice bit of text if the creation succeeded of error out if it failed.&amp;nbsp; &lt;/p&gt; &lt;p&gt;One major item to note, the SDK will allow you to create duplicate queries.&amp;nbsp; So be prepared to delete some stuff if you play around with this script.&amp;nbsp; And now what you&amp;#39;ve probably been scrolling past all of this text to find...&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="color:#800080;"&gt;$site&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SMS&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#800080;"&gt;$siteserver&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SCCMServer01&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;

[&lt;/span&gt;&lt;span style="color:#008080;"&gt;array&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$domains&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @(
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DOMA&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DOMB&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DOMC&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;DOMD&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
)

[&lt;/span&gt;&lt;span style="color:#008080;"&gt;array&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$queries&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @()

&lt;/span&gt;&lt;span style="color:#800080;"&gt;$queries&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @{
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;|DOMAIN| - All Workstations&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Expression&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.ADSiteName, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.NetbiosName from  SMS_R_System where SMS_R_System.Client = 1 and SMS_R_System.ResourceDomainORWorkgroup = &amp;quot;|DOMAIN|&amp;quot; and SMS_R_System.OperatingSystemNameandVersion like &amp;quot;Microsoft Windows NT%Workstation%&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TargetClassName&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SMS_R_System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
}
&lt;/span&gt;&lt;span style="color:#800080;"&gt;$queries&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @{
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;|DOMAIN| - All Client Workstations&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Expression&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.NetbiosName from  SMS_R_System where SMS_R_System.OperatingSystemNameandVersion like &amp;quot;Microsoft Windows NT%Workstation%&amp;quot; and SMS_R_System.ResourceDomainORWorkgroup = &amp;quot;|DOMAIN|&amp;quot; and (SMS_R_System.Client = 1 or SMS_R_System.Client is not null )&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TargetClassName&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SMS_R_System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
}
&lt;/span&gt;&lt;span style="color:#800080;"&gt;$queries&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @{
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;|DOMAIN| - All Non-Client Workstations&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Expression&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.NetbiosName, SMS_R_System.ADSiteName from  SMS_R_System where SMS_R_System.OperatingSystemNameandVersion like &amp;quot;Microsoft Windows NT%Workstation%&amp;quot; and SMS_R_System.ResourceDomainORWorkgroup = &amp;quot;|DOMAIN|&amp;quot; and (SMS_R_System.Client = 0 or SMS_R_System.Client is null )&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TargetClassName&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SMS_R_System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
}
&lt;/span&gt;&lt;span style="color:#800080;"&gt;$queries&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @{
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;|DOMAIN| - All Computers&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Expression&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.NetbiosName, SMS_R_System.ADSiteName from  SMS_R_System where SMS_R_System.ResourceDomainORWorkgroup = &amp;quot;|DOMAIN|&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;TargetClassName&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SMS_R_System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
}

&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt; New-SMSquery {
    &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Param&lt;/span&gt;&lt;span style="color:#000000;"&gt; (
        [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$SiteServer&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;.&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
        [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Site&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
        [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Name&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; $(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Missing required parameter (Name)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;),
        [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Expression&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; $(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Missing required parameter (Expression)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;),
        [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$TargetClassName&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SMS_R_System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    )
    Process {
        &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;trap&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#008080;"&gt;System.Management.Automation.RuntimeException&lt;/span&gt;&lt;span style="color:#000000;"&gt;] {
            &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#000080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Exception.ErrorRecord.TargetObject &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;put&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;) {&lt;/span&gt;&lt;span style="color:#000000;"&gt;
                &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt;.put()
                &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;continue&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            } &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt; {
                &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            }
        }
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$eap&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000080;"&gt;$ErrorActionPreference&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#000080;"&gt;$ErrorActionPreference&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;stop&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$QueryClass&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#008080;"&gt;wmiclass&lt;/span&gt;&lt;span style="color:#000000;"&gt;]&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;\\$Siteserver\root\sms\site_$($Site):SMS_Query&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$QueryClass&lt;/span&gt;&lt;span style="color:#000000;"&gt;.CreateInstance()
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt;.name &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Name&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt;.expression &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Expression&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt;.targetclassname &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#800080;"&gt;$TargetClassName&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt;.put()
        &lt;/span&gt;&lt;span style="color:#000080;"&gt;$ErrorActionPreference&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$eap&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newquery&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    }
}

&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$d&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$domains&lt;/span&gt;&lt;span style="color:#000000;"&gt;) {
    &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$queries&lt;/span&gt;&lt;span style="color:#000000;"&gt;) {
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; new-SMSQuery -SiteServer &lt;/span&gt;&lt;span style="color:#800080;"&gt;$SiteServer&lt;/span&gt;&lt;span style="color:#000000;"&gt; -Site &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Site&lt;/span&gt;&lt;span style="color:#000000;"&gt; -Name $(&lt;/span&gt;&lt;span style="color:#800080;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Name.Replace(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;|DOMAIN|&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#800080;"&gt;$d&lt;/span&gt;&lt;span style="color:#000000;"&gt;)) -Expression $(&lt;/span&gt;&lt;span style="color:#800080;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Expression.Replace(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#800000;"&gt;|DOMAIN|&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#800080;"&gt;$d&lt;/span&gt;&lt;span style="color:#000000;"&gt;)) -TargetClassName $(&lt;/span&gt;&lt;span style="color:#800080;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;.TargetClassName)
        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$newq&lt;/span&gt;&lt;span style="color:#000000;"&gt; | &lt;/span&gt;&lt;span style="font-weight:bold;color:#5f9ea0;"&gt;gm&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800080;"&gt;$newq&lt;/span&gt;&lt;span style="color:#000000;"&gt;[0].IsInstance) {
            &lt;/span&gt;&lt;span style="font-weight:bold;color:#5f9ea0;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Created query: $($newq.Name) ($($newq.QueryID))&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        } &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt; {
            &lt;/span&gt;&lt;span style="font-weight:bold;color:#5f9ea0;"&gt;Write-Error&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Failed to create query $($q.Name.Replace(&amp;#39;|DOMAIN|&amp;#39;,$d))&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            exit
        }
    }
}&lt;/span&gt;&lt;/pre&gt;&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=114550" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?a=tsl8MDO6AXQ:sQFxulri3T0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?a=tsl8MDO6AXQ:sQFxulri3T0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?i=tsl8MDO6AXQ:sQFxulri3T0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinColbyAtMyitforumcom/~4/tsl8MDO6AXQ" height="1" width="1"/&gt;</description><category domain="http://myitforum.com/cs2/blogs/kcolby/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://myitforum.com/cs2/blogs/kcolby/archive/tags/Powershell/default.aspx">Powershell</category><feedburner:origLink>http://myitforum.com/cs2/blogs/kcolby/archive/2008/04/02/automating-configmgr-query-creation-with-powershell.aspx</feedburner:origLink></item><item><title>I'm officially published in Beta</title><link>http://feedproxy.google.com/~r/KevinColbyAtMyitforumcom/~3/YQtJWSM1zXk/i-m-officially-published-in-beta.aspx</link><pubDate>Wed, 27 Feb 2008 03:43:35 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:114549</guid><dc:creator>kcolby</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://myitforum.com/cs2/blogs/kcolby/rsscomments.aspx?PostID=114549</wfw:commentRss><wfw:comment>http://myitforum.com/cs2/blogs/kcolby/commentapi.aspx?PostID=114549</wfw:comment><comments>http://myitforum.com/cs2/blogs/kcolby/archive/2008/02/26/i-m-officially-published-in-beta.aspx#comments</comments><description>Some of you may know that I&amp;#39;ve been working on some documentation for integrating MS System Center Configuration Manager and MS Forefront Client Security so that they could play nice together. Well the document has been delivered to MS and &lt;a href="http://www.codeplex.com/fcscompete/Release/ProjectReleases.aspx?ReleaseId=11034"&gt;posted&lt;/a&gt; as a Beta on Codeplex. Assuming it doesn&amp;#39;t turn anybody&amp;#39;s network/servers into smoking rubble, it should be posted on the main Microsoft site in the next couple weeks.&lt;img src="http://myitforum.com/cs2/aggbug.aspx?PostID=114549" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?a=YQtJWSM1zXk:ajAi_k5NtIY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?a=YQtJWSM1zXk:ajAi_k5NtIY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinColbyAtMyitforumcom?i=YQtJWSM1zXk:ajAi_k5NtIY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinColbyAtMyitforumcom/~4/YQtJWSM1zXk" height="1" width="1"/&gt;</description><category domain="http://myitforum.com/cs2/blogs/kcolby/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><feedburner:origLink>http://myitforum.com/cs2/blogs/kcolby/archive/2008/02/26/i-m-officially-published-in-beta.aspx</feedburner:origLink></item></channel></rss>
