<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.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>Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx</link><description>To truly unleash the potential of BDD 2007 you must first understand the concept of rule processing. A rule is used to define the variables that drive the entire imaging process. They are used to define properties such as the computer name, the local</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>BDD 2007 Tips - Creating Model Aliases</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#713053</link><pubDate>Wed, 28 Mar 2007 10:48:48 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:713053</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;When trying to manage drivers and hardware specific application with BDD 2007, I have found that with&lt;/p&gt;
</description></item><item><title>BDD 2007 - Tips and Tricks - Multiple Keyboard Locales</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#738055</link><pubDate>Mon, 09 Apr 2007 05:16:48 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:738055</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;I have had recently had a couple of enquires from people having issues with setting multiple keyboard&lt;/p&gt;
</description></item><item><title>BDD 2007 - Tips and Tricks - How to write a custom script</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#772400</link><pubDate>Sun, 15 Apr 2007 12:47:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:772400</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;BDD provides a scripting framework, by leveraging this framework you can write a custom script that can&lt;/p&gt;
</description></item><item><title>BDD 2007 - Tips and Tricks - Identifying hardware types</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#1002285</link><pubDate>Sun, 20 May 2007 06:43:11 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1002285</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;When using BDD to deploy and OS one of the first things it does is detect information about the hardware&lt;/p&gt;
</description></item><item><title>BDD 2007 - Troubleshooting Database issues</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#1496239</link><pubDate>Tue, 10 Jul 2007 22:21:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1496239</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;I have lost count of the number of times I have been asked to help some troubleshoot their database issues,&lt;/p&gt;</description></item><item><title>BDD 2007 - Reusing the SMS GUID in the New Computer Scenario</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#1513328</link><pubDate>Fri, 13 Jul 2007 12:50:14 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1513328</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;When performing a refresh based deployment using Zero Touch BDD will retain the computers current SMS&lt;/p&gt;</description></item><item><title>BDD 2007 - How do you do it?</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#1997915</link><pubDate>Thu, 20 Sep 2007 03:57:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1997915</guid><dc:creator>Ben Hunter</dc:creator><description>&lt;p&gt;I am often asked how I install and configure BDD 2007. So I thought now was a good time detail at a high&lt;/p&gt;</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2520535</link><pubDate>Mon, 19 Nov 2007 18:51:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2520535</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I have setup a build which has several applications installing through the task sequence method, and id believe it is possible to create rules so that certain applications can be installed or not depending on the make and model of the machine, when interogated though WMI.&lt;/p&gt;
&lt;p&gt;Ive seen several blogs on how to do this, but really cant see how the wmi query is put together within the &amp;quot;options&amp;quot; of the task.&lt;/p&gt;
&lt;p&gt;What i am having trouble with is working out how to do a WQL query (as im not a programmer), assign it or them to variables and use them to determine whether or not to install specific applications.&lt;/p&gt;
&lt;p&gt;So far i have this tried this from some code i found in a vbscript to get model info, not my code as i cant program.&lt;/p&gt;
&lt;p&gt; - WQL Query=p_model = trim(p_WMIObj.model)&lt;/p&gt;
&lt;p&gt; - If ALL Condiotns are true&lt;/p&gt;
&lt;p&gt; &amp;nbsp; - Task sequence variable p_model equals 2374PG2&lt;/p&gt;
&lt;p&gt;Ive run the TS.xml for an applications only build as described elsewhere and nothing happens. What should happen is a hardware specific app installation.&lt;/p&gt;
&lt;p&gt;Please Help&lt;/p&gt;
&lt;p&gt;Im sure this is possible, and would really like some guidance on this.&lt;/p&gt;
&lt;p&gt;Many Thanks&lt;/p&gt;
&lt;p&gt;Chris Snell&lt;/p&gt;</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2528334</link><pubDate>Tue, 20 Nov 2007 10:57:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2528334</guid><dc:creator>BenHunter</dc:creator><description>&lt;p&gt;Hi Chris,&lt;/p&gt;
&lt;p&gt;BDD will gather the WMI value for you automatically. You can then use these values within scripts or in the customsettings.ini file. You can also use the database to dynamically install applications based on the hardware type.&lt;/p&gt;
&lt;p&gt;For information on how to write a customscript have a look at the following post:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/benhunter/archive/2007/04/15/bdd-2007-ndash-tips-and-tricks-ndash-how-to-write-a-custom-script.aspx"&gt;http://blogs.technet.com/benhunter/archive/2007/04/15/bdd-2007-ndash-tips-and-tricks-ndash-how-to-write-a-custom-script.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For information on how to create and use model aliases have a look at the following post:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/benhunter/archive/2007/03/28/bdd-2007-tips-creating-model-aliases.aspx"&gt;http://blogs.technet.com/benhunter/archive/2007/03/28/bdd-2007-tips-creating-model-aliases.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You will also find lots of good information on myitforum.com:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.myitforum.com/myITWiki/BDD2007Config_ConfigureModels.ashx"&gt;http://www.myitforum.com/myITWiki/BDD2007Config_ConfigureModels.ashx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Ben&lt;/p&gt;
</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2622372</link><pubDate>Sat, 08 Dec 2007 02:35:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2622372</guid><dc:creator>Rudolph</dc:creator><description>&lt;p&gt;Ben,&lt;/p&gt;
&lt;p&gt;Thanks for the great blog and post. I'm having difficulty finding out how to assign a static IP address during the deployment process. I'm open to a user prompt in the wizard or a web service/or db call but I don't know how to integrate into the bdd process. Any advice would be appreciated. &lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2647271</link><pubDate>Fri, 14 Dec 2007 22:18:37 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2647271</guid><dc:creator>BenHunter</dc:creator><description>&lt;p&gt;Hi Rudolph,&lt;/p&gt;
&lt;p&gt;Are you wanting to assign static address to WinPE or withing Windows?&lt;/p&gt;
&lt;p&gt;If you want to do it within Windows then I suggest that you use MDT as it provides this functionality natively.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Ben&lt;/p&gt;
</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2686572</link><pubDate>Fri, 28 Dec 2007 18:20:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2686572</guid><dc:creator>Ghost</dc:creator><description>&lt;p&gt;Ben,&lt;/p&gt;
&lt;p&gt;I have a problem using custom properties in BDD 2007. I have designed a solution for replacing computers during the installation. The idea was to let the property &amp;quot;ReplaceComputerName&amp;quot; be populated by a user dialog during the first installation phase, and then use this property in the StateRestore phase to remove the old computer and inherit its AD memberships. But the property value doesn't seem to survive to the next phase. I can see that the value for the property is saved to the Variables.dat file on the client, but ZTIutility.vbs seemes to ignore reading the value back to the oEnvironment dictionary. Is it necessary to populate the CustomSettings.ini variables in each phase by the BDD rule processing?&lt;/p&gt;
&lt;p&gt;Thanks for any advice!&lt;/p&gt;
&lt;p&gt;Jack &lt;/p&gt;</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2693340</link><pubDate>Mon, 31 Dec 2007 03:16:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2693340</guid><dc:creator>BenHunter</dc:creator><description>&lt;p&gt;Hi Jack,&lt;/p&gt;
&lt;p&gt;If you are going to use a non-standard variable then you need to specify it using the properties line in the customsettings.ini file, for example:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; [Settings] &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; Properties=ReplaceComputerName&lt;/p&gt;
&lt;p&gt;This will then be available across all phases.&lt;/p&gt;
&lt;p&gt;How are you referencing the &amp;nbsp;variable in your script?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Ben&lt;/p&gt;
</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2712182</link><pubDate>Sat, 05 Jan 2008 13:58:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2712182</guid><dc:creator>Ghost</dc:creator><description>&lt;p&gt;Thanks Ben!&lt;/p&gt;
&lt;p&gt;The confirmation that properties should be available across the phases help me look at the problem from another angle. I discovered that the Variables.dat file is just one property store, another file - OSDenv.ini contains more properties. The loss of my value in Variables.dat threw me off.&lt;/p&gt;
&lt;p&gt;I have addded a feature to the logging class in ZTIutility to write logg entries to a SQL table. I could post it if you want it.&lt;/p&gt;
&lt;p&gt;Thanks again!&lt;/p&gt;
&lt;p&gt;Jack&lt;/p&gt;</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2715633</link><pubDate>Sun, 06 Jan 2008 11:35:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2715633</guid><dc:creator>BenHunter</dc:creator><description>&lt;p&gt;That would be great. I like t see other peoples ideas!&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Ben&lt;/p&gt;
</description></item><item><title>BDD logging to SQL database table</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2809919</link><pubDate>Fri, 01 Feb 2008 19:46:13 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2809919</guid><dc:creator>Ghost</dc:creator><description>&lt;p&gt;Start by creating an EventLog table on a SQL server (in this example - BDD). Then create a stored procedure in the database called WriteLogEntry which basically does a simple &amp;quot;INSERT INTO EventLog&amp;quot;. The benefit of using a stored procedure is that you can let it stamp the log entries with the local time on the SQL server. When the SQL server is prepared you need to add the following code to ZTIUtility.vbs:&lt;/p&gt;
&lt;p&gt;'Global constants in the header part of the file&lt;/p&gt;
&lt;p&gt;Public Const adOpenKeyset = 1&lt;/p&gt;
&lt;p&gt;Public Const sSQLlogserver=&amp;quot;MySQLserver&amp;quot;,sLogDatabase=&amp;quot;BDD&amp;quot;,SQLUserID=&amp;quot;User&amp;quot;,SQLpwd=&amp;quot;P@ssword!&amp;quot;&lt;/p&gt;
&lt;p&gt;Dim bWriteCentralLog&lt;/p&gt;
&lt;p&gt;bWriteCentralLog=True&lt;/p&gt;
&lt;p&gt;'Find this function in the &amp;quot;class Logging&amp;quot; part&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public Function CreateEntry(sLogMsg, iType)&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;......&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;'Call to SQL log function inserted above&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;'oUtiltity.VerifyPathExists entry&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;If bWriteCentralLog Then&lt;/p&gt;
&lt;p&gt;		WriteCentralLog Component,sDate,sTime,iType,sLogMsg&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;oUtility.VerifyPathExists LogPath&lt;/p&gt;
&lt;p&gt;	 &amp;nbsp; &amp;nbsp;.......&lt;/p&gt;
&lt;p&gt;	End Function&lt;/p&gt;
&lt;p&gt;	'New WriteCentralLog function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Function WriteCentralLog(sSource,sDate,sTime,iType,sLogMsg)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bWriteCentralLog=False&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'To filter log to send to SQL you can use oEnvironment.Item(&amp;quot;PHASE&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'or sSource content not ZTIgatherer...&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If iType&amp;gt;0 Then &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim sMACaddress,sSerialNumber,sIPaddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim dicMacAddresses&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim colBIOS&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim oWMI,oAdapters,oAdapter,oInstance&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Not VarType(oEnvironment)=9 Then &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set oWMI = GetObject(&amp;quot;winmgmts:&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set oAdapters = oWMI.ExecQuery(&amp;quot;select MacAddress,IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled = 1&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each oAdapter In oAdapters&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sMACaddress=oAdapter.MacAddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each sIPaddress in oAdapter.IPAddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If sIPaddress&amp;lt;&amp;gt;&amp;quot;0.0.0.0&amp;quot; And Left(sIPaddress,7)&amp;lt;&amp;gt;&amp;quot;169.254&amp;quot; And Len(sIPaddress)&amp;gt;0 Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Only use first adapter &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set colBIOS = oWMI.InstancesOf(&amp;quot;Win32_BIOS&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each oInstance in colBIOS&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' Get the serial number&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Not IsNull(oInstance.SerialNumber) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sSerialNumber = Trim(oInstance.SerialNumber)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If oEnvironment.Exists(&amp;quot;MacAddress&amp;quot;) Then &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set dicMacAddresses=oEnvronment.Item(&amp;quot;MacAddress&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each sMACaddress in dicMacAddresses.Keys&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Only use first adapter&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each sIPaddress in oEnvironment.ListItem(&amp;quot;IPAddress&amp;quot;).Keys&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sSerialNumber=oEnvironment.Item(&amp;quot;SerialNumber&amp;quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Else &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set oWMI = GetObject(&amp;quot;winmgmts:&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set oAdapters = oWMI.ExecQuery(&amp;quot;select MacAddress,IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled = 1&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each oAdapter In oAdapters&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sMACaddress=oAdapter.MacAddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each sIPaddress in oAdapter.IPAddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If sIPaddress&amp;lt;&amp;gt;&amp;quot;0.0.0.0&amp;quot; And Left(sIPaddress,7)&amp;lt;&amp;gt;&amp;quot;169.254&amp;quot; And Len(sIPaddress)&amp;gt;0 Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Only use first adapter&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit For&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set colBIOS = oWMI.InstancesOf(&amp;quot;Win32_BIOS&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each oInstance in colBIOS&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' Get the serial number&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Not IsNull(oInstance.SerialNumber) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sSerialNumber = Trim(oInstance.SerialNumber)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End if &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim sConnectString&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sConnectString=&amp;quot;PROVIDER=SQLOLEDB;Data source=&amp;quot; &amp;amp; sSQLlogserver &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;;Initial Catalog=&amp;quot; &amp;amp; sLogDataBase &amp;amp; &amp;quot;;User ID=&amp;quot; &amp;amp; SQLUserID &amp;amp; &amp;quot;;Password=&amp;quot; &amp;amp; SQLpwd &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim oDBconnect&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim oDBcommand&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set oDBconnect = CreateObject(&amp;quot;ADODB.Connection&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;On Error Resume Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oDBconnect.Open sConnectString&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Err Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim oX&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each oX in oDBconnect.Errors&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;WriteCentralLog OLEDBERR: &amp;quot; &amp;amp; oX.Description&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;On Error GoTo 0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim sQuery&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sQuery=&amp;quot;EXECUTE WriteLogEntry '&amp;quot; &amp;amp; sSource &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; sSerialNumber &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; sMACaddress &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; sIPaddress &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; sDate &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; sTime &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; iType &amp;amp; &amp;quot;',&amp;quot; &amp;amp; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;'&amp;quot; &amp;amp; Replace(sLogMsg,&amp;quot;'&amp;quot;,&amp;quot;''&amp;quot;) &amp;amp; &amp;quot;'&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim oRecordSet&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'MsgBox sQuery&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;On Error Resume Next &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set oRecordSet=CreateObject(&amp;quot;ADODB.Recordset&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oRecordSet.Open sQuery,oDBconnect,adOpenKeySet&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If Err Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;WriteCentralLog ERR: 0x&amp;quot; &amp;amp; Hex(Err.Number) &amp;amp; vbCRLF &amp;amp; Err.Description&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;Command: &amp;quot; &amp;amp; sQuery&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exit Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;On Error GoTo 0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bWriteCentralLog=True&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt;GOOD LUCK!!&lt;/p&gt;
&lt;p&gt;/Jack&lt;/p&gt;</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2810586</link><pubDate>Fri, 01 Feb 2008 23:19:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2810586</guid><dc:creator>BenHunter</dc:creator><description>&lt;p&gt;Hi Jack,&lt;/p&gt;
&lt;p&gt;Thanks for this it looks great.&lt;/p&gt;
&lt;p&gt;Ben&lt;/p&gt;
</description></item><item><title>re: Understanding BDD rule processing</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2823009</link><pubDate>Mon, 04 Feb 2008 11:57:48 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2823009</guid><dc:creator>amoschb</dc:creator><description>&lt;p&gt;Hi,Jack&lt;/p&gt;
&lt;p&gt;Can you give me more details about your script and store procedure?&lt;/p&gt;</description></item><item><title>Processing rules for RApps exclusive of MMApps</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#2950853</link><pubDate>Sun, 02 Mar 2008 07:22:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2950853</guid><dc:creator>Alan.1</dc:creator><description>&lt;p&gt;Ben,&lt;/p&gt;
&lt;p&gt;My company defined our Model Aliases according to the post at: &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/benhunter/archive/2007/03/28/bdd-2007-tips-creating-model-aliases.aspx"&gt;http://blogs.technet.com/benhunter/archive/2007/03/28/bdd-2007-tips-creating-model-aliases.aspx&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;We also want to selectively use Computer Roles that define the RoleApplications result set in [RApps] which override the MakeModelApplications result set in [MMApps] with the following priority settings:&lt;/p&gt;
&lt;p&gt;Priority=SetModel, CRoles, RSettings, RApps, MMSettings, MMApps, Default&lt;/p&gt;
&lt;p&gt;Properties=ModelAlias&lt;/p&gt;
&lt;p&gt;Unfortunately this does not appear to work when both the serial number matches in the Roles database, and the ModelAlias matches the Make and Model database. &amp;nbsp;Instead, the combined result sets of all the applications in both RoleApplications and MakeModelApplications for the corresponding Role and ModelAlias for the computer are selected. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can this be forced to use just one of these result sets, as defined in the priority setting?&lt;/p&gt;</description></item><item><title>Don’t forget our old blogs!</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#3041924</link><pubDate>Mon, 21 Apr 2008 21:32:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3041924</guid><dc:creator>The Deployment Guys</dc:creator><description>&lt;p&gt;I am very happy with the progress of the deployment guys blog so far. Hopefully you all agree that we&lt;/p&gt;</description></item><item><title>Extending the MDT Database with Custom Settings</title><link>http://blogs.technet.com/benhunter/archive/2007/03/17/understanding-bdd-rule-processing.aspx#3202963</link><pubDate>Mon, 16 Feb 2009 18:38:37 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3202963</guid><dc:creator>Maik Koster at myITforum.com</dc:creator><description>&lt;p&gt;The Settings within the MDT Database cover already a wide area of possibilities during a Deployment.&lt;/p&gt;</description></item></channel></rss>