<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jared Heinrichs &#187; Windows 2003 Server</title>
	<atom:link href="http://jaredheinrichs.com/category/operating-system/windows-2003-server/feed" rel="self" type="application/rss+xml" />
	<link>http://jaredheinrichs.com</link>
	<description>A &#34;How to&#34; Blog on Software and Technology</description>
	<lastBuildDate>Thu, 29 Jul 2010 04:20:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>How to resolve the error &#8220;the ordinal 410 could not be located&#8221;</title>
		<link>http://jaredheinrichs.com/how-to-resolve-the-error-the-ordinal-410-could-not-be-located.html</link>
		<comments>http://jaredheinrichs.com/how-to-resolve-the-error-the-ordinal-410-could-not-be-located.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 04:20:51 +0000</pubDate>
		<dc:creator>Jared Heinrichs</dc:creator>
				<category><![CDATA[Windows 2003 Server]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://jaredheinrichs.com/how-to-resolve-the-error-the-ordinal-410-could-not-be-located.html</guid>
		<description><![CDATA[Sorry to tell you but this issue is happens when the install for Internet Explorer is corrupt. You will notice in the control panel that “Internet Options” is no longer there. Go to Add/remove programs and un-install Internet explorer 8. This will resolve “the ordingal 410 could not be located error”. Restart the server/computer. You [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry to tell you but this issue is happens when the install for Internet Explorer is corrupt. You will notice in the control panel that “Internet Options” is no longer there. Go to Add/remove programs and un-install Internet explorer 8. This will resolve “the ordingal 410 could not be located error”. Restart the server/computer. You should now be able to re-install Internet Explorer 8 and there won’t be any issues.</p>
<p>Hope this helped you resolve the error “The ordinal 410 could not be located”. <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://jaredheinrichs.com/wp-content/uploads/2010/07/wlEmoticonsmile1.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jaredheinrichs.com/how-to-resolve-the-error-the-ordinal-410-could-not-be-located.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to replace a Windows Server 2003 Domain Controller</title>
		<link>http://jaredheinrichs.com/how-to-replace-a-windows-server-2003-domain-controller.html</link>
		<comments>http://jaredheinrichs.com/how-to-replace-a-windows-server-2003-domain-controller.html#comments</comments>
		<pubDate>Tue, 06 Apr 2010 02:52:39 +0000</pubDate>
		<dc:creator>Jared Heinrichs</dc:creator>
				<category><![CDATA[Windows 2003 Server]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://jaredheinrichs.com/how-to-replace-a-windows-server-2003-domain-controller.html</guid>
		<description><![CDATA[It is a known fact that servers reach the end of their lives. Some get there quicker than others, based on age, manufacturer, usage and several other factors. However, if your organization has spent time deploying Microsoft&#8217;s Active Directory server, you will know that replacing a Domain Controller and migrating everything Active Directory based over [...]]]></description>
			<content:encoded><![CDATA[<p>It is a known fact that servers reach the end of their lives. Some get there quicker than others, based on age, manufacturer, usage and several other factors. However, if your organization has spent time deploying Microsoft&#8217;s Active Directory server, you will know that replacing a Domain Controller and migrating everything Active Directory based over is not the easiest procedure you&#8217;ve ever performed.   <br />Of course, you could simply image the old server and restore it to the new server, but this could cause licensing and driver issues, not to mention the fact that I prefer to rebuild a server from scratch rather than live with the clutter of an old server on new hardware. In order for you to build a new server, promote it as a Domain Controller and then migrate Active Directory, you need to follow several steps.    <br />Note, at this stage, you must verify two things. First, check on the old server (to be replaced) in Control Panel, Add/Remove Programs that Microsoft Exchange Server (any version) is NOT installed on the server. Furthermore, do not perform this procedure if the old server to be replaced is a Small Business (SBS) Server, since this procedure of replacing the server will break the SBS, and special precautions must be taken. Look out for future articles on how to migrate off an SBS server.</p>
<dl>
<dd>
<h4>Check the network</h4>
<p>Prior to working on the network, I suggest you download the Windows Server 2003 Support Tools to the old server from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6EC50B78-8BE1-4E81-B3BE-4E7AC4F0912D&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyId=6EC50B78-8BE1-4E81-B3BE-4E7AC4F0912D&amp;displaylang=en</a>. Once installed on the old server, you can run the command dcdiag from a command prompt, which tests the Domain Controller and verifies there are no present issues in Active Directory. This way, you can fix those issues before migrating. If all tests are passed, and only when all tests are passed, you should then run netdiag to test the network configuration of the server, and again ensure all tests pass before proceeding.</p>
</dd>
</dl>
<dl>
<dd>
<h4>Install the new server</h4>
<p>Firstly, install Windows Server 2003 to the new server. If you have the R2 edition, install Disk 2 of the CD-Rom media after initial setup completed and the system is up and running.       <br />Once the new server is up and running, install drivers for the Network Card and any other necessary drivers. Then, once a Network Connection can be seen on the server and you can communicate over the network, configure the server with a static IP address on your network. At this stage, set the Preferred DNS Server to be the IP address of (one of) the existing Domain Controller(s). Do not enter any ISP DNS servers here.        <br />Next, join the server to the existing Active Directory Domain. This is performed the standard way &#8211; in the same way as you join a workstation &#8211; through Start, Control Panel, System, Computer Name, Change. Choose the Domain option, enter the Domain Name and then press OK. A restart is required at this stage. </p>
</dd>
</dl>
<dl>
<dd>
<h4>Prepare the Domain</h4>
<p>If you will be installing Windows Server 2003 into a Windows Server 2000 domain, or Windows Server 2003 R2 into a non-R2 Server 2003 domain, you need to extend the schema. This involves placing the Windows Server 2003 media into the Domain Controller which currently holds the Schema Master FSMO role. For Windows Server 2003 R2, you must enter Disk 2, for other editions, enter Disk 1. For Windows Server 2003, browse, on the Schema Master, to the drive:\i386 folder at a command prompt. For R2 edition, browse on Disk 2 to the drive:\CMPNENTS\R2\ADPREP folder at a command prompt.       <br />Once in the directory, the command dir should show the list of files available, one of which should be the adprep.exe tool. At the prompt, you should execute the command adprep /forestprep, to extend the forest schema. Once replication between all Domain Controllers in the Forest has completed &#8211; any only when that has occurred &#8211; you should then execute adprep /domainprep via the same procedure, and again, wait for replication to take place before proceeding.</p>
</dd>
</dl>
<dl>
<dd>
<h4>Promote the server</h4>
<p>After the reboot, you can now invoke the dcpromo wizard, used to promote the server as a Domain Controller. Start the wizard by entering dcpromo into the Start, Run box, then press OK. When prompted whether to enable Advanced Mode, I suggest unless you wish to see Advanced Features that you do not enable this feature. Follow through the wizard, opting for the &#8216;Additional Domain Controller in an existing domain&#8217; when prompted. When the wizard completes, it will install Active Directory Services onto the server. Do NOT press &#8216;Cancel&#8217; at this stage. If you made a mistake, wait for the wizard to complete, when you can restart the server and re-run the dcpromo wizard to correct the issue. </p>
</dd>
</dl>
<dl>
<dd>
<h4>Install DNS</h4>
<p>DNS is a crucial part of Active Directory, used for the whole of the Active Directory system. As a result, we must migrate DNS from the old DC to the new DC.       <br />The easiest route to do this is to use Active Directory-integrated DNS, so that the DNS replicates from Domain Controller to Domain Controller with Active Directory replication traffic. To check whether your DNS zones are Active Directory-integrated, look on your existing Domain Controller in the DNS console (Start, Control Panel, Administrative Tools, DNS). Under Forward Lookup Zones, look for &lt;yourdomainname.com&gt; in the list. Beside the zone in the &#8216;Type&#8217; column, you should see &#8216;Active Directory-integrated&#8217; noted. If it does not report this, right-click the zone, choose Properties, then on the General tab beside Type, press the Change button and check the box marked &#8216;Store the zone in Active Directory&#8217;. Press OK.        <br />Now the zone is stored in Active Directory, we simply need to install DNS on the new Domain Controller, and the DNS information will replicate in due course. To install DNS on the new server: Start, Control Panel, Add/Remove Programs, Add/Remove Windows Components. Click &#8216;Networking Services&#8217;, then press the Details button. Check the box to enable &#8216;Domain Name System (DNS)&#8217; and then press OK. Pressing Next will install the new roles you have checked (DNS, in this case).        <br />Once DNS is installed, it could take a short amount of time before the data shows up in the DNS console on the new server. However, it will show up in due course, so be patient; you don&#8217;t even need to manually create the zones. </p>
</dd>
</dl>
<dl>
<dd>
<h4>Global Catalog</h4>
<p>In a single-domain, single-forest environment, all Domain Controllers should be Global Catalog servers. The Global Catalog contains a partial replica of all objects in the forest, and is used to establish Universal Group Membership at logon. Without it, logins may not work properly, if at all. Thus, the new server should be a Global Catalog server.        <br />To achieve this, on either the old or the new server, open the Active Directory Sites and Services tool from Administrative Tools in Control Panel. In the tool, expand the site which owns the server, then expand the server object itself. Within the server object, you will see an object entitled &#8216;NTDS Settings&#8217;. Right-click on this, press Properties and then check the box marked &#8216;Global Catalog&#8217;. OK out, and then it is necessary for replication to take place before the server will become a full Global Catalog. </p>
</dd>
</dl>
<dl>
<dd>
<h4>FSMO Roles</h4>
<p>The final step is to transfer the FSMO Operations Roles from the old server to the new server. The Operations Roles dictate the DC which performs particular Active Directory tasks. For example, the Schema Master role dicates upon which server the Schema can be extended.       <br />To transfer these roles to the new server, follow the instructions in this Microsoft Knowledgebase article: <a href="http://support.microsoft.com/kb/324801">http://support.microsoft.com/kb/324801</a>. Note: Verify any information you read is based on the TRANSFER of the roles. SEIZING is not applicable here, and should not be performed for a graceful DC migration. </p>
</dd>
</dl>
<dl>
<dd>
<h4>DNS Server on the new server</h4>
<p>At this stage, DNS should have replicated, so you should now set the Preferred DNS Server on the New Server&#8217;s Network Card to point to the IP of the new server, and that IP address only. Do not enter any ISP DNS servers. It is recommended you use the full IP address of the server, rather than the loopback 127.0.0.1 address.       <br />You may wish to enable Forwarders in the DNS console. Since no workstation or server should have the ISP&#8217;s DNS server manually configured on its NIC, the forwarder at the server enables DNS on the server to resolve the IP address of external domains using the ISP&#8217;s DNS server. See <a href="http://technet.microsoft.com/en-us/library/cc773370.aspx">http://technet.microsoft.com/en-us/library/cc773370.aspx</a> for details </p>
</dd>
</dl>
<dl>
<dd>
<h4>Test</h4>
<p>Finally, before demoting the old server, I would shut down or unplug the old server from the network, then test network resources and verify everything &#8211; particularly logins &#8211; works properly. You may find that the workstations are still detecting the DNS Server as the old server. This would need to be manually overridden to be the new server for test purposes. </p>
</dd>
</dl>
<dl>
<dd>
<h4>Demote</h4>
<p>If everything is working, then you can, at this stage, reconnect the old server, boot it up and then run dcpromo and choose the options to demote the server. Before disconnecting it from the network fully, you must remember that data and any other applications on the server must be transferred to the new server. ROBOCOPY is a good tool for doing this, since the /COPYALL switch enables you to copy the NTFS ACLs along with the actual data (Windows&#8217; standard Copy operation will not carry the security permissions over).</p>
</dd>
<dd>
<p>Hope this helps</p>
</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://jaredheinrichs.com/how-to-replace-a-windows-server-2003-domain-controller.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Malware stats on different versions of Windows</title>
		<link>http://jaredheinrichs.com/malware-stats-on-different-versions-of-windows.html</link>
		<comments>http://jaredheinrichs.com/malware-stats-on-different-versions-of-windows.html#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:31:41 +0000</pubDate>
		<dc:creator>Jared Heinrichs</dc:creator>
				<category><![CDATA[Windows 2003 Server]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://jaredheinrichs.com/malware-stats-on-different-versions-of-windows.html</guid>
		<description><![CDATA[Microsoft is making their OS’s more secure Depending on your background, you may find different sections of the newly published Microsoft Security Intelligence Report (SIR) to be of more interest.&#160; In today’s post, we would like to highlight the section on infection rates based on the operating system (OS) version and the service pack level.&#160; [...]]]></description>
			<content:encoded><![CDATA[<h3>Microsoft is making their OS’s more secure</h3>
<p>Depending on your background, you may find different sections of the newly published <a href="http://www.microsoft.com/sir">Microsoft Security Intelligence Report</a> (SIR) to be of more interest.&#160; In today’s post, we would like to highlight the section on infection rates based on the operating system (OS) version and the service pack level.&#160; Microsoft has consistently observed that machines with newer OS and with more recent service packs are less likely to be infected by malware.&#160; The graph below shows the number of computers having malware removed per 1,000 executions of the MSRT on that OS/SP during the second half of 2008 (2H08).</p>
<p><img alt="" src="http://blogs.technet.com/photos/mmpcblog/images/3229054/original.aspx" width="464" height="293" /></p>
<p>In the SIR, you will find the the following conclusions based on this data:</p>
<ul>
<li>The infection rate for Windows Vista is significantly lower than that of its predecessor, Windows XP, in all configurations.</li>
<li>Comparing the latest service packs for each version, the infection rate of Windows Vista SP1 is 60.6 percent less than that of Windows XP SP3.</li>
<li>Comparing the RTM versions of these operating systems, the infection rate of the RTM version of Windows Vista is 89.1 percent less than that of the RTM version of Windows XP.</li>
<li>The infection rate of Windows Server 2008 RTM is 52.6 percent less than that of its predecessor, Windows Server 2003 SP2.</li>
<li>The higher the service pack level, the lower the rate of infection. This trend can be observed consistently across client and server operating systems.</li>
</ul>
<p>There are two reasons for this:</p>
<ol>
<li>Service packs include all previously released security updates. They can also include additional security features, mitigations, or changes to default settings to protect users.</li>
<li>Users who install service packs generally maintain their computers better than users who do not install service packs and may also be more cautious in the way they browse the Internet, open attachments, and engage in other activities that can open computers to attack.</li>
</ol>
<p>Server versions of Windows typically display a lower infection rate on average than client versions. Servers tend to have a lower effective attack surface than computers running client operating systems as they are more likely to be used under controlled conditions by trained administrators and to be protected by one or more layers of security. In particular, Windows Server 2003 its successors are hardened against attack in a number of ways, reflecting this difference in usage.</p>
<p>Continue <a href="http://blogs.technet.com/mmpc/archive/2009/04/21/malware-distribution-across-operating-systems.aspx">http://blogs.technet.com/mmpc/archive/2009/04/21/malware-distribution-across-operating-systems.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaredheinrichs.com/malware-stats-on-different-versions-of-windows.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to schedule a Windows Powershell script</title>
		<link>http://jaredheinrichs.com/how-to-schedule-a-windows-powershell-script.html</link>
		<comments>http://jaredheinrichs.com/how-to-schedule-a-windows-powershell-script.html#comments</comments>
		<pubDate>Thu, 26 Mar 2009 19:12:06 +0000</pubDate>
		<dc:creator>Jared Heinrichs</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Windows 2003 Server]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://jaredheinrichs.com/?p=371</guid>
		<description><![CDATA[Couple of things to know There are two main things that you have to do to schedual Powershell scripts. Allow Interactive Commands using set-executionpolicy command. Put Powershell script in a &#34;.ps1&#34; file. You can use any text editor to make this. The first thing you need to do is make sure that Powershell is set [...]]]></description>
			<content:encoded><![CDATA[<h3>Couple of things to know</h3>
<p>There are two main things that you have to do to schedual Powershell scripts.</p>
<ol>
<li>Allow Interactive Commands using set-executionpolicy command. </li>
<li>Put Powershell script in a &quot;.ps1&quot; file. You can use any text editor to make this. </li>
</ol>
<p>The first thing you need to do is make sure that Powershell is set to execute Powershell scripts, instead of only allowing interactive commands to be run in the Powershell environment.</p>
<p>Type the following at the Powershell command prompt:</p>
<blockquote><pre class="csharpcode">set-executionpolicy RemoteSigned</pre>
</blockquote>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>This will allow the system to run Powershell scripts that are created locally (Remote Powershell scripts that may be downloaded must be signed).</p>
<p>Once this is done, you can create your Powershell script using notepad. Just make sure you name the file with an extension of .ps1 . Now to run the script outside of its Powershell environment you type a command similar to the following:</p>
<blockquote>
<pre class="csharpcode">powershell -command <span class="str">&quot;&amp; 'MyScript.ps1' &quot;</span></pre>
</blockquote>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Just put the above command into a .bat or .cmd file and schedule it like you would normally schedule a script to be run with Windows task scheduler.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredheinrichs.com/how-to-schedule-a-windows-powershell-script.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to reset Group Policy after a virus</title>
		<link>http://jaredheinrichs.com/how-to-reset-group-policy-after-a-virus.html</link>
		<comments>http://jaredheinrichs.com/how-to-reset-group-policy-after-a-virus.html#comments</comments>
		<pubDate>Sat, 31 Jan 2009 01:07:27 +0000</pubDate>
		<dc:creator>Jared Heinrichs</dc:creator>
				<category><![CDATA[Windows 2003 Server]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://jaredheinrichs.com/?p=190</guid>
		<description><![CDATA[How To Reset A System&#8217;s Local Group Machine Policies to &#34;Fresh Out Of The Box&#34; Group policies are the way to control a 2000, XP or 2003 system. But they have something of a black box-ish feel to them in that they&#8217;re hard to troubleshoot despite the XP and 2003 &#34;resultant set of policy&#34; (RSOP) [...]]]></description>
			<content:encoded><![CDATA[<h3>How To Reset A System&#8217;s Local Group Machine Policies to &quot;Fresh Out Of The Box&quot;</h3>
<p>Group policies are <em>the</em> way to control a 2000, XP or 2003 system. But they have something of a black box-ish feel to them in that they&#8217;re hard to troubleshoot despite the XP and 2003 &quot;resultant set of policy&quot; (RSOP) tools. But even then, RSOP tools are most useful in an Active Directory-based domain with centralized group policies, and not everyone has an AD.</p>
<p>Sometimes I want to take a system and wipe it clean of any domain or local group machine policies, to essentially reset its state to &quot;just installed.&quot; As policies live in several places, that&#8217;s not as easy as it sounds. Here&#8217;s what I&#8217;ve found useful.</p>
<p>There is no one single place where policies live. When you fire up <strong>gpedit.msc</strong> or <em>Local Security Policy</em> (<strong>secpol.msc</strong>), then you&#8217;re directly tweaking items in many parts of the Registry, as well creating or modifying data in \windows\system32\GroupPolicy. (It&#8217;s a hidden directory, so set Folder Options to show hidden files and folders if you want to look in it. And if you&#8217;re running Windows 2000, then the directory is <strong>\winnt\system32\GroupPolicy</strong>.)</p>
<p>Most of the changes to machine policies seem to live in <strong>HKEY_LOCAL_MACHINE\Security</strong> and <strong>HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft</strong>, as well as a file named <strong>Registry.pol</strong> in <strong><em>\windows\system32\GroupPolicy\Machine</em></strong>. Here are the basic steps that I&#8217;ve found allow me to reset a system to almost new:</p>
<ul>
<li>Reset <strong>HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft</strong> to an out-of-the-box state by restoring a copy taken from a freshly-installed system. </li>
<li>Delete <em><strong>\windows\system32\GroupPolicy\Machine\Registry.pol</strong></em>, if it exists. </li>
<li>Run the Setup Security template. </li>
</ul>
<h4>Here&#8217;s more detail on the rollback steps.</h4>
<p>Every XP, 2003 and 2000 system includes a security settings template at \windows\security\templates\setup security.inf. (Again, 2000 systems will use \winnt, not \windows.) Apply the template from the command line like so:</p>
<pre class="csharpcode">secedit /configure /db junk /cfg <span class="str">&quot;c:\windows\security\templates\setup security.inf&quot;</span> /overwrite /quiet</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>In that command &#8212; which should be typed as all one line &#8212; you&#8217;re telling secedit to use a template named &quot;<strong><em>c:\windows\security\templates\setup security.inf</em></strong>&quot; to create a security database called &quot;<strong>junk</strong>&quot; and to overwrite any existing security databases called &quot;<strong>junk</strong>.&quot; We&#8217;re only doing this because secedit can&#8217;t directly apply a security template; it must first create the security database, and <em>then</em> it applies the security database.</p>
<p>This command make take a bit of time to run; run Task Manager and you&#8217;ll see secedit.exe in the list of running processes while it&#8217;s working. (Or leave off the /quiet and it&#8217;ll yammer at you while it&#8217;s working.)</p>
<p>Applying that template will reset <em>many</em> security settings, but not, unfortunately, all. For example, software restriction policies will <em>not</em> be rolled back, and IPSec filters won&#8217;t be restored to their initial state just by running &quot;<strong>setup security.inf</strong>.&quot; To roll those back, we&#8217;ll restore a Registry key, <strong>HKLM\Software\Policies\Microsoft</strong>. That&#8217;s the key where most of the policy information lives. The easiest way to roll back most of policies, then, is to restore this key to its pristine state. And the easiest way to do <em>that</em> is to grab a <strong>HKLM\Software\Policies\Microsoft</strong> key from a newly-installed system, or for that matter one that hasn&#8217;t had any policy work done on it. (But before you do all this work, check your system &#8212; if you never messed with IPSec or software restriction policies then simply applying the template might have done the &quot;policy reset&quot; trick for you.)</p>
<p>The easiest way to do that is to open up Regedit on your newly-installed system and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies, where you&#8217;ll see a folder icon labeled &quot;Microsoft.&quot; Right-click it and choose Export, then point Regedit at someplace to put the file. For my example, I&#8217;ll call it policies.reg, but you can put it anywhere you like &#8212; just remember wherever you put it. I then copy the policies.reg file to the computer that I want to reset policies on; for the sake of example, let&#8217;s say that I store it in c:\oldreg.</p>
<p>Now, I don&#8217;t want to just apply that Registry file to my system, as .reg files really only <em>merge</em> information into the Registry &#8212; I want to reset that part of the Registry altogether. So before I apply policies.reg to my system&#8217;s Registry, I&#8217;ll first delete the current HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft key in the Registry. (As always, PLEASE be careful when messing with the Registry!) You can either do that by opening up Regedit, navigating to HKEY_LOCAL_MACHINE\SOFTWARE\Policies, clicking on the Microsoft folder and pressing Del, or you can do it from the command line:</p>
<blockquote>
<pre class="csharpcode">reg delete hklm\software\policies\microsoft /f</pre>
</blockquote>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Now I&#8217;m ready to apply the Registry fixes either by double-clicking on policies.reg, or from the command line like so:</p>
<blockquote>
<pre class="csharpcode">regedit /s c:\oldreg\policies.reg</pre>
</blockquote>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Finally, zap <strong><em>\windows\system32\GroupPolicy\Machine\Registry.pol</em></strong> either from Explorer or from the command line. Restart and the policies are gone! Let&#8217;s wrap that up into a step-by-step:</p>
<p>First, export the <strong><em>HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft</em></strong> key from a &quot;<strong><em>virgin</em></strong>&quot; system; call the file <strong>policies.reg</strong> and store it on the system that you want to reset in a directory named <strong><em>c:\oldreg</em></strong>.</p>
<p>Second, create a batch file with the following lines in it, or just copy the lines from this document. Save the file, calling it <strong><em>resetpol.cmd</em></strong>. Store it and <strong>policies.reg</strong> on a floppy somewhere so they can be easily transported to any other system that might need its policies reset. If your system is a Windows 2000 system, then type &quot;\winnt&quot; where you see &quot;\windows&quot; below.</p>
<p><span id="more-190"></span></p>
<pre class="csharpcode">reg delete hklm\software\policies\microsoft /f
regedit /s c:\oldreg\policies.reg
secedit /configure /db reset /cfg <span class="str">&quot;c:\windows\security\templates\setup security.inf&quot;</span> /overwrite /quiet
del c:\windows\system32\grouppolicy\machine\registry.pol</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Finally, run <strong>resetpol.cmd</strong>. Wait for <strong>secedit</strong> to finish, then reboot.</p>
<p>How does this advice vary if you want to remove <em>domain</em>-based policies? Well, the best way to wipe out all domain-based policies is to simply unjoin the workstation from the domain. That seems to un-do most of the policies. But if you&#8217;ve got a system that&#8217;s not connected to the domain &#8212; perhaps a laptop &#8212; and you just want to be free of domain policies temporarily, then follow the above advice. Of course, you&#8217;ve got to be a local administrator to do any of this policy un-doing.</p>
<p>One final note: each of those commands resets a part of policies. But they may not reset them all &#8212; that&#8217;s why I said &quot;almost new.&quot; If you&#8217;ve created a custom policy that &quot;tattoos&quot; the Registry, then there&#8217;s no way to roll back those changes unless you&#8217;ve documented what the policies did in the first place; then you can reset the affected Registry keys one at a time. So be careful with those Registry tattoo-ers!</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredheinrichs.com/how-to-reset-group-policy-after-a-virus.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
