<?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>Windows 7 Insider</title>
	<atom:link href="http://win7insider.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://win7insider.com</link>
	<description>Information &#38; Tips About Windows 7</description>
	<lastBuildDate>Tue, 09 Mar 2010 12:55:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Updates: VMMap v2.61</title>
		<link>http://win7insider.com/2010/03/09/updates-vmmap-v2-61/</link>
		<comments>http://win7insider.com/2010/03/09/updates-vmmap-v2-61/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 12:55:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/03/09/updates-vmmap-v2-61/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" title="VMMap" target="_blank" href="http://technet.microsoft.com/sysinternals/dd535533.aspx">VMMap v2.61:</a> This fixes a minor bug in the calculation of the Unknown category total. <img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/da514_aggbug.aspx?PostID=3317691" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/03/09/updates-vmmap-v2-61/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates: AdExplorer v1.3, VMMap v2.6, Disk2vhd v1.5, LiveKd v3.14, Sigcheck v1.66</title>
		<link>http://win7insider.com/2010/03/09/updates-adexplorer-v1-3-vmmap-v2-6-disk2vhd-v1-5-livekd-v3-14-sigcheck-v1-66/</link>
		<comments>http://win7insider.com/2010/03/09/updates-adexplorer-v1-3-vmmap-v2-6-disk2vhd-v1-5-livekd-v3-14-sigcheck-v1-66/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 12:55:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/03/09/updates-adexplorer-v1-3-vmmap-v2-6-disk2vhd-v1-5-livekd-v3-14-sigcheck-v1-66/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" title="AdExplorer" target="_blank" href="http://technet.microsoft.com/sysinternals/bb963907.aspx">AdExplorer v1.3:</a> <span>This update to AdExplorer, an Active Directory editor, has major node expansion performance improvements and a number of minor bug fixes.</span></p>
<p><a rel="nofollow" title="VMMap" target="_blank" href="http://technet.microsoft.com/sysinternals/dd535533.aspx">VMMap v2.6:</a> VMMap, a powerful process virtual and physical memory analysis tool, now shows both graphical and numeric breakdowns of private virtual memory, as well as heap configuration flags. </p>
<p><a rel="nofollow" title="Disk2vhd" target="_blank" href="http://technet.microsoft.com/sysinternals/ee656415.aspx">Disk2vhd v1.5:</a> Disk2Vhd v1.5 works with Hyper-V SCSI direct-attached volumes and reports an error when a snapshot includes offline volumes.</p>
<p><a rel="nofollow" title="LiveKd" target="_blank" href="http://technet.microsoft.com/sysinternals/bb897415.aspx">LiveKd v3.14:</a> This version of LiveKd has better detection of the Debugging Tools package installation and launches the debugger in a mode that skips the unnecessary root-cause analysis of the virtual dump file. </p>
<p><a rel="nofollow" title="Sigcheck" target="_blank" href="http://technet.microsoft.com/sysinternals/bb897441.aspx">Sigcheck v1.66:</a> This update to Sigcheck, a file version and signature checking utility, fixes a bug in the certificate revocation check logic. </p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/149d7_aggbug.aspx?PostID=3316651" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/03/09/updates-adexplorer-v1-3-vmmap-v2-6-disk2vhd-v1-5-livekd-v3-14-sigcheck-v1-66/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paul Thurrott Interviews Mark on Windows 7, New Mark&#8217;s blog post &#8211; Case of the Slow Logon on , and Process Explorer is cited as PC World Magazine&#8217;s top Windows tips</title>
		<link>http://win7insider.com/2010/03/09/paul-thurrott-interviews-mark-on-windows-7-new-marks-blog-post-case-of-the-slow-logon-on-and-process-explorer-is-cited-as-pc-world-magazines-top-windows-tips/</link>
		<comments>http://win7insider.com/2010/03/09/paul-thurrott-interviews-mark-on-windows-7-new-marks-blog-post-case-of-the-slow-logon-on-and-process-explorer-is-cited-as-pc-world-magazines-top-windows-tips/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 12:55:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/03/09/paul-thurrott-interviews-mark-on-windows-7-new-marks-blog-post-case-of-the-slow-logon-on-and-process-explorer-is-cited-as-pc-world-magazines-top-windows-tips/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.winsupersite.com/win7/russinovich.asp">Paul Thurrott Interviews Mark on Windows 7 Development</a>: Check out Mark’s interview with Windows IT Pro Magazine columnist Paul Thurrott, where he discusses some of the thinking behind Windows 7. </p>
<p><a rel="nofollow" target="_blank" href="http://blogs.technet.com/markrussinovich/">Mark’s Blog: Case of the Slow Logon</a>: Mark’s latest blog post documents a troubleshooting case that highlights the use of PsExec to monitor the logoff or logon process and the technique of Process Monitor log comparison to pinpoint a problem that caused some machines in a corporate network to experience 3-minute logons. </p>
<p>&nbsp;<a rel="nofollow" target="_blank" href="http://www.pcworld.com/article/184619/the_greatest_windows_tips_of_all_time.html">Process Explorer in PC World’s Top 75 Windows Tips of All Time</a>: We’re proud that Process Explorer was cited as one of PC World Magazine’s top Windows tips.</p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/10637_aggbug.aspx?PostID=3306828" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/03/09/paul-thurrott-interviews-mark-on-windows-7-new-marks-blog-post-case-of-the-slow-logon-on-and-process-explorer-is-cited-as-pc-world-magazines-top-windows-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates: ProcDump v1.72, Desktops v1.02, Sigcheck v1.65, DiskView v2.3</title>
		<link>http://win7insider.com/2010/03/09/updates-procdump-v1-72-desktops-v1-02-sigcheck-v1-65-diskview-v2-3/</link>
		<comments>http://win7insider.com/2010/03/09/updates-procdump-v1-72-desktops-v1-02-sigcheck-v1-65-diskview-v2-3/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 12:55:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/03/09/updates-procdump-v1-72-desktops-v1-02-sigcheck-v1-65-diskview-v2-3/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" title="ProcDump" target="_blank" href="http://technet.microsoft.com/sysinternals/dd996900.aspx">ProcDump v1.72:</a> This update changes the dump file date and time format to be ISO compliant and fixes a bug that prevented ProcDump from exiting when the process termination condition was active.</p>
<p><a rel="nofollow" title="Desktops" target="_blank" href="http://technet.microsoft.com/sysinternals/cc817881.aspx">Desktops v1.02:</a> v1.02 works around another issue that could prevent Alt+Tab from working on alternate desktops on 64-bit Windows 7 systems.</p>
<p><span><a rel="nofollow" title="Sigcheck" target="_blank" href="http://technet.microsoft.com/sysinternals/bb897441.aspx">Sigcheck v1.65:</a> Now includes all certificate errors in the unsigned image filter, not just images that have no code signing certificate. </span></p>
<p><span></p>
<p><a rel="nofollow" title="DiskView" target="_blank" href="http://technet.microsoft.com/sysinternals/bb896650.aspx">DiskView v2.3:</a> I<span>ncludes a native 64-bit version that allows it to handle multi-terabyte disks when run on 64-bit Windows.</span></p>
<p></span><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/ffe3f_aggbug.aspx?PostID=3306826" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/03/09/updates-procdump-v1-72-desktops-v1-02-sigcheck-v1-65-diskview-v2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where to find Tablet PC blog posts</title>
		<link>http://win7insider.com/2010/03/08/where-to-find-tablet-pc-blog-posts/</link>
		<comments>http://win7insider.com/2010/03/08/where-to-find-tablet-pc-blog-posts/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 06:50:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/03/08/where-to-find-tablet-pc-blog-posts/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Although we continue to innovate around all natural user interface input methods&#8211;including ink, multitouch, and handwriting recognition&#8211;the Tablet PC Team blog is no longer active. Instead, blog posts from our team members can be found on the Windows Team Blog (<a rel="nofollow" target="_blank" href="http://windowsteamblog.com/">http://windowsteamblog.com/</a>). </p>
<p>Thank you so very, very much.</p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/de8ba_aggbug.aspx?PostID=3311014" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/03/08/where-to-find-tablet-pc-blog-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review Of The RegCure Registry Cleaner</title>
		<link>http://win7insider.com/2010/03/05/review-of-the-regcure-registry-cleaner/</link>
		<comments>http://win7insider.com/2010/03/05/review-of-the-regcure-registry-cleaner/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 18:53:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arts]]></category>

		<guid isPermaLink="false">http://win7insider.com/?p=1052</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been looking at various registry cleaner reviews lately and have found that there&#8217;s a tool called &#8220;RegCure&#8221; which seems to work very well to fix your Pc and stop a number of different errors. Being the inquisitve people we are, we decided to investigate this registry cleaner tool and found <a href="http://www.registry-cleaners-compared.com/registry-cleaner-reviews/regcure-review/">review of RegCure</a> to be very helpful. This tool is highly popular online and has many people recommending it. This review showed us that RegCure is one of the most powerful registry tools that you can use on Windows 7, and is responsible for being able to remove the highest number of registry errors on the typical Windows 7 system. There are many different registry cleaners out there, but the one that has been recommended the most has been &#8220;RegCure&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/03/05/review-of-the-regcure-registry-cleaner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building on PowerShell: Execution Policies</title>
		<link>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-3/</link>
		<comments>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-3/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:12:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-3/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>One question we sometimes get asked is why Exchange changes PowerShell’s execution policy from “Restricted” to “RemoteSigned.” Doesn’t that lower PowerShell’s security?</p>
<p>The &#8220;Restricted&#8221; execution policy isn&#8217;t intended to be something that PowerShell users live with forever. It&#8217;s a safe default that protects non PowerShell users from being impacted by PowerShell-based malware.</p>
<p>For example, many home users had never used VBScript, but still got bitten by the flurry of WSH-based viruses that got mailed to them. PowerShell&#8217;s Restricted execution policy solves this. To an attacker, a computer that has never used PowerShell is the same as a computer that doesn&#8217;t have PowerShell installed at all. And since attackers look to affect the largest number of computers possible, PowerShell becomes a less attractive vehicle for their attack. That, in turn, makes PowerShell users safer too. Given all of PowerShell’s security barbs, an attacker is better off using executables or other popular scripting languages as an attack vehicle.</p>
<p>So in light of all this, the Exchange team updates the execution policy to RemoteSigned by our recommendation. If you are an application that uses PowerShell support, you probably fit into one of these situations:</p>
<h5>You expect the vast majority of your users to run your scripts</h5>
<p>If you are a vendor that ships PowerShell scripts as an integral part of your offering (not just cmdlets,) you should absolutely expect that your users will want to run them. It would be a poor user experience if they had to install your product, and then change their execution policy when they try to use it. There’s also the very real threat of them just trying to make the message go away and picking a needlessly lax execution policy (such as Unrestricted.)</p>
<p>In this situation, we recommend that:</p>
<ul>
<li>You sign your scripts with a real Authenticode code signing certificate </li>
<li>During installation, you change the execution policy to AllSigned if it is currently Restricted. If it is anything but Restricted, leave it alone. </li>
<li>DO NOT modify the user&#8217;s Certificate Store. They will (and should) be prompted the first time they run your scripts to ensure they trust your signing certificate.</li>
<li>If your installer supports silent installation, offer an option to not modify the execution policy.</li>
</ul>
<p>To clarify the “leave it alone” point – a non-default execution policy has been put there for a reason. While you might want to increase security to change the execution policy to AllSigned, it is more likely that you will inadvertently break other installed products, or parts of their IT infrastructure that depends on unsigned scripts.</p>
<p>If you do not have a code signing certificate, we recommend getting one! If you cannot, then your installer should prompt the user to change the execution policy to RemoteSigned if it is currently Restricted. If it is anything but Restricted, leave it alone.</p>
<blockquote>
<p><em>“&lt;This product&gt; includes scripts that help you &lt;manage Active Directory, etc.&gt; Your current PowerShell script execution policy will prevent these scripts from running. Would you like to update the execution policy to allow these scripts to run?” ([Yes – Default] / No / Cancel)</em></p>
</blockquote>
<h5>Your product itself depends on PowerShell scripts</h5>
<p>In this case, PowerShell scripts are simply an implementation language, just like C#, C++, or assembly language. Since you are only running scripts that you wrote, use the PSExecutionPolicyPreference environment variable to change the execution policy for the scope of your application only. RemoteSigned (as opposed to AllSigned) is the best option in this situation so that your application doesn&#8217;t need to prompt the user. If your application offers the ability to run random scripts (or launch a PowerShell console,) ensure that you clear your PSExecutionPolicyPreference variable before doing so.</p>
<p>Now what about Exchange?</p>
<p>From their design and user research, they know that a vast majority of their user base will write their own scripts, or run scripts from the community. When they do that, they will ultimately get our execution policy warning, and be forced to make a decision. The most secure decision they can make is the RemoteSigned execution policy, so the Exchange installer makes that decision on their behalf.</p>
<p>Lee Holmes [MSFT]<br />Windows PowerShell Development<br />Microsoft Corporation</p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/ea668_aggbug.aspx?PostID=9962774" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building on PowerShell: Execution Policies</title>
		<link>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-2/</link>
		<comments>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-2/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:12:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-2/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>One question we sometimes get asked is why Exchange changes PowerShell’s execution policy from “Restricted” to “RemoteSigned.” Doesn’t that lower PowerShell’s security?</p>
<p>The &#8220;Restricted&#8221; execution policy isn&#8217;t intended to be something that PowerShell users live with forever. It&#8217;s a safe default that protects non PowerShell users from being impacted by PowerShell-based malware.</p>
<p>For example, many home users had never used VBScript, but still got bitten by the flurry of WSH-based viruses that got mailed to them. PowerShell&#8217;s Restricted execution policy solves this. To an attacker, a computer that has never used PowerShell is the same as a computer that doesn&#8217;t have PowerShell installed at all. And since attackers look to affect the largest number of computers possible, PowerShell becomes a less attractive vehicle for their attack. That, in turn, makes PowerShell users safer too. Given all of PowerShell’s security barbs, an attacker is better off using executables or other popular scripting languages as an attack vehicle.</p>
<p>So in light of all this, the Exchange team updates the execution policy to RemoteSigned by our recommendation. If you are an application that uses PowerShell support, you probably fit into one of these situations:</p>
<h5>You expect the vast majority of your users to run your scripts</h5>
<p>If you are a vendor that ships PowerShell scripts as an integral part of your offering (not just cmdlets,) you should absolutely expect that your users will want to run them. It would be a poor user experience if they had to install your product, and then change their execution policy when they try to use it. There’s also the very real threat of them just trying to make the message go away and picking a needlessly lax execution policy (such as Unrestricted.)</p>
<p>In this situation, we recommend that:</p>
<ul>
<li>You sign your scripts with a real Authenticode code signing certificate </li>
<li>During installation, you change the execution policy to AllSigned if it is currently Restricted. If it is anything but Restricted, leave it alone. </li>
<li>DO NOT modify the user&#8217;s Certificate Store. They will (and should) be prompted the first time they run your scripts to ensure they trust your signing certificate.</li>
<li>If your installer supports silent installation, offer an option to not modify the execution policy.</li>
</ul>
<p>To clarify the “leave it alone” point – a non-default execution policy has been put there for a reason. While you might want to increase security to change the execution policy to AllSigned, it is more likely that you will inadvertently break other installed products, or parts of their IT infrastructure that depends on unsigned scripts.</p>
<p>If you do not have a code signing certificate, we recommend getting one! If you cannot, then your installer should prompt the user to change the execution policy to RemoteSigned if it is currently Restricted. If it is anything but Restricted, leave it alone.</p>
<blockquote>
<p><em>“&lt;This product&gt; includes scripts that help you &lt;manage Active Directory, etc.&gt; Your current PowerShell script execution policy will prevent these scripts from running. Would you like to update the execution policy to allow these scripts to run?” ([Yes – Default] / No / Cancel)</em></p>
</blockquote>
<h5>Your product itself depends on PowerShell scripts</h5>
<p>In this case, PowerShell scripts are simply an implementation language, just like C#, C++, or assembly language. Since you are only running scripts that you wrote, use the PSExecutionPolicyPreference environment variable to change the execution policy for the scope of your application only. RemoteSigned (as opposed to AllSigned) is the best option in this situation so that your application doesn&#8217;t need to prompt the user. If your application offers the ability to run random scripts (or launch a PowerShell console,) ensure that you clear your PSExecutionPolicyPreference variable before doing so.</p>
<p>Now what about Exchange?</p>
<p>From their design and user research, they know that a vast majority of their user base will write their own scripts, or run scripts from the community. When they do that, they will ultimately get our execution policy warning, and be forced to make a decision. The most secure decision they can make is the RemoteSigned execution policy, so the Exchange installer makes that decision on their behalf.</p>
<p>Lee Holmes [MSFT]<br />Windows PowerShell Development<br />Microsoft Corporation</p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/42b53_aggbug.aspx?PostID=9962774" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building on PowerShell: Execution Policies</title>
		<link>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/</link>
		<comments>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:12:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>One question we sometimes get asked is why Exchange changes PowerShell’s execution policy from “Restricted” to “RemoteSigned.” Doesn’t that lower PowerShell’s security?</p>
<p>The &#8220;Restricted&#8221; execution policy isn&#8217;t intended to be something that PowerShell users live with forever. It&#8217;s a safe default that protects non PowerShell users from being impacted by PowerShell-based malware.</p>
<p>For example, many home users had never used VBScript, but still got bitten by the flurry of WSH-based viruses that got mailed to them. PowerShell&#8217;s Restricted execution policy solves this. To an attacker, a computer that has never used PowerShell is the same as a computer that doesn&#8217;t have PowerShell installed at all. And since attackers look to affect the largest number of computers possible, PowerShell becomes a less attractive vehicle for their attack. That, in turn, makes PowerShell users safer too. Given all of PowerShell’s security barbs, an attacker is better off using executables or other popular scripting languages as an attack vehicle.</p>
<p>So in light of all this, the Exchange team updates the execution policy to RemoteSigned by our recommendation. If you are an application that uses PowerShell support, you probably fit into one of these situations:</p>
<h5>You expect the vast majority of your users to run your scripts</h5>
<p>If you are a vendor that ships PowerShell scripts as an integral part of your offering (not just cmdlets,) you should absolutely expect that your users will want to run them. It would be a poor user experience if they had to install your product, and then change their execution policy when they try to use it. There’s also the very real threat of them just trying to make the message go away and picking a needlessly lax execution policy (such as Unrestricted.)</p>
<p>In this situation, we recommend that:</p>
<ul>
<li>You sign your scripts with a real Authenticode code signing certificate </li>
<li>During installation, you change the execution policy to AllSigned if it is currently Restricted. If it is anything but Restricted, leave it alone. </li>
<li>DO NOT modify the user&#8217;s Certificate Store. They will (and should) be prompted the first time they run your scripts to ensure they trust your signing certificate.</li>
<li>If your installer supports silent installation, offer an option to not modify the execution policy.</li>
</ul>
<p>To clarify the “leave it alone” point – a non-default execution policy has been put there for a reason. While you might want to increase security to change the execution policy to AllSigned, it is more likely that you will inadvertently break other installed products, or parts of their IT infrastructure that depends on unsigned scripts.</p>
<p>If you do not have a code signing certificate, we recommend getting one! If you cannot, then your installer should prompt the user to change the execution policy to RemoteSigned if it is currently Restricted. If it is anything but Restricted, leave it alone.</p>
<blockquote>
<p><em>“&lt;This product&gt; includes scripts that help you &lt;manage Active Directory, etc.&gt; Your current PowerShell script execution policy will prevent these scripts from running. Would you like to update the execution policy to allow these scripts to run?” ([Yes – Default] / No / Cancel)</em></p>
</blockquote>
<h5>Your product itself depends on PowerShell scripts</h5>
<p>In this case, PowerShell scripts are simply an implementation language, just like C#, C++, or assembly language. Since you are only running scripts that you wrote, use the PSExecutionPolicyPreference environment variable to change the execution policy for the scope of your application only. RemoteSigned (as opposed to AllSigned) is the best option in this situation so that your application doesn&#8217;t need to prompt the user. If your application offers the ability to run random scripts (or launch a PowerShell console,) ensure that you clear your PSExecutionPolicyPreference variable before doing so.</p>
<p>Now what about Exchange?</p>
<p>From their design and user research, they know that a vast majority of their user base will write their own scripts, or run scripts from the community. When they do that, they will ultimately get our execution policy warning, and be forced to make a decision. The most secure decision they can make is the RemoteSigned execution policy, so the Exchange installer makes that decision on their behalf.</p>
<p>Lee Holmes [MSFT]<br />Windows PowerShell Development<br />Microsoft Corporation</p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/42b53_aggbug.aspx?PostID=9962774" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building on PowerShell: Execution Policies</title>
		<link>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/</link>
		<comments>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:12:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>One question we sometimes get asked is why Exchange changes PowerShell’s execution policy from “Restricted” to “RemoteSigned.” Doesn’t that lower PowerShell’s security?</p>
<p>The &#8220;Restricted&#8221; execution policy isn&#8217;t intended to be something that PowerShell users live with forever. It&#8217;s a safe default that protects non PowerShell users from being impacted by PowerShell-based malware.</p>
<p>For example, many home users had never used VBScript, but still got bitten by the flurry of WSH-based viruses that got mailed to them. PowerShell&#8217;s Restricted execution policy solves this. To an attacker, a computer that has never used PowerShell is the same as a computer that doesn&#8217;t have PowerShell installed at all. And since attackers look to affect the largest number of computers possible, PowerShell becomes a less attractive vehicle for their attack. That, in turn, makes PowerShell users safer too. Given all of PowerShell’s security barbs, an attacker is better off using executables or other popular scripting languages as an attack vehicle.</p>
<p>So in light of all this, the Exchange team updates the execution policy to RemoteSigned by our recommendation. If you are an application that uses PowerShell support, you probably fit into one of these situations:</p>
<h5>You expect the vast majority of your users to run your scripts</h5>
<p>If you are a vendor that ships PowerShell scripts as an integral part of your offering (not just cmdlets,) you should absolutely expect that your users will want to run them. It would be a poor user experience if they had to install your product, and then change their execution policy when they try to use it. There’s also the very real threat of them just trying to make the message go away and picking a needlessly lax execution policy (such as Unrestricted.)</p>
<p>In this situation, we recommend that:</p>
<ul>
<li>You sign your scripts with a real Authenticode code signing certificate </li>
<li>During installation, you change the execution policy to AllSigned if it is currently Restricted. If it is anything but Restricted, leave it alone. </li>
<li>DO NOT modify the user&#8217;s Certificate Store. They will (and should) be prompted the first time they run your scripts to ensure they trust your signing certificate.</li>
<li>If your installer supports silent installation, offer an option to not modify the execution policy.</li>
</ul>
<p>To clarify the “leave it alone” point – a non-default execution policy has been put there for a reason. While you might want to increase security to change the execution policy to AllSigned, it is more likely that you will inadvertently break other installed products, or parts of their IT infrastructure that depends on unsigned scripts.</p>
<p>If you do not have a code signing certificate, we recommend getting one! If you cannot, then your installer should prompt the user to change the execution policy to RemoteSigned if it is currently Restricted. If it is anything but Restricted, leave it alone.</p>
<blockquote>
<p><em>“&lt;This product&gt; includes scripts that help you &lt;manage Active Directory, etc.&gt; Your current PowerShell script execution policy will prevent these scripts from running. Would you like to update the execution policy to allow these scripts to run?” ([Yes – Default] / No / Cancel)</em></p>
</blockquote>
<h5>Your product itself depends on PowerShell scripts</h5>
<p>In this case, PowerShell scripts are simply an implementation language, just like C#, C++, or assembly language. Since you are only running scripts that you wrote, use the PSExecutionPolicyPreference environment variable to change the execution policy for the scope of your application only. RemoteSigned (as opposed to AllSigned) is the best option in this situation so that your application doesn&#8217;t need to prompt the user. If your application offers the ability to run random scripts (or launch a PowerShell console,) ensure that you clear your PSExecutionPolicyPreference variable before doing so.</p>
<p>Now what about Exchange?</p>
<p>From their design and user research, they know that a vast majority of their user base will write their own scripts, or run scripts from the community. When they do that, they will ultimately get our execution policy warning, and be forced to make a decision. The most secure decision they can make is the RemoteSigned execution policy, so the Exchange installer makes that decision on their behalf.</p>
<p>Lee Holmes [MSFT]<br />Windows PowerShell Development<br />Microsoft Corporation</p>
<p><img src="http://win7insider.com/wp-content/plugins/wp-o-matic/cache/42b53_aggbug.aspx?PostID=9962774" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://win7insider.com/2010/02/14/building-on-powershell-execution-policies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
