<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Nelson Araujo's WebLog : Microsoft Baseline Security Analyzer (MBSA)</title><link>http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx</link><description>Tags: Microsoft Baseline Security Analyzer (MBSA)</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Determining missing updates from command-line output</title><link>http://blogs.msdn.com/nelson_araujo/archive/2005/08/15/452013.aspx</link><pubDate>Tue, 16 Aug 2005 08:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:452013</guid><dc:creator>Nelson Araujo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nelson_araujo/comments/452013.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nelson_araujo/commentrss.aspx?PostID=452013</wfw:commentRss><description>&lt;P&gt;Here is a quick tip on how to quickly script MBSA 2.0 to filter and show only the missing updates. But before start using it, note that using a script to parse the &lt;FONT face="Courier New"&gt;&amp;lt;UpdateData&amp;gt;&lt;/FONT&gt; nodes is a far better idea because of the richness of the information it is there. Refer to other posts in my blog for samples on how to achieve that (for example, &lt;a href="http://blogs.msdn.com/nelson_araujo/archive/2005/07/28/mbsa_automation_sample1.aspx"&gt;this one&lt;/A&gt;). Now the quick filter:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;mbsacli /n password+os+iis+sql | findstr "||&amp;nbsp;Missing ||"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;By using the /n switch, you will be &lt;U&gt;disabling&lt;/U&gt; all other checks but security update compliance, so be careful when using such option. Also notice that the word "Missing" is localized (it changes depending on the language of MBSA you installed). The example above only works for English MBSA 2.0 installations. You need to update the term to other languages as appropriate.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=452013" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx">Microsoft Baseline Security Analyzer (MBSA)</category></item><item><title>Converting a MBSA 2.0 report into text format (updates check)</title><link>http://blogs.msdn.com/nelson_araujo/archive/2005/07/29/mbsa-automation-sample2.aspx</link><pubDate>Fri, 29 Jul 2005 23:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445120</guid><dc:creator>Nelson Araujo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nelson_araujo/comments/445120.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nelson_araujo/commentrss.aspx?PostID=445120</wfw:commentRss><description>&lt;P&gt;Before you start relying on this sample, I'd like to say that: &lt;STRONG&gt;If you still uses&amp;nbsp;MBSA 1.2.1 and&amp;nbsp;this script would help you keep your automation, I&amp;nbsp;strongly encourage you to upgrade your scripts to support MBSA 2.0. MBSA 2.0 provides more data, in a more structured and organized format, making the parsing easier, more precise and more robust.&lt;/STRONG&gt; Now let's get to the sample...&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT face="Courier New"&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Usage: cscript /nologo mbsa2lr.vbs &amp;lt;your-report-file&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Example: cscript /nologo mbsa2lr.vbs "%USERPROFILE%\SecurityScans\REDMOND - NELSONA (7-25-2005 2-53 PM).mbsa"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=+0&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;File: MBSA2LR.XSL - Rules to convert the report&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;lt;?&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#800000&gt;xml&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;version&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;1.0&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;?&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;!--&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&lt;FONT face="Courier New"&gt;mbsa2text.xsl - Converts the missing updates into text-delimited format&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Requires: MBSA 2.0&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Author: Nelson Araujo&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Download: &lt;a href="http://blogs.msdn.com/nelson_araujo/archive/2005/07/29/mbsa_automation_sample2.aspx"&gt;http://blogs.msdn.com/nelson_araujo/archive/2005/07/29/mbsa_automation_sample2.aspx&lt;/A&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Copyright (C) 2005 Microsoft Corporation. All rights reserved.&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Microsoft provides programming examples for illustration only, without &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;warranty either expressed or implied, including, but not limited to, the &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;implied warranties of merchantability or fitness for a particular purpose. &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;This example assumes that you are familiar with the programming language &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;that is being demonstrated and the tools that are used to create and debug &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;procedures. Microsoft support professionals can help explain the &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;functionality of a particular procedure, but they will not modify these &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;examples to provide added functionality or construct procedures to meet your &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;specific requients. If you have limited programming experience, you may &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;want to contact a Microsoft Certified Partner or the Microsoft fee-based &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;consulting line at 1-800-936-5200. For more information about Microsoft &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Certified Partners, see the following Microsoft Web site:&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;BR&gt;&lt;A href="http://directory.microsoft.com/resourcedirectory/Solutions.aspx"&gt;http://directory.microsoft.com/resourcedirectory/Solutions.aspx&lt;/A&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;For additional information about the support options available from &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Microsoft, visit the following Microsoft Web site:&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS"&gt;http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;--&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:stylesheet&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;version&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;1.0&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;xmlns:xsl&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;http://www.w3.org/1999/XSL/Transform&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:variable&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;name&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;CR&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;'&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:variable&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;name&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;' | '&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:template&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;match&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;/&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;&lt;FONT face="Courier New"&gt;Machine Name&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;/&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Product&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;/&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Bulletin&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;/&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Q Number&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;/&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Reason&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;/&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Status&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:apply-templates&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;//UpdateData&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#808080&gt;xsl:template&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:template&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;match&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;UpdateData&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;../../../@DisplayName&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;../../@GroupName&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt; &lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;@BulletinID&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;@KBID&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:text&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;N/A&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:text&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$TAB&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:if&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;test&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;@IsInstalled = 'true'&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:text&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Installed&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:text&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt; &amp;lt;/&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:if&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;test&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;@IsInstalled = 'false'&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:text&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;Missing&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:text&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#808080&gt;xsl:if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:value-of&lt;/FONT&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;select&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;$CR&lt;/FONT&gt;&lt;FONT size=+0&gt;"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;/&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#808080&gt;xsl:template&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#808080&gt;xsl:stylesheet&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File: MBSA2LR.VBS - XSL rules processor&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;'------------------------------------------------------------------------------&lt;BR&gt;'&lt;BR&gt;' mbsa2text.vbs - Converts the missing updates into text-delimited format&lt;BR&gt;' Requires: MBSA 2.0&lt;BR&gt;' Author: Nelson Araujo&lt;BR&gt;' Download: &lt;a href="http://blogs.msdn.com/nelson_araujo/archive/2005/07/29/mbsa_automation_sample2.aspx"&gt;http://blogs.msdn.com/nelson_araujo/archive/2005/07/29/mbsa_automation_sample2.aspx&lt;/A&gt; &lt;BR&gt;'&lt;BR&gt;' Copyright (C) 2005 Microsoft Corporation. All rights reserved.&lt;BR&gt;'&lt;BR&gt;' Microsoft provides programming examples for illustration only, without &lt;BR&gt;' warranty either expressed or implied, including, but not limited to, the &lt;BR&gt;' implied warranties of merchantability or fitness for a particular purpose. &lt;BR&gt;' This example assumes that you are familiar with the programming language &lt;BR&gt;' that is being demonstrated and the tools that are used to create and debug &lt;BR&gt;' procedures. Microsoft support professionals can help explain the &lt;BR&gt;' functionality of a particular procedure, but they will not modify these &lt;BR&gt;' examples to provide added functionality or construct procedures to meet your &lt;BR&gt;' specific requirements. If you have limited programming experience, you may &lt;BR&gt;' want to contact a Microsoft Certified Partner or the Microsoft fee-based &lt;BR&gt;' consulting line at 1-800-936-5200. For more information about Microsoft &lt;BR&gt;' Certified Partners, see the following Microsoft Web site:&lt;BR&gt;' &lt;BR&gt;' &lt;A href="http://directory.microsoft.com/resourcedirectory/Solutions.aspx"&gt;http://directory.microsoft.com/resourcedirectory/Solutions.aspx&lt;/A&gt; &lt;BR&gt;'&lt;BR&gt;' For additional information about the support options available from &lt;BR&gt;' Microsoft, visit the following Microsoft Web site:&lt;BR&gt;' &lt;BR&gt;' &lt;A href="http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS"&gt;http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS&lt;/A&gt; &lt;BR&gt;'&lt;BR&gt;'------------------------------------------------------------------------------&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;BR&gt;Option&lt;/FONT&gt;&lt;FONT size=+0&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Explicit&lt;BR&gt;&lt;BR&gt;Dim&lt;/FONT&gt;&lt;FONT size=+0&gt; xml&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&lt;FONT size=+0&gt; xsl&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt;&lt;FONT size=+0&gt; output&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Set&lt;/FONT&gt;&lt;FONT size=+0&gt; xsl = CreateObject(&lt;/FONT&gt;&lt;FONT color=#800000&gt;"MSXML2.DOMDocument"&lt;/FONT&gt;&lt;FONT size=+0&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Set&lt;/FONT&gt;&lt;FONT size=+0&gt; xml = CreateObject(&lt;/FONT&gt;&lt;FONT color=#800000&gt;"MSXML2.DOMDocument"&lt;/FONT&gt;&lt;FONT size=+0&gt;)&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;If&lt;/FONT&gt;&lt;FONT size=+0&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Not&lt;/FONT&gt;&lt;FONT size=+0&gt; xsl.load(&lt;/FONT&gt;&lt;FONT color=#800000&gt;"mbsa2lr.xsl"&lt;/FONT&gt;&lt;FONT size=+0&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT color=#800000&gt;"Cannot load XSL file"&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(2)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&lt;FONT size=+0&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;If&lt;BR&gt;&lt;BR&gt;If&lt;/FONT&gt;&lt;FONT size=+0&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Not&lt;/FONT&gt;&lt;FONT size=+0&gt; xml.load(WScript.Arguments(0)) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT color=#800000&gt;"Cannot load MBSA report file"&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(3)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;End&lt;/FONT&gt;&lt;FONT size=+0&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;If&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Process the report&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;WScript.Echo xml.transformNode(xsl)&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT face="Times New Roman"&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;Sample output:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;?xml version="1.0" encoding="UTF-16"?&amp;gt;&lt;BR&gt;Machine Name | Product | Bulletin | Q Number | Reason | Status&lt;BR&gt;REDMOND\NELSONA | Office |&amp;nbsp; | 842774 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Office |&amp;nbsp; | 842532 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Office |&amp;nbsp; | 840663 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Office | MS05-023 | 887979 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows |&amp;nbsp; | 867460 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS04-043 | 873339 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS04-041 | 885836 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-001 | 890175 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-004 | 886903 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-007 | 888302 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-009 | 887472 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-013 | 891781 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-015 | 888113 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-012 | 873333 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-016 | 893086 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-018 | 890859 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS04-044 | 885835 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-011 | 885250 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-026 | 896358 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-032 | 890046 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-027 | 896422 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-033 | 896428 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-025 | 883939 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-019 | 893066 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows |&amp;nbsp; | 890830 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-037 | 903235 | N/A | Installed&lt;BR&gt;REDMOND\NELSONA | Windows |&amp;nbsp; | 890830 | N/A | Missing&lt;BR&gt;REDMOND\NELSONA | Windows | MS05-036 | 901214 | N/A | Installed&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=445120" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx">Microsoft Baseline Security Analyzer (MBSA)</category></item><item><title>Determining if a patch/update is installed with MBSA 2.0</title><link>http://blogs.msdn.com/nelson_araujo/archive/2005/07/28/mbsa-automation-sample1.aspx</link><pubDate>Thu, 28 Jul 2005 23:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444632</guid><dc:creator>Nelson Araujo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nelson_araujo/comments/444632.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nelson_araujo/commentrss.aspx?PostID=444632</wfw:commentRss><description>&lt;P&gt;In the 2.0 version of MBSA there are structured information about patches and updates. To verify if a patch is missing or installed, simple XML queries can be issued for that purpose. The 2 small programs below accomplish that task. You can use them as a start for your integration scripts and/or to get an idea where to start.&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Usage: CheckIsInstalled &amp;lt;REPORT-FILE&amp;gt; &amp;lt;PATCH-TO-SEARCH&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;Example: &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;CheckIsInstalled "%USERPROFILE%\SecurityScans\REDMOND - NELSONA (7-25-2005 2-53 PM).mbsa" MS05-001&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/STRONG&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;STRONG&gt;CheckIsInstalled.cmd - Command script to verify if a patch is missing&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;@echo off&lt;BR&gt;REM&lt;BR&gt;REM CheckIsInstalled.cmd - Verifies if a patch is missing on the system&lt;BR&gt;REM Requires: MBSA 2.0&lt;BR&gt;REM Author: Nelson Araujo&lt;BR&gt;REM Download: &lt;a href="http://blogs.msdn.com/nelson_araujo/archive/2005/07/28/mbsa_automation_sample1.aspx"&gt;http://blogs.msdn.com/nelson_araujo/archive/2005/07/28/mbsa_automation_sample1.aspx&lt;/A&gt; &lt;BR&gt;REM&lt;BR&gt;REM Copyright (C) 2005 Microsoft Corporation. All rights reserved.&lt;BR&gt;REM&lt;BR&gt;REM Microsoft provides programming examples for illustration only, without &lt;BR&gt;REM warranty either expressed or implied, including, but not limited to, the &lt;BR&gt;REM implied warranties of merchantability or fitness for a particular purpose. &lt;BR&gt;REM This example assumes that you are familiar with the programming language &lt;BR&gt;REM that is being demonstrated and the tools that are used to create and debug &lt;BR&gt;REM procedures. Microsoft support professionals can help explain the &lt;BR&gt;REM functionality of a particular procedure, but they will not modify these &lt;BR&gt;REM examples to provide added functionality or construct procedures to meet your &lt;BR&gt;REM specific requirements. If you have limited programming experience, you may &lt;BR&gt;REM want to contact a Microsoft Certified Partner or the Microsoft fee-based &lt;BR&gt;REM consulting line at 1-800-936-5200. For more information about Microsoft &lt;BR&gt;REM Certified Partners, see the following Microsoft Web site:&lt;BR&gt;REM &lt;BR&gt;REM &lt;A href="http://directory.microsoft.com/resourcedirectory/Solutions.aspx"&gt;http://directory.microsoft.com/resourcedirectory/Solutions.aspx&lt;/A&gt; &lt;BR&gt;REM&lt;BR&gt;REM For additional information about the support options available from &lt;BR&gt;REM Microsoft, visit the following Microsoft Web site:&lt;BR&gt;REM &lt;BR&gt;REM &lt;A href="http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS"&gt;http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS&lt;/A&gt; &lt;BR&gt;REM&lt;BR&gt;REM ------------------------------------------------------------------------------&lt;BR&gt;REM&lt;BR&gt;REM Usage: CheckIsInstalled "%USERPROFILE%\SecurityScans\MyReportFile.mbsa" PATCH&lt;BR&gt;REM MyReportFile = modify to represent your MBSA report name&lt;BR&gt;REM PATCH = modify to represent the patch you want to find, e.g. MS05-023&lt;BR&gt;REM&lt;BR&gt;REM ------------------------------------------------------------------------------&lt;BR&gt;&lt;BR&gt;echo Checking for update...&lt;BR&gt;&lt;BR&gt;cscript IsPatchMissing.vbs %1 %2&lt;BR&gt;if errorlevel 3 goto reportfail&lt;BR&gt;if errorlevel 2 goto updatenotfound&lt;BR&gt;if errorlevel 1 goto not_installed&lt;BR&gt;if errorlevel 0 goto installed&lt;BR&gt;goto EOF&lt;BR&gt;&lt;BR&gt;:reportfail&lt;BR&gt;echo ERROR: Cannot load report from %1&lt;BR&gt;goto EOF&lt;BR&gt;&lt;BR&gt;:updatenotfound&lt;BR&gt;echo ERROR: Cannot find information for %2&lt;BR&gt;goto EOF&lt;BR&gt;&lt;BR&gt;:not_installed&lt;BR&gt;echo WARNING: Update %2 is NOT installed&lt;BR&gt;goto EOF&lt;BR&gt;&lt;BR&gt;:installed&lt;BR&gt;echo OK: Update %2 is installed&lt;BR&gt;goto EOF&lt;BR&gt;&lt;BR&gt;:EOF&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;IsPatchMissing.vbs - Helper VB Script to verify the presence of a specific patch/update by ID&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;'------------------------------------------------------------------------------&lt;BR&gt;'&lt;BR&gt;' IsPatchMissing.vbs - Verifies if a patch is missing on the system&lt;BR&gt;' Requires: MBSA 2.0&lt;BR&gt;' Author: Nelson Araujo&lt;BR&gt;' Download: &lt;a href="http://blogs.msdn.com/nelson_araujo/archive/2005/07/28/mbsa_automation_sample1.aspx'"&gt;http://blogs.msdn.com/nelson_araujo/archive/2005/07/28/mbsa_automation_sample1.aspx&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&lt;FONT face="Courier New"&gt;&lt;BR&gt;&lt;/A&gt;'&lt;BR&gt;' Copyright (C) 2005 Microsoft Corporation. All rights reserved.&lt;BR&gt;'&lt;BR&gt;' Microsoft provides programming examples for illustration only, without &lt;BR&gt;' warranty either expressed or implied, including, but not limited to, the &lt;BR&gt;' implied warranties of merchantability or fitness for a particular purpose. &lt;BR&gt;' This example assumes that you are familiar with the programming language &lt;BR&gt;' that is being demonstrated and the tools that are used to create and debug &lt;BR&gt;' procedures. Microsoft support professionals can help explain the &lt;BR&gt;' functionality of a particular procedure, but they will not modify these &lt;BR&gt;' examples to provide added functionality or construct procedures to meet your &lt;BR&gt;' specific requirements. If you have limited programming experience, you may &lt;BR&gt;' want to contact a Microsoft Certified Partner or the Microsoft fee-based &lt;BR&gt;' consulting line at 1-800-936-5200. For more information about Microsoft &lt;BR&gt;' Certified Partners, see the following Microsoft Web site:&lt;BR&gt;' &lt;BR&gt;' &lt;A href="http://directory.microsoft.com/resourcedirectory/Solutions.aspx"&gt;http://directory.microsoft.com/resourcedirectory/Solutions.aspx&lt;/A&gt; &lt;BR&gt;'&lt;BR&gt;' For additional information about the support options available from &lt;BR&gt;' Microsoft, visit the following Microsoft Web site:&lt;BR&gt;' &lt;BR&gt;' &lt;A href="http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS"&gt;http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS&lt;/A&gt; &lt;BR&gt;'&lt;BR&gt;'------------------------------------------------------------------------------&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Option&lt;/FONT&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Explicit&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; xml&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; update&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; isInstalled&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; report&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; updID&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;report = WScript.Arguments(0)&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;updID = WScript.Arguments(1)&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; xml = CreateObject(&lt;FONT color=#800000&gt;"MSXML2.DOMDocument"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;xml.Load report&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; &lt;FONT color=#0000ff&gt;Len&lt;/FONT&gt;(xml.xml) = 0 &lt;FONT color=#0000ff&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT face="Courier New" color=#800000&gt;"Cannot load MBSA XML report: "&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; &amp;amp; report&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(3)&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; &lt;FONT color=#0000ff&gt;If&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#008000&gt;' Searches for the patch ID&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; update = xml.SelectSingleNode(&lt;FONT color=#800000&gt;"//UpdateData[@ID='"&lt;/FONT&gt; &amp;amp; updID &amp;amp; &lt;FONT color=#800000&gt;"']"&lt;/FONT&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; update &lt;FONT color=#0000ff&gt;Is&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Nothing&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT color=#800000&gt;&lt;FONT face="Courier New"&gt;"Update information not found"&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(2)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; &lt;FONT color=#0000ff&gt;If&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#008000&gt;' Verifies if patch is installed&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;Set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; isInstalled = update.SelectSingleNode(&lt;FONT color=#800000&gt;"@IsInstalled"&lt;/FONT&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; isInstalled &lt;FONT color=#0000ff&gt;Is&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Nothing&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT color=#800000&gt;&lt;FONT face="Courier New"&gt;"Update information corrupted or missing"&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(2)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;If&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;If&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; isInstalled.Value = &lt;FONT color=#800000&gt;"true"&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#800000&gt;"Update "&lt;/FONT&gt; &amp;amp; updID &amp;amp; &lt;FONT color=#800000&gt;" is installed"&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(0)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff&gt;Else&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Echo &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#800000&gt;"Update "&lt;/FONT&gt; &amp;amp; updID &amp;amp; &lt;FONT color=#800000&gt;" is NOT installed"&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; WScript.Quit(1)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New"&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; &lt;FONT color=#0000ff&gt;If&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=444632" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx">Microsoft Baseline Security Analyzer (MBSA)</category></item><item><title>Microsoft Baseline Security Analyzer 2.0 (MBSA 2.0) shipped</title><link>http://blogs.msdn.com/nelson_araujo/archive/2005/07/04/mbsa20-ship.aspx</link><pubDate>Tue, 05 Jul 2005 07:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:435549</guid><dc:creator>Nelson Araujo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nelson_araujo/comments/435549.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nelson_araujo/commentrss.aspx?PostID=435549</wfw:commentRss><description>&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;I'd like to let you all know that Microsoft Baseline Security Analyzer 2.0 (aka MBSA 2.0) has shipped. To get the new application, also available in other languages, please visit the product download page at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/mbsa"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;http://www.microsoft.com/mbsa&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;. The download is &lt;U&gt;free&lt;/U&gt; and it is very simple to use.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=435549" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx">Microsoft Baseline Security Analyzer (MBSA)</category></item><item><title>Visio Connector for MBSA available</title><link>http://blogs.msdn.com/nelson_araujo/archive/2005/05/05/415094.aspx</link><pubDate>Fri, 06 May 2005 02:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:415094</guid><dc:creator>Nelson Araujo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nelson_araujo/comments/415094.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nelson_araujo/commentrss.aspx?PostID=415094</wfw:commentRss><description>&lt;P&gt;This add-on to Visio is very cool. It integrates Visio and MBSA. With this tool you can: (1) perform scans directly from Visio and (2) view the results of the output directly on your network topology chart.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/security/tools/mbsavisio.mspx"&gt;http://www.microsoft.com/technet/security/tools/mbsavisio.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It is pretty simple to use and the instructions are clear. If you have trouble using it, add a comment to this blog and I'll try help you out.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;Thanks to Michael Howard to remembering me to post this ;-) (&lt;/FONT&gt;&lt;/EM&gt;&lt;a href="http://blogs.msdn.com/michael_howard/archive/2005/05/05/415046.aspx"&gt;&lt;EM&gt;&lt;FONT size=2&gt;http://blogs.msdn.com/michael_howard/archive/2005/05/05/415046.aspx&lt;/FONT&gt;&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=415094" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx">Microsoft Baseline Security Analyzer (MBSA)</category></item><item><title>SPPT (System Protection Products Team) is hiring</title><link>http://blogs.msdn.com/nelson_araujo/archive/2005/04/13/407957.aspx</link><pubDate>Thu, 14 Apr 2005 03:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:407957</guid><dc:creator>Nelson Araujo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nelson_araujo/comments/407957.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nelson_araujo/commentrss.aspx?PostID=407957</wfw:commentRss><description>Job opportunities on the System Protection Team (Security)....(&lt;a href="http://blogs.msdn.com/nelson_araujo/archive/2005/04/13/407957.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=407957" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nelson_araujo/archive/tags/Microsoft+Baseline+Security+Analyzer+_2800_MBSA_2900_/default.aspx">Microsoft Baseline Security Analyzer (MBSA)</category></item></channel></rss>