<?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>Richard Smith : Scripting</title><link>http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx</link><description>Tags: Scripting</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>GUI Interface for USMT</title><link>http://blogs.technet.com/richardsmith/archive/2008/01/11/gui-interface-for-usmt.aspx</link><pubDate>Fri, 11 Jan 2008 16:36:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2736110</guid><dc:creator>ricsmith</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/richardsmith/comments/2736110.aspx</comments><wfw:commentRss>http://blogs.technet.com/richardsmith/commentrss.aspx?PostID=2736110</wfw:commentRss><description>&lt;P&gt;Dan Cunningham has written a GUI wrapper for the User State Migration Tool (USMT) In Dan's interface, USMT provides the logic and mechanisms for the actual capture / restore process, but because USMT is entirely command-line, Dan decided to set about creating a .NET-based wrapper for it to simplify data capture/restore.&lt;/P&gt;
&lt;P&gt;Here’s some of the nice features in Workstation Migration Assistant:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Migrate via a pre-defined network storage location, external USB drive, or user-specified location. USB drive detection is automatic&lt;/LI&gt;
&lt;LI&gt;Optional Hard Disk Health Check will run a CHKDSK prior to capture and fix errors if any are found &lt;/LI&gt;
&lt;LI&gt;Optional Encryption using a pre-defined company encryption key, or per-user customised encryption (for highly sensitive data that can’t be stored on a server without being encrypted) &lt;/LI&gt;
&lt;LI&gt;Use different configurations for a multi-OS, XP &amp;gt; XP and Vista &amp;gt; Vista migrations (useful when on XP to force the /TargetXP switch, and if you’re Vista migration can exclude XP-only obsolete files) &lt;/LI&gt;
&lt;LI&gt;Automatically run pre and post capture/restore scripts (very useful to further configure machine settings) &lt;/LI&gt;
&lt;LI&gt;Migrate domain only accounts, or domain and local &lt;/LI&gt;
&lt;LI&gt;Automatically exclude certain domain or local accounts from the migration &lt;/LI&gt;
&lt;LI&gt;Automatically send log files to an e-mail address via SMTP after the migration &lt;/LI&gt;
&lt;LI&gt;On-screen status during every stage of the migration, including ETA &lt;/LI&gt;
&lt;LI&gt;Option to limit migrations to a certain size, i.e. if over 20GB of data to backup, then fail and inform user. &lt;/LI&gt;
&lt;LI&gt;Very configurable through configuration file &lt;/LI&gt;
&lt;LI&gt;Command-line automation &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Dan is hoping to release the tool soon - so keep checking &lt;A title=http://dcunningham.net/2007/11/22/a-quick-look-at-workstation-migration-assistant/ href="http://dcunningham.net/2007/11/22/a-quick-look-at-workstation-migration-assistant/" mce_href="http://dcunningham.net/2007/11/22/a-quick-look-at-workstation-migration-assistant/"&gt;http://dcunningham.net/2007/11/22/a-quick-look-at-workstation-migration-assistant/&lt;/A&gt; for updates&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2736110" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richardsmith/archive/tags/Lite+Touch/default.aspx">Lite Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Zero+Touch/default.aspx">Zero Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Deployment+Tools/default.aspx">Deployment Tools</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx">Scripting</category></item><item><title>powercfg - Useful if you know the GUIDS!</title><link>http://blogs.technet.com/richardsmith/archive/2007/11/29/powercfg-useful-if-you-know-the-guids.aspx</link><pubDate>Thu, 29 Nov 2007 21:50:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2589640</guid><dc:creator>ricsmith</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/richardsmith/comments/2589640.aspx</comments><wfw:commentRss>http://blogs.technet.com/richardsmith/commentrss.aspx?PostID=2589640</wfw:commentRss><description>&lt;p&gt;So I have been doing some work with powercfg - and found it a very useful tool for scripting power management options during builds. This command utility is installed with Windows Vista and you can use it to control power settings and configure computers to default to Hibernate or Standby modes.&lt;/p&gt; &lt;p&gt;The following command-line options are available for powercfg. &lt;p&gt;&lt;b&gt;powercfg&lt;/b&gt; [&lt;b&gt;-l &lt;/b&gt;] [&lt;b&gt;-q &lt;/b&gt;] [&lt;b&gt;-x &lt;/b&gt;] [&lt;b&gt;-changename &lt;/b&gt;] [&lt;b&gt;-duplicatescheme &lt;/b&gt;] [&lt;b&gt;-d &lt;/b&gt;] [&lt;b&gt;-deletesetting &lt;/b&gt;] [&lt;b&gt;-setactive &lt;/b&gt;] [&lt;b&gt;-getactivescheme &lt;/b&gt;] [&lt;b&gt;-setacvalueindex &lt;/b&gt;] [&lt;b&gt;-setdcvalueindex &lt;/b&gt;] [&lt;b&gt;-h &lt;/b&gt;] [&lt;b&gt;-a &lt;/b&gt;] [&lt;b&gt;-devicequery &lt;/b&gt;] [&lt;b&gt;-deviceenablewake &lt;/b&gt;] [&lt;b&gt;-devicedisablewake &lt;/b&gt;] [&lt;b&gt;-import &lt;/b&gt;] [&lt;b&gt;-export &lt;/b&gt;] [&lt;b&gt;-lastwake &lt;/b&gt;] [&lt;b&gt;-?&lt;/b&gt;] [&lt;b&gt;-aliases &lt;/b&gt;] [&lt;b&gt;-setsecuritydescriptor &lt;/b&gt;] [&lt;b&gt;-getsecuritydescriptor &lt;/b&gt;] &lt;p&gt;Full details of the switches can be found &lt;a href="http://technet2.microsoft.com/WindowsVista/en/library/1d58b934-f56a-4796-b2df-7be2eb9c03bc1033.mspx?mfr=true" target="_blank"&gt;here&lt;/a&gt; &lt;p&gt;So having delved into this utility a little more - here are my top commands for powercfg ready to use in your scripts: &lt;p&gt;&lt;strong&gt;sets the power configuration to High Performance&lt;br&gt;&lt;/strong&gt;powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  &lt;p&gt;&lt;strong&gt;tweaks the basic power settings&lt;/strong&gt;&lt;br&gt;powercfg -change -hibernate-timeout-ac 0&lt;br&gt;powercfg -change -hibernate-timeout-dc 0  &lt;p&gt;&lt;strong&gt;turns hibernation off&lt;/strong&gt;&lt;br&gt;powercfg -hibernate OFF  &lt;p&gt;&lt;strong&gt;require password when console wakes up (0=false, 1=true)&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0  &lt;p&gt;&lt;strong&gt;also needed to show up on Power Menus...&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0&lt;br&gt;powercfg -setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0  &lt;p&gt;&lt;strong&gt;power plan type (0=power saver, 1=high performance, 2=balanced)&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c fea3413e-7e05-4911-9a71-700331f1c294 245d8541-3943-4422-b025-13a784f679b7 1&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c fea3413e-7e05-4911-9a71-700331f1c294 245d8541-3943-4422-b025-13a784f679b7 1  &lt;p&gt;&lt;strong&gt;hard disk timeout&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 0012ee47-9041-4b5d-9b77-535fba8b1442 6738e2c4-e8a5-4a42-b16a-e040e769756e 0&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 0012ee47-9041-4b5d-9b77-535fba8b1442 6738e2c4-e8a5-4a42-b16a-e040e769756e 0  &lt;p&gt;&lt;strong&gt;wireless adapter power (0=max perf, 1=low power saving, 2=med power saving, 3=max power saving)&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 19cbb8fa-5279-450e-9fac-8a3d5fedd0c1 12bbebe6-58d6-4636-95bb-3217ef867c1a 0&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 19cbb8fa-5279-450e-9fac-8a3d5fedd0c1 12bbebe6-58d6-4636-95bb-3217ef867c1a 0  &lt;p&gt;&lt;strong&gt;sleep timeout&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0  &lt;p&gt;&lt;strong&gt;close action (0=do nothing, 1=sleep, 2=hibernate, 3=shutdown)&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0  &lt;p&gt;&lt;strong&gt;also needed to show up on Power Menus...&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0&lt;br&gt;powercfg -setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0  &lt;p&gt;&lt;strong&gt;processor power cstate (0,1=power saver, 2,3=balanced, 4,5=high perf)&lt;br&gt;&lt;/strong&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 54533251-82be-4824-96c1-47b60b740d00 68f262a7-f621-4069-b9a5-4874169be23c 4&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 54533251-82be-4824-96c1-47b60b740d00 68f262a7-f621-4069-b9a5-4874169be23c 4  &lt;p&gt;&lt;strong&gt;minimum processor state&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 54533251-82be-4824-96c1-47b60b740d00 893dee8e-2bef-41e0-89c6-b55d0929964c 100&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 54533251-82be-4824-96c1-47b60b740d00 893dee8e-2bef-41e0-89c6-b55d0929964c 100  &lt;p&gt;&lt;strong&gt;processor power perfstate settings&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 54533251-82be-4824-96c1-47b60b740d00 bbdc3814-18e9-4463-8a55-d197327c45c0 4&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 54533251-82be-4824-96c1-47b60b740d00 bbdc3814-18e9-4463-8a55-d197327c45c0 4  &lt;p&gt;&lt;strong&gt;monitor timeout&lt;/strong&gt;&lt;br&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0  &lt;p&gt;&lt;strong&gt;multimedia settings (0=take no action, 1=prevent computer from sleeping, 2=enable away mode)&lt;br&gt;&lt;/strong&gt;powercfg -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 9596fb26-9850-41fd-ac3e-f7c3c00afd4b 03680956-93bc-4294-bba6-4e0f09bb717f 2&lt;br&gt;powercfg -setdcvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 9596fb26-9850-41fd-ac3e-f7c3c00afd4b 03680956-93bc-4294-bba6-4e0f09bb717f 2  &lt;p&gt;&lt;strong&gt;set the absentia power scheme (the scheme used when no one is logged in)&lt;/strong&gt;&lt;br&gt;powercfg -setabsentia 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c &lt;p&gt;Enjoy... :-)&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2589640" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richardsmith/archive/tags/Lite+Touch/default.aspx">Lite Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Zero+Touch/default.aspx">Zero Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx">Scripting</category></item><item><title>Disabling the Network Location Prompt</title><link>http://blogs.technet.com/richardsmith/archive/2007/09/25/disabling-the-network-location-prompt.aspx</link><pubDate>Tue, 25 Sep 2007 16:39:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2042351</guid><dc:creator>ricsmith</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/richardsmith/comments/2042351.aspx</comments><wfw:commentRss>http://blogs.technet.com/richardsmith/commentrss.aspx?PostID=2042351</wfw:commentRss><description>&lt;p&gt;Over the past few months, many of the clients I have been working with have started deploying Windows Vista into their environment. One thing that commonly crops up is that the Windows Vista Network Location prompt fires up on all newly built machines asking for the network type that the machine is connected to (Home, Work or Public).&lt;/p&gt; &lt;p&gt;It doesn't harm the build or deploy process and can usually be ignored - it will just sit in the background and wait for input or machine shutdown, however a more elegant solution is to stop it appearing.&amp;nbsp;The easiest way to do this is&amp;nbsp;to this is by adding a RunSynchronousCommand to&amp;nbsp;RunSynchronous section &amp;nbsp;in the &lt;strong&gt;x86_Microsoft-Windows-Deployment_neutral&lt;/strong&gt; block in the &lt;strong&gt;specialize&lt;/strong&gt; phase of your unattend.xml file... :-)&lt;/p&gt; &lt;p&gt;If you are&amp;nbsp;using BDD 2007, the unattend file created by BDD will have three RunSynchronous commands already configured in this section - to enable the local administrators account (two commands) and to un-filter the local administrators token. These are listed as EnableAdmin, EnableAdmin_PLOC and UnfilterAdministratorToken and are ordered as&amp;nbsp;1, 2 and 3.&lt;/p&gt; &lt;p&gt;To stop the Network Locator Prompt from appearing add a fourth RunSynchronous command to RunSynchronous block&amp;nbsp;(specialize) with the following details:&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;In the &lt;strong&gt;Description&lt;/strong&gt; field, enter something to identify the task - like "&lt;strong&gt;DisableNetworkLocationPrompt&lt;/strong&gt;".  &lt;li&gt;In the &lt;strong&gt;Order&lt;/strong&gt; field&amp;nbsp;enter &lt;strong&gt;4&lt;/strong&gt; (if you are editing the BDD 2007 created unattend.xml file) or &lt;strong&gt;1&lt;/strong&gt; if it is your first RunSynchronous command.  &lt;li&gt;In the &lt;strong&gt;Path&lt;/strong&gt; field enter the command line (as one complete line)&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 00000001 /f&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;In the &lt;strong&gt;WillReboot&lt;/strong&gt; field enter &lt;strong&gt;Never&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;When this command runs as part of the build or deploy process, the Network Location Prompt will be suppressed.&lt;/p&gt; &lt;p&gt;Note: You will probably want to turn this back on after the build or deploy process has been completed, as this tool provides the user with a friendly way of configuring the Windows Firewall to protect them in a number of differing network locations. You may want to consider running a VB&amp;nbsp;Script to reset the registry key and&amp;nbsp;turn the Network Location Prompt back on&amp;nbsp;from the BDD 2007 task sequence as one of the final tasks in&amp;nbsp;your build or deploy process.&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2042351" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richardsmith/archive/tags/BDD2007/default.aspx">BDD2007</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Deployment+Process/default.aspx">Deployment Process</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Build+Process/default.aspx">Build Process</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx">Scripting</category></item><item><title>New Deployment Forum Site...</title><link>http://blogs.technet.com/richardsmith/archive/2007/09/18/new-deployment-forum-site.aspx</link><pubDate>Tue, 18 Sep 2007 12:44:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1984050</guid><dc:creator>ricsmith</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richardsmith/comments/1984050.aspx</comments><wfw:commentRss>http://blogs.technet.com/richardsmith/commentrss.aspx?PostID=1984050</wfw:commentRss><description>&lt;P&gt;Deployment Forum is a new community Web site devoted to IT professionals deploying Windows. Myself and fellow MCS blogger Ben Hunter, as well as MCS architect Steve Campbell have taken up residency in the MVP section with a selection of the industry's best deployment specialists&amp;nbsp;and we will all be adding content&amp;nbsp;to the&amp;nbsp;Deployment Forum. The site is run by Jerry Honeycutt, a well respected writer, speaker, and technologist who has written more than 30 technology books and hundreds of technical articles and white papers. &lt;/P&gt;
&lt;P&gt;You find Deployment Forum at: &lt;A href="http://www.deploymentforum.com/" mce_href="http://www.deploymentforum.com/"&gt;http://www.deploymentforum.com&lt;/A&gt; &lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1984050" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richardsmith/archive/tags/BDD2007/default.aspx">BDD2007</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Lite+Touch/default.aspx">Lite Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Zero+Touch/default.aspx">Zero Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/SMS+2003+OSD+Feature+Pack/default.aspx">SMS 2003 OSD Feature Pack</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Deployment+Tools/default.aspx">Deployment Tools</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Deployment+Process/default.aspx">Deployment Process</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Build+Process/default.aspx">Build Process</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Deployment+4/default.aspx">Deployment 4</category></item><item><title>WMI Tags for Task Sequencer Logic</title><link>http://blogs.technet.com/richardsmith/archive/2007/08/01/wmi-tags-for-task-sequencer-logic.aspx</link><pubDate>Wed, 01 Aug 2007 17:42:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1672072</guid><dc:creator>ricsmith</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/richardsmith/comments/1672072.aspx</comments><wfw:commentRss>http://blogs.technet.com/richardsmith/commentrss.aspx?PostID=1672072</wfw:commentRss><description>&lt;P&gt;One of the things that I&amp;nbsp;am often required to obtain for customers are&amp;nbsp;certain WMI tags so that we can write task sequence IF statements and provide the build process with some logic. Gathering these WMI tags can be tricky, so we put together a VB Script to pull out the 10 most popular items and display them to the screen - we also copy the results to a file called sysinfo.txt. By running this file on the machines that will be built, we can ensure that we use the correct WMI entries for things like MANUFACTURER, MODEL and CHASIS.&lt;/P&gt;
&lt;P&gt;The scipt (sysinfo.vbs)&amp;nbsp;is listed below&amp;nbsp;and is a variation on the script used by BDD to gather information at the start of the build process:&lt;/P&gt;
&lt;P&gt;' Initialization&lt;BR&gt;Set fso = CreateObject("Scripting.FileSystemObject")&lt;BR&gt;Set shell = CreateObject("Wscript.Shell")&lt;BR&gt;Set reg = GetObject("winmgmts:root\default:StdRegProv")&lt;BR&gt;Dim sOutput&lt;/P&gt;
&lt;P&gt;On Error Resume Next&lt;/P&gt;
&lt;P&gt;' Create the appropriate OS information&lt;BR&gt;For each os in GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"XP") &amp;lt;&amp;gt; 0 then Call makefile("OS = XP")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"2000") &amp;lt;&amp;gt; 0 then Call makefile("OS = WIN2000")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"2003") &amp;lt;&amp;gt; 0 then Call makefile("OS = WIN2003")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"NT") &amp;lt;&amp;gt; 0 then Call makefile("OS = NT4")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"2000 Server") &amp;lt;&amp;gt; 0 then&amp;nbsp; Call makefile("OSTYPE = SERVER")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"Advanced Server") &amp;lt;&amp;gt; 0 then&amp;nbsp; Call makefile("OSTYPE = ADVANCED")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"Professional") &amp;lt;&amp;gt; 0 then&amp;nbsp; Call makefile("OSTYPE = PRO")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"Standard") &amp;lt;&amp;gt; 0 then Call makefile("OSTYPE = STANDARD")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"Enterprise") &amp;lt;&amp;gt; 0 then Call makefile("OSTYPE = ENTERPRISE")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.caption,"Web") &amp;lt;&amp;gt; 0 then Call makefile("OSTYPE = WEB")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If os.ServicePackMajorVersion &amp;lt;&amp;gt; "" then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("OSSP = " &amp;amp; os.ServicePackMajorVersion)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("OSSP = NONE")&lt;BR&gt;&amp;nbsp;&amp;nbsp; End if&lt;BR&gt;Next&lt;/P&gt;
&lt;P&gt;' Obtain the enclosure type&lt;BR&gt;for each Enclosure in GetObject("winmgmts:").InstancesOf("Win32_SystemEnclosure")&lt;BR&gt;&amp;nbsp;&amp;nbsp; if join (Enclosure.Tag)&amp;lt;&amp;gt;"System Enclosure 1" then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CaseType = Enclosure.ChassisTypes(0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; end if&lt;BR&gt;next&lt;BR&gt;Select case CaseType&lt;BR&gt;&amp;nbsp; Case "3", "4", "5", "6", "7", "15"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("CHASSIS = " &amp;amp; "DESKTOP")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;Case "8", "10", "12", "14", "18", "21"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("CHASSIS = " &amp;amp; "LAPTOP")&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Case "23"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("CHASSIS = " &amp;amp; "SERVER")&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Case ELSE&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("CHASSIS = " &amp;amp; "OTHER")&lt;BR&gt;End Select&lt;/P&gt;
&lt;P&gt;' Since there is no good way to identify a Tablet PC except by using an API call (GetSystemMetrics),&lt;BR&gt;' cheat and use a well-known registry location.&lt;BR&gt;Err.Clear&lt;BR&gt;ver = shell.RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Tablet PC\Ident")&lt;BR&gt;If Err then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Not a tablet&lt;BR&gt;Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call makefile("OSTYPE = TABLET")&lt;BR&gt;End if&lt;/P&gt;
&lt;P&gt;' Obtain the HAL that is being used&lt;BR&gt;halID = shell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E966-E325-11CE-BFC1-08002BE10318}\0000\MatchingDeviceId")&lt;BR&gt;halName = shell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E966-E325-11CE-BFC1-08002BE10318}\0000\DriverDesc")&lt;BR&gt;'Wscript.Echo "HAL ID=" &amp;amp; halID&lt;BR&gt;'Wscript.Echo "HAL Name=" &amp;amp; halName&lt;BR&gt;Call makefile("HALID = " &amp;amp; halID)&lt;BR&gt;Call makefile("HALNAME = " &amp;amp; halName)&lt;/P&gt;
&lt;P&gt;' Obtain the manufacturer and model&lt;BR&gt;For each os in GetObject("winmgmts:").InstancesOf("Win32_ComputerSystem")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,os.Manufacturer," ") &amp;lt;&amp;gt; 0 then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Manu=Left(os.Manufacturer,(instr(1,os.Manufacturer," "))-1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Manu=os.manufacturer&lt;BR&gt;&amp;nbsp;&amp;nbsp; end if&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("MANUFACTURER = "&amp;amp;manu)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("MODEL = "&amp;amp;os.model)&lt;BR&gt;Next&lt;/P&gt;
&lt;P&gt;' Get the CD/DVD information&lt;BR&gt;x = 0&lt;BR&gt;CD = false&lt;BR&gt;DVD = false&lt;BR&gt;For each os in GetObject("winmgmts:").InstancesOf("Win32_CDROMDrive")&lt;BR&gt;&amp;nbsp;&amp;nbsp; x = x + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,UCASE(os.name),"RW") &amp;lt;&amp;gt; 0 then Call makefile("CDROM-RW")&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Instr(1,UCASE(os.name),"DVD") &amp;lt;&amp;gt; 0 then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DVD = true&lt;BR&gt;&amp;nbsp;&amp;nbsp; ElseIf instr(1,UCASE(os.name),"DV")&amp;lt;&amp;gt;0 then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DVD = true&lt;BR&gt;&amp;nbsp;&amp;nbsp; ElseIf instr(1,UCASE(os.name),"CD")&amp;lt;&amp;gt;0 then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD = true&lt;BR&gt;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;Next&lt;BR&gt;If DVD then&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("CDROM = DVD")&lt;BR&gt;ElseIf CD then&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("CDROM = CD")&lt;BR&gt;Else&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("CDROM = NONE")&lt;BR&gt;End if&lt;/P&gt;
&lt;P&gt;' Get the BIOS information&lt;BR&gt;For each os in GetObject("winmgmts:").InstancesOf("Win32_BIOS")&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("BIOS = "&amp;amp;os.SMBIOSBIOSVERSION)&lt;BR&gt;Next&lt;/P&gt;
&lt;P&gt;' Get the video information&lt;BR&gt;For each os in GetObject("winmgmts:").InstancesOf("Win32_VideoController")&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("VIDEO = "&amp;amp;os.name)&lt;BR&gt;next&lt;/P&gt;
&lt;P&gt;' Get the audio information&lt;BR&gt;For each os in GetObject("winmgmts:").InstancesOf("Win32_SoundDevice")&lt;BR&gt;&amp;nbsp;&amp;nbsp; Call makefile("Audio = "&amp;amp;os.name)&lt;BR&gt;Next&lt;/P&gt;
&lt;P&gt;' Display output&lt;BR&gt;shell.popup sOutput&lt;/P&gt;
&lt;P&gt;'create a file called sysinfo.txt&lt;BR&gt;call CreateFile&lt;/P&gt;
&lt;P&gt;Sub Makefile (filename)&lt;BR&gt;&amp;nbsp;filename = Trim(filename)&amp;nbsp;' Strip whitespace&lt;BR&gt;&amp;nbsp;sOutput = sOutput &amp;amp; filename &amp;amp; vbcrlf&lt;BR&gt;End sub&lt;/P&gt;
&lt;P&gt;Sub CreateFile()&lt;BR&gt;&amp;nbsp;Set objFSO = CreateObject("Scripting.FileSystemObject") &lt;BR&gt;&amp;nbsp;Set objTextFile = objFSO.OpenTextFile("sysinfo.txt", 2, True) &lt;BR&gt;&amp;nbsp;objTextFile.WriteLine sOutput &lt;BR&gt;&amp;nbsp;objTextFile.Close &lt;BR&gt;End Sub&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;A simple&amp;nbsp;alternative to this script - if you just want to find make and model information - is to follow the process identified by my&amp;nbsp;MCS&amp;nbsp;colleague &lt;A class="" title=Ben href="http://blogs.technet.com/benhunter" target=_blank mce_href="http://blogs.technet.com/benhunter"&gt;Ben&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 6pt 0cm 3pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ"&gt;Open a &lt;B&gt;Command Prompt&lt;/B&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 6pt 0cm 3pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ"&gt;Type &lt;B&gt;WMIC&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 6pt 0cm 3pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ"&gt;To determine the Make, type &lt;B&gt;CSProduct Get Vendor&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 6pt 0cm 3pt 47.35pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;4.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-NZ style="mso-ansi-language: EN-NZ"&gt;To determine the Model, type &lt;B&gt;CSProduct Get Name&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Ben also has an excellent article on how to use specific WMI&amp;nbsp;information in rules to perform different tasks based on hardware types.&amp;nbsp;You can find his blog entry&amp;nbsp;&lt;A class="" title=here href="http://blogs.technet.com/benhunter/archive/2007/05/20/bdd-2007-tips-and-tricks-identifying-hardware-types.aspx" target=_blank mce_href="http://blogs.technet.com/benhunter/archive/2007/05/20/bdd-2007-tips-and-tricks-identifying-hardware-types.aspx"&gt;here&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1672072" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richardsmith/archive/tags/BDD2007/default.aspx">BDD2007</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/BDD2.5/default.aspx">BDD2.5</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Build+Process/default.aspx">Build Process</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx">Scripting</category></item><item><title>Useful Registry Changes During Build Creation/Image Deployment</title><link>http://blogs.technet.com/richardsmith/archive/2007/07/17/useful-registry-changes-during-build-creation.aspx</link><pubDate>Tue, 17 Jul 2007 16:30:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1540814</guid><dc:creator>ricsmith</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/richardsmith/comments/1540814.aspx</comments><wfw:commentRss>http://blogs.technet.com/richardsmith/commentrss.aspx?PostID=1540814</wfw:commentRss><description>&lt;P&gt;As&amp;nbsp;I have worked with different customers, a number of common requests&amp;nbsp;often pop up for changes during build creation on deployment. For Windows XP deployment, I built up a library of VB scripts that carried out most of the customisations that I required (and were run either as part of the image creation process - using BDD, or as part of the deployment process - as post deploy actions)&lt;/P&gt;
&lt;P&gt;With Windows Vista, I have started to build up the same sort of library and have put together a group of setting changes that can be used in reg files, batch files or VB scripts for making automated changes during image build or image deployment. Some of these entries are from my own deployment projects, whilst others are from Microsoft colleagues like &lt;A class="" title="Ben Hunter" href="http://blogs.technet.com/benhunter/archive/2007/07.aspx" target=_blank mce_href="http://blogs.technet.com/benhunter/archive/2007/07.aspx"&gt;Ben Hunter&lt;/A&gt;, Jon Bennett and Michael Murgolo to whom I wish to express my gratitude.&lt;/P&gt;
&lt;P&gt;So here is my current list of tweaks...&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Adjust the system tray icons - 0 = Display inactive tray icons&lt;/STRONG&gt;&lt;BR&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]&lt;BR&gt;"EnableAutoTray"=dword:00000000&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Clear Most Frequently Used items&lt;/STRONG&gt;&lt;BR&gt;[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}]&lt;BR&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}]&lt;BR&gt;@=""&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Show/Hide desktop icons&lt;/STRONG&gt;&lt;BR&gt;; Internet Explorer = {871C5380-42A0-1069-A2EA-08002B30309D}&lt;BR&gt;; User's Files = {450D8FBA-AD25-11D0-98A8-0800361B1103}&lt;BR&gt;; Computer = {20D04FE0-3AEA-1069-A2D8-08002B30309D}&lt;BR&gt;; Network = {208D2C60-3AEA-1069-A2D7-08002B30309D}&lt;/P&gt;
&lt;P&gt;; 0 = Display&lt;BR&gt;; 1 = Hide&lt;/P&gt;
&lt;P&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons]&lt;BR&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]&lt;BR&gt;"{871C5380-42A0-1069-A2EA-08002B30309D}"=dword:00000001&lt;BR&gt;"{450D8FBA-AD25-11D0-98A8-0800361B1103}"=dword:00000000&lt;BR&gt;"{20D04FE0-3AEA-1069-A2D8-08002B30309D}"=dword:00000000&lt;BR&gt;"{208D2C60-3AEA-1069-A2D7-08002B30309D}"=dword:00000000&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Add "Explore From Here" to the context menu&lt;/STRONG&gt;&lt;BR&gt;[HKEY_CLASSES_ROOT\Folder\shell\fromhere]&lt;BR&gt;@="Explore from &amp;amp;Here"&lt;BR&gt;[HKEY_CLASSES_ROOT\Folder\shell\fromhere\command]&lt;BR&gt;@="explorer.exe /e,/root,/idlist,%I"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Add a Search Provider to the START MENU&amp;nbsp;(example)&lt;/STRONG&gt;&lt;BR&gt;[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\Google]&lt;BR&gt;"DisplayName"="Google"&lt;BR&gt;"URL"="&lt;A href="http://www.google.com/search?q={searchTerms}&amp;amp;rls=com.microsoft:{language}&amp;amp;ie={inputEncoding}&amp;amp;oe={outputEncoding}&amp;amp;startIndex={startIndex?}&amp;amp;startPage={startPage"&gt;http://www.google.com/search?q={searchTerms}&amp;amp;rls=com.microsoft:{language}&amp;amp;ie={inputEncoding}&amp;amp;oe={outputEncoding}&amp;amp;startIndex={startIndex?}&amp;amp;startPage={startPage&lt;/A&gt;}"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Resort the Start Menu&lt;/STRONG&gt;&lt;BR&gt;[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder]&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Disable Menu Delay&lt;/STRONG&gt;&lt;BR&gt;[HKEY_CURRENT_USER\Control Panel\Desktop]&lt;BR&gt;"MenuShowDelay"="0"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Add the Registry Editor to the context menu&lt;/STRONG&gt;&lt;BR&gt;[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\regedit]&lt;BR&gt;@="Re&amp;amp;gistry Editor"&lt;BR&gt;[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\regedit\command]&lt;BR&gt;@="regedit.exe"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Customise Windows Vista Shutdown Speed&lt;/STRONG&gt;&lt;BR&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]&lt;BR&gt;"WaitToKillServiceTimeout"=20000&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Increase NTFS System Peformance by disabling NTFS Last Access Update and 8.3 Creation&lt;/STRONG&gt;&lt;BR&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]&lt;BR&gt;"NTFSDisableLastAccessUpdate"=1&lt;BR&gt;"NTFSDisable8Dot3NameCreation"=1&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Turn Off System Beeps&lt;/STRONG&gt;&lt;BR&gt;[HKEY_CURRENT_USER\Control Panel\Sound]&lt;BR&gt;"Beep"=No&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Disable Welcome logon screen &amp;amp; require CTRL+ALT+DEL&lt;/STRONG&gt;&lt;BR&gt;reg add "hklm\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v LogonType /t REG_DWORD /d 0 /f&lt;BR&gt;reg add "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableCAD /t REG_DWORD /d 0 /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Interactive logon: Do not display last user name&lt;/STRONG&gt;&lt;BR&gt;reg add "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername /t REG_DWORD /d 1 /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Enable Remote Desktop&lt;/STRONG&gt;&lt;BR&gt;reg add "hklm\system\currentcontrolset\control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Allow connections from computers running any version of Remote Desktop (less secure)&lt;/STRONG&gt;&lt;BR&gt;reg add "hklm\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Use simple file sharing - 0 = unchecked, 1 - checked&lt;/STRONG&gt;&lt;BR&gt;reg add "hklm\SYSTEM\CurrentControlSet\Control\Lsa" /v ForceGuest /t REG_DWORD /d 0 /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Disable Automatic Updates&lt;/STRONG&gt;&lt;BR&gt;reg add "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Set the Screen Saver Settings&lt;/STRONG&gt;&lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f&lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d 1 /f&lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 900 /f&lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "%SystemRoot%\System32\YOUR_FILE.scr" /f&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;;Set the Desktop Wallpaper&lt;/STRONG&gt;&lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "%SystemRoot%\Web\Wallpaper\YOUR_FILE.bmp" /f &lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v WallpaperStyle /t REG_SZ /d "2" /f&lt;BR&gt;reg add "hku\.DEFAULT\Control Panel\Desktop" /v TileWallpaper /t REG_SZ /d "0" /f&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1540814" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/richardsmith/archive/tags/BDD2007/default.aspx">BDD2007</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Lite+Touch/default.aspx">Lite Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Zero+Touch/default.aspx">Zero Touch</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://blogs.technet.com/richardsmith/archive/tags/Registry+Entry/default.aspx">Registry Entry</category></item></channel></rss>