<?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>PhishThis! &#187; Microsoft</title>
	<atom:link href="http://www.phishthis.com/category/microsoft/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phishthis.com</link>
	<description></description>
	<lastBuildDate>Tue, 22 Feb 2011 05:48:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>How to configure AD, SQL, and IIS for two-hop Kerberos authentication</title>
		<link>http://www.phishthis.com/2009/10/24/how-to-configure-ad-sql-and-iis-for-two-hop-kerberos-authentication-2/</link>
		<comments>http://www.phishthis.com/2009/10/24/how-to-configure-ad-sql-and-iis-for-two-hop-kerberos-authentication-2/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 00:01:48 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[IIS7]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server Management]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[Kerberos]]></category>
		<category><![CDATA[Microsoft SQL Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Web service]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/?p=138</guid>
		<description><![CDATA[<p>Recently, some of our developers were writing an app that required impersonation from the web service, as the user, to the database. Admittedly, Kerberos isn&#8217;t one of my strong points.</p> <p>There were two hops here. From the user -&#62; IIS server and from IIS Server -&#62; SQL Server, but the application in IIS would [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, some of our developers were writing an app that required impersonation from the web service, as the user, to the database. Admittedly, <A class=zem_slink title="Kerberos (protocol)" href="http://en.wikipedia.org/wiki/Kerberos_%28protocol%29" rel=wikipedia>Kerberos</A> isn&#8217;t one of my strong points.</p>
<p>There were two hops here. From the user -&gt; IIS server and from IIS Server -&gt; SQL Server, but the application in IIS would impersonate the user when authenticating with the SQL server.</p>
<p>So, the idea here is that from the user to the IIS server, we know Kerberos will work. The user passes its ticket to the web service. Nothing unusual. From there, the web app, running as a custom app pool ID, needs to pretend (delegate) to be the user when it authenticates to the SQL server. </p>
<p>There are a few requirements.<br />
<strong>1) </strong>Your application in IIS should be running under a custom identity &#8211; domain\MyAppService<br />
<strong>2) </strong>SQL Server needs to be running under a domain service account &#8211; domain\MySQLService<br />
<strong>3)</strong> IIS needs to use Negotiate instead of NTLM for that application. It should do this by default, then fall back to NTLM. For whatever reason, my app was using NTLM. IIS should also have Windows Authentication enabled.<br />
<strong>4) </strong>Change your connection string to impersonate the site user</p>
<p><STRONG>Step 1</STRONG> &#8211; Set the SPN on your app pool ID for the site, for the hostname and FQDN.<br />
<CODE>setspn -a http/mysite domain\MyAppService<br />
setspn -a http/mysite.domain.com domain\MyAppService</CODE></p>
<p><STRONG>Step 2</STRONG> &#8211; Set the SPN for the SQL service on your SQL service account &#8211; assuming you use the default SQL port<br />
<CODE>setspn -a MSSQLSvc/hostname domain\MySQLService<br />
setspn -a MSSQLSvc/hostname.domain.com domain/MySQLService<br />
setspn -a MSSQLSvc/hostname:1433 domain\MySQLService<br />
setspn -a MSSQLSvc/hostname.domain.com:1433 domain/MySQLService</CODE><br />
Restart SQL</p>
<p><STRONG>Step 3</STRONG> &#8211; In Active Directory Users and Computers, find the service account, click the delegation tab, and trust it for delegation. You can set it for delegation to anywhere, or constrained delegation to the SPNs you&#8217;ll set for the SQL service account. </p>
<p><STRONG>Step 4</STRONG> &#8211; Force your site or application to use Negotiate. This won&#8217;t work with NTLM, so we&#8217;ll remove it. (Note: This is for IIS7/7.5)<br />
- Find and open your applicationHost.config. It&#8217;s probably under c:\windows\system32\inetsrv\config. You can also set this in the system.webServer section of the web.config for the application. </p>
<p>- Scroll to the bottom and above /configuration copy this in:</p>
<pre>
   &lt;location path=&quot;SitePath&quot;&gt;
        &lt;system.webServer&gt;
            &lt;security&gt;
                &lt;authentication&gt;
                    &lt;windowsAuthentication&gt;
                        &lt;providers&gt;
                            &lt;add value=&quot;Negotiate&quot; /&gt;
                            &lt;remove value=&quot;NTLM&quot; /&gt;
                        &lt;/providers&gt;
                    &lt;/windowsAuthentication&gt;
                &lt;/authentication&gt;
            &lt;/security&gt;
        &lt;/system.webServer&gt;
    &lt;/location&gt;
</pre>
<p>If you get a 500 error after adding the above XML, it&#8217;s probably because Negotiate is already added elsewhere. Just remove the line that says add value=&#8221;Negotiate&#8221; and leave the remove NTLM line. </p>
<p>Reference: This post was extremely helpful in solving my problem &#8211; <A href="http://blogs.technet.com/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx">http://blogs.technet.com/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx</A> &#8211; in the end, I did pretty much everything in that post, and still had the IIS server passing anonymous to SQL, which is what tipped me off that it was using NTLM and not Negotiate.</p>
<p><DIV style="MARGIN-TOP: 10px; HEIGHT: 15px" class=zemanta-pixie><A class=zemanta-pixie-a title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/fbffe8a7-8bb0-4ce5-9df2-afc98ab58ee0/"><IMG style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; FLOAT: right; BORDER-TOP: medium none; BORDER-RIGHT: medium none" class=zemanta-pixie-img alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=fbffe8a7-8bb0-4ce5-9df2-afc98ab58ee0"></A><SPAN class="zem-script more-related pretty-attribution"><SCRIPT type="text/javascript" defer="defer" src="http://static.zemanta.com/readside/loader.js"></SCRIPT></SPAN></DIV></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2009/10/24/how-to-configure-ad-sql-and-iis-for-two-hop-kerberos-authentication-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Windows 7 &#8211; How To Link Online IDs</title>
		<link>http://www.phishthis.com/2009/08/07/windows-7-how-to-link-online-ids/</link>
		<comments>http://www.phishthis.com/2009/08/07/windows-7-how-to-link-online-ids/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 02:12:36 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Windows Live ID]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/?p=105</guid>
		<description><![CDATA[Linking your online ID will let you simply log in to Windows and then log in to whichever service for which you've installed a provider [...]]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon this today in Windows 7, completely by accident. </p>
<p>Linking your online ID will let you log in to Windows and then log in to any service for which you&#8217;ve installed a provider, without being prompted to login again. I associated my Windows Live ID with my home desktop computer login. When I went to Hotmail, all I had to do was click my email address to log in. I went over to MSDN to check my available downloads and simply clicked &#8220;Sign in&#8221; and was there. Pretty cool feature and a great time saver. </p>
<p><strong>Here&#8217;s how to do it:</strong></p>
<p>Click the Windows button.<br />
Type &#8220;link online&#8221; and you should see &#8220;Link Online IDs&#8221; at the top of the search. Click it.<br />
Select &#8220;Add an Online ID Provider&#8221; and select one from the list &#8211; at the time I&#8217;m writing this, only MS Live is available. </p>
<p>Download the installer, and install. You should see this:<br />
<IMG class="alignnone size-full wp-image-107" title=LiveID alt=LiveID src="http://www.phishthis.com/wp-content/uploads/2009/08/LiveID1.png" width=798 height=558></p>
<p>Click &#8220;Link online ID&#8221; and enter your credentials. That&#8217;s it! Now head over to your Live/Passport enabled sites and login!</p>
<p><DIV style="MARGIN-TOP: 10px; HEIGHT: 15px" class=zemanta-pixie><A class=zemanta-pixie-a title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/87502b9e-bdc9-4151-a937-6255d7f31ff9/"><IMG style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; FLOAT: right; BORDER-TOP: medium none; BORDER-RIGHT: medium none" class=zemanta-pixie-img alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=87502b9e-bdc9-4151-a937-6255d7f31ff9"></A><SPAN class="zem-script more-related pretty-attribution"><SCRIPT type="text/javascript" defer="defer" src="http://static.zemanta.com/readside/loader.js"></SCRIPT></SPAN></DIV></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2009/08/07/windows-7-how-to-link-online-ids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AjaxControlToolkit causes System.Security.SecurityException: Request for the permission of type &#8216;System.Web.AspNetHostingPermission &#8230; failed.</title>
		<link>http://www.phishthis.com/2009/03/11/ajaxcontroltoolkit-causes-systemsecuritysecurityexception-request-for-the-permission-of-type-systemwebaspnethostingpermission-failed/</link>
		<comments>http://www.phishthis.com/2009/03/11/ajaxcontroltoolkit-causes-systemsecuritysecurityexception-request-for-the-permission-of-type-systemwebaspnethostingpermission-failed/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 21:02:51 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[IIS7]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server Management]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[System.Security.SecurityException]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/?p=84</guid>
		<description><![CDATA[<p>Here&#8217;s a quick one&#8230;</p> <p>A developer was using AJAXControlToolkit in an application. Not a big deal. Except that it kept throwing that damn exception. You know the one:</p> <p> Server Error in &#8221; Application. Security Exception Description: The application attempted to perform an operation not allowed by the security policy. To grant this application [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick one&#8230;</p>
<p>A developer was using AJAXControlToolkit in an application. Not a big deal. Except that it kept throwing that damn exception. You know the one:</p>
<p><CODE><br />
Server Error in &#8221; Application.<br />
Security Exception<br />
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application&#8217;s trust level in the configuration file.</p>
<p>Exception Details: System.Security.SecurityException: Request for the permission of type &#8216;System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#8242; failed.<br />
</CODE></p>
<p>I know what you&#8217;re going to say, but I prefer to not use caspol.exe to set the trust. </p>
<p>There were several other sites on the server using the toolkit that worked fine, <B>without using caspol to set full trust</B>. </p>
<p>The difference? Those other applications were compiling the AJAX DLL when the apps themselves were compiled. The developer in this case had just copied the DLL from the toolkit download and added the reference to her code. </p>
<p>I copied the DLL from one of the sites that I knew worked, and it magically started working. Copy her version of the DLL back, and it failed again (after IISReset). </p>
<p>I don&#8217;t really know how this happened, but if the DLL was referenced in the VS project, it should have been built with the rest of the app and then deployed with full trust&#8230;</p>
<p>So, if you&#8217;re running into this and you&#8217;re building the code yourself, make sure that the AjaxControlToolkit.dll is building with the rest of your application (the timestamp should be the same) as the other DLLs that were modified. Don&#8217;t just drop it in afterwards&#8230;it won&#8217;t work&#8230;</p>
<p><DIV class=zemanta-pixie style="MARGIN-TOP: 10px; HEIGHT: 15px"><A class=zemanta-pixie-a title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/fdd8051e-f9fd-4550-9c8d-cd308ab24e44/"><IMG class=zemanta-pixie-img style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; FLOAT: right; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=fdd8051e-f9fd-4550-9c8d-cd308ab24e44"></A><span class="zem-script more-related"><script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"></script></span></DIV></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2009/03/11/ajaxcontroltoolkit-causes-systemsecuritysecurityexception-request-for-the-permission-of-type-systemwebaspnethostingpermission-failed/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Using HttpWebRequest to perform HTTPS post fails with strange error message</title>
		<link>http://www.phishthis.com/2008/08/13/using-httpwebrequest-to-perform-https-post-fails-with-strange-error-message/</link>
		<comments>http://www.phishthis.com/2008/08/13/using-httpwebrequest-to-perform-https-post-fails-with-strange-error-message/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 21:30:45 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Exception]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Server 2008]]></category>
		<category><![CDATA[SSL3]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[XML Post]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/?p=41</guid>
		<description><![CDATA[<p>Recently, after upgrading a server to Server 2008, some developers (ok, about 15 developers and BAs) began complaining that a post to a 3rd party vendor was no longer functioning. One of the devs whipped up a winform app to test from the server and locally from his workstation. From his Windows XP workstation, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, after upgrading a server to Server 2008, some developers (ok, about 15 developers and BAs) began complaining that a post to a 3rd party vendor was no longer functioning. One of the devs whipped up a winform app to test from the server and locally from his workstation. From his Windows XP workstation, it was fine. From the Server 2008 box (and from my Vista laptop) it failed to connect with: </p>
<p><strong>The underlying connection was closed: An unexpected error occurred on a send.</strong></p>
<p>Descriptive.</p>
<p>A full stack trace revealed:</p>
<p>System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. &#8212;> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host<br />
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)<br />
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)<br />
   &#8212; End of inner exception stack trace &#8212;<br />
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)<br />
   at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)<br />
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)<br />
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)<br />
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)<br />
   at System.Threading.ExecutionContext.runTryCode(Object userData)<br />
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)<br />
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<br />
   at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)<br />
   at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)<br />
   at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)<br />
   at System.Net.ConnectStream.WriteHeaders(Boolean async)<br />
The underlying connection was closed: An unexpected error occurred on a send.<br />
   at System.Net.HttpWebRequest.GetRequestStream()</p>
<p>Keep in mind that this worked fine on XP and 2003. Vista and 2008 always threw that exception&#8230;without exception. The code was just doing a basic XML post to an HTTPS service with authentication enabled. </p>
<pre>
ASCIIEncoding ascii = new ASCIIEncoding();
string requestToSend = body;
byte[] data = ascii.GetBytes(requestToSend);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(destination);

webRequest.Credentials = new NetworkCredential("User", "Pass");
webRequest.Method = "POST";
webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2";
webRequest.ContentType = "text/xml";
webRequest.ContentLength = data.Length;
webRequest.KeepAlive = false;                                              

//Throws an exception HERE
Stream outStream = webRequest.GetRequestStream();
outStream.Write(data, 0, data.Length);
outStream.Close();
</pre>
<p>From that stack trace, I could see that the remote server was closing the connection&#8230;but, I had no idea why. Something in how it made the request was different than XP or 2003.</p>
<pre>
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
</pre>
<p>As it turns out, the defult behavior in Vista and Server 2008 is to use TLS <i>first</i> for secure connections. If the server doesn&#8217;t support TLS, it&#8217;s supposed to negotiate with the client to use SSL3. In this case, the remote server wasn&#8217;t negotiating at all&#8230;It was just dropping the connection. </p>
<p><a href="http://blogs.msdn.com/wndp/archive/2006/04/12/tls_enabled_by_default.aspx">http://blogs.msdn.com/wndp/archive/2006/04/12/tls_enabled_by_default.aspx</a></p>
<p>Long story short: </p>
<p>If you upgrade to Server 2008 or Vista, and your HTTPS XML POSTs are failing due to some strange error, try to force SSL3. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2008/08/13/using-httpwebrequest-to-perform-https-post-fails-with-strange-error-message/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How to export your IIS7 config from one server and import into another</title>
		<link>http://www.phishthis.com/2008/05/27/how-to-export-your-iis-config-from-one-box-and-import-on-another/</link>
		<comments>http://www.phishthis.com/2008/05/27/how-to-export-your-iis-config-from-one-box-and-import-on-another/#comments</comments>
		<pubDate>Tue, 27 May 2008 23:05:03 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[IIS7]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/?p=26</guid>
		<description><![CDATA[I had copied the IIS7 config files from an already-configured server to a new server I was building. The two servers were going to be load balanced (non-NLB). After overwriting the config files on the new server with those that I had exported from the old server, I discovered that my app pools kept crashing. I attempted to reset the domain account credentials on the app pools, but found myself getting:  [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: While the post below will still work, there is a better way to do this. Please check out the Microsoft Web Deployment Tool if you need to keep your servers in sync. </p>
<p><a href="http://www.iis.net/extensions/WebDeploymentTool">http://www.iis.net/extensions/WebDeploymentTool</a></p>
<p>This tool will package registry, COM, and GAC settings. It also says that it&#8217;ll integrate with VS2010, so that your developers can package the application for easy deployment on your IIS boxes. I don&#8217;t know whether to rejoice or be scared :) Back to the original article&#8230;</p>
<p>I had copied the IIS7 config files from an already-configured server to a new server I was building. The two servers were going to be load balanced (non-NLB). After overwriting the config files on the new server with those that I had exported from the old server, I discovered that my app pools kept crashing. I attempted to reset the domain account credentials on the app pools, but found myself getting: </p>
<p><strong>hresult:0&#215;80090005, Message: Failed to commit configuration. Bad Data.</strong></p>
<p>Built-in account works, domain accounts did not. Given that I&#8217;m much too lazy to re-configure all of the application pool IDs, I began looking for a way to gracefully import settings from the other server. Turns out, there isn&#8217;t an &#8220;import&#8221; button, so to speak. I did find that using &#8220;Shared configuration&#8221; I could essentially accomplish an import.</p>
<p>In IIS manager, you need to export the config from the already-configured server. In IIS manager, click the Server node, and go to <strong>Shared Configuration under Management.</strong></p>
<p><img src="http://www.phishthis.com/wp-content/uploads/2008/05/sharedconfig.jpg" alt="IIS Shared Configuration" /></p>
<p>Click &#8220;<strong>Export Configuration</strong>&#8221;</p>
<p><img src="http://www.phishthis.com/wp-content/uploads/2008/05/exportconfig.jpg" alt="Export Configuration" /></p>
<p>Enter the path you&#8217;d like to export the config to, and set an encryption key password:</p>
<p><img src="http://www.phishthis.com/wp-content/uploads/2008/05/exportconfiguration.jpg" alt="Export Configuration Settings" /></p>
<p>Copy <strong>administration.config, applicationHost.config, and configEncKey.key </strong>to your new server to a temp location.</p>
<p>On the new server, go back to the &#8220;<strong>Shared Configuration</strong>&#8221; section and check &#8220;<strong>Enable shared configuration</strong>.&#8221; Enter the location in physical path and click &#8220;Apply.&#8221; It should prompt for the encryption password that you had set. Enter it, and reset IIS. </p>
<p><img src="http://www.phishthis.com/wp-content/uploads/2008/05/importconfig.jpg" alt="Import IIS Config" /></p>
<p>After resetting IIS, go back to Shared Configuration and <strong>uncheck</strong> &#8220;Enable shared configuration.&#8221; Click apply. You should see this:</p>
<p><img src="http://www.phishthis.com/wp-content/uploads/2008/05/sharedconfigwarning.jpg" alt="Shared Configuration Warning" /></p>
<p>Click <strong>YES</strong> and it will import all of the settings from your Shared Config into the local config on your new IIS server. </p>
<p>At this point, all you should need to do is change your server-specific site bindings, and it should be good to go. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2008/05/27/how-to-export-your-iis-config-from-one-box-and-import-on-another/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>PowerShell Script for Remote Event Log Viewing</title>
		<link>http://www.phishthis.com/2007/12/13/powershell-script-for-remote-event-log-viewing/</link>
		<comments>http://www.phishthis.com/2007/12/13/powershell-script-for-remote-event-log-viewing/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 04:27:52 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Server Management]]></category>
		<category><![CDATA[PowerShell Script]]></category>
		<category><![CDATA[WMI]]></category>
		<category><![CDATA[WMI Query]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/2007/12/13/powershell-script-for-remote-event-log-viewing/</guid>
		<description><![CDATA[Either way, I needed to check all of my event logs for EventID 11 and 15. [...]]]></description>
			<content:encoded><![CDATA[<p>I had an issue today where I needed to find the frequency of an error on some of my VMs. It seems like I get VMSCSI errors at the same time each which (which probably means high SAN activity, but I&#8217;m trying to nail everything down). Either way, I needed to check all of my event logs for EventID 11 and 15. It&#8217;s slow&#8230;and by slow I mean it took about 30 minutes to scan 10 or so VMs&#8230;but it works, and I was able to get a decent idea of the times I&#8217;m seeing these errors.<br />
[source language='c#']<br />
$servers = .\getservernames.ps1 Tom </p>
<p>foreach ($server in $servers)<br />
{<br />
     if ((get-wmiobject -computer $server win32_computersystem).manufacturer -eq &#8220;VMware, Inc.&#8221;)<br />
     {<br />
         get-wmiobject -query<br />
            &#8220;select * from Win32_NTLogEvent where LogFile = &#8216;System&#8217; AND EventCode = 11<br />
            OR EventCode = 15&#8243; |<br />
            foreach { add-content c:\temp\$server.log &#8220;$_.timegenerated &#8211; $_.eventcode&#8221; }<br />
     }<br />
}<br />
[/source]<br />
Aaaand, it&#8217;ll return logs for each server, with a time stamp, the event ID, and nothing more. Quick, dirty, but took me 5 minutes and got the info I needed&#8230;30 minutes later :p There&#8217;s probably a better way. I&#8217;ll have to see what I can come up with.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2007/12/13/powershell-script-for-remote-event-log-viewing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows Server 2008</title>
		<link>http://www.phishthis.com/2007/12/03/windows-server-2008/</link>
		<comments>http://www.phishthis.com/2007/12/03/windows-server-2008/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 22:21:10 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[External Link]]></category>
		<category><![CDATA[NetworkWorld]]></category>

		<guid isPermaLink="false">http://www.phishthis.com/2007/12/03/windows-server-2008/</guid>
		<description><![CDATA[<p>According to this article (thanks www.ActiveWin.com for the link) at Network World, Server 2008 may flop. Why? Because 50% of IT Pros surveyed have no plans to deploy Server 2008. This is misleading. &#8220;Not having plans&#8221; doesn&#8217;t mean &#8220;won&#8217;t.&#8221; I don&#8217;t &#8220;plan&#8221; to put gas in my car within the next 12 hours, but [...]]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://www.networkworld.com/community/node/22480">this</a> article (thanks <a href="http://www.activewin.com">www.ActiveWin.com</a> for the link) at Network World, Server 2008 may flop. Why? <!-- google_ad_section_start(weight=ignore) --> Because 50% of IT Pros surveyed have no plans to deploy Server 2008. This is misleading. &#8220;Not having plans&#8221; doesn&#8217;t mean &#8220;won&#8217;t.&#8221; I don&#8217;t &#8220;plan&#8221; to put gas in my car within the next 12 hours, but that doesn&#8217;t mean I&#8217;m never putting gas in my car. <!-- google_ad_section_end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phishthis.com/2007/12/03/windows-server-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

