<?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>JasonSamuel.com</title>
	<atom:link href="http://www.jasonsamuel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jasonsamuel.com</link>
	<description>Cool stuff I see in the IT world</description>
	<lastBuildDate>Thu, 14 Jan 2010 17:11:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A quick way to troubleshoot SSL chain issues using OpenSSL</title>
		<link>http://www.jasonsamuel.com/2010/01/14/a-quick-way-to-troubleshoot-ssl-chain-issues-using-openssl/</link>
		<comments>http://www.jasonsamuel.com/2010/01/14/a-quick-way-to-troubleshoot-ssl-chain-issues-using-openssl/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 17:07:48 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[ssl certificates]]></category>
		<category><![CDATA[ssl chain]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=340</guid>
		<description><![CDATA[You can use OpenSSL and run this command:
openssl.exe s_client -connect www.mysite.com:443
which will use a generic SSL/TLS client to connect to your site and give you a ton of diagnostic info.  You can see your entire SSL cert chain, the SSL handshake, SSL session info, etc.  Here&#8217;s a full list of switches you can use with [...]]]></description>
			<content:encoded><![CDATA[<p>You can use OpenSSL and run this command:</p>
<blockquote><p>openssl.exe s_client -connect www.mysite.com:443</p></blockquote>
<p>which will use a generic SSL/TLS client to connect to your site and give you a ton of diagnostic info.  You can see your entire SSL cert chain, the SSL handshake, SSL session info, etc.  Here&#8217;s a full list of switches you can use with it:  <a href="http://www.openssl.org/docs/apps/s_client.html">http://www.openssl.org/docs/apps/s_client.html</a></p>
<p>And here&#8217;s a great online tool to graphically verify your SSL chain is intact:  <a href="http://www.sslshopper.com/ssl-checker.html">http://www.sslshopper.com/ssl-checker.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2010/01/14/a-quick-way-to-troubleshoot-ssl-chain-issues-using-openssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to tell which COM+ Application belongs to what dllhost.exe in IIS</title>
		<link>http://www.jasonsamuel.com/2010/01/13/how-to-tell-which-com-application-belongs-to-what-dllhost-exe-in-iis/</link>
		<comments>http://www.jasonsamuel.com/2010/01/13/how-to-tell-which-com-application-belongs-to-what-dllhost-exe-in-iis/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 21:53:23 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[COM+]]></category>
		<category><![CDATA[dllhost.exe]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=338</guid>
		<description><![CDATA[Not to mention the .NET runtime, dllhost.exe also hosts COM+ processes.  So how can you tell what each dllhost.exe is running?  Download tlist.exe (part of the Debugging Tools for Windows).  You can read more about the util here:  http://msdn.microsoft.com/en-us/library/cc267860.aspx
It&#8217;s just a simple task list viewer that displays info about the process.  There are tons of [...]]]></description>
			<content:encoded><![CDATA[<p>Not to mention the .NET runtime, dllhost.exe also hosts COM+ processes.  So how can you tell what each dllhost.exe is running?  Download tlist.exe (part of the Debugging Tools for Windows).  You can read more about the util here:  <a href="http://msdn.microsoft.com/en-us/library/cc267860.aspx">http://msdn.microsoft.com/en-us/library/cc267860.aspx</a></p>
<p>It&#8217;s just a simple task list viewer that displays info about the process.  There are tons of utils out there than can do the same thing but tlist.exe is a mere 50 KB command line util which is why I like to keep it around for quickly gathering info. </p>
<p>The command I use to check the dllhost.exe is:</p>
<blockquote><p>tlist -k | find /i &#8220;dllhost.exe&#8221;</p></blockquote>
<p>and it outputs the processes, process IDs, and the related COM+ process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2010/01/13/how-to-tell-which-com-application-belongs-to-what-dllhost-exe-in-iis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Log Parser to query huge log files and only display the results you need</title>
		<link>http://www.jasonsamuel.com/2010/01/12/using-log-parser-to-query-huge-log-files-and-only-display-the-results-you-need/</link>
		<comments>http://www.jasonsamuel.com/2010/01/12/using-log-parser-to-query-huge-log-files-and-only-display-the-results-you-need/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 20:57:18 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[SQL Express]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[Log Parser]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=332</guid>
		<description><![CDATA[Have you ever had a giant log file or CSV that you needed to go through and pull results from quickly?  Sure you can try dumping it into Excel and trying different filters and sort orders but that&#8217;s a waste of time.  It&#8217;s much faster to pull your data via a query like in a [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever had a giant log file or CSV that you needed to go through and pull results from quickly?  Sure you can try dumping it into Excel and trying different filters and sort orders but that&#8217;s a waste of time.  It&#8217;s much faster to pull your data via a query like in a database.  Microsoft has a tool called Log Parser that does just that.  You can use queries to parse any kind of text based file.</p>
<p>You can download Log Parser 2.2 from Microsoft here:  <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;displaylang=en</a></p>
<p>Just install it and try it out by opening up a command prompt, navigating to your install path, and running the logparser executable.  It will display a list of commands to get you familiar with it.   I first started using it to parse huge IIS logs.  It&#8217;s pretty easy to use, here&#8217;s an example of pulling the top 10 pages hit on your site:</p>
<blockquote><p>logparser &#8220;SELECT TOP 10 cs-uri-stem as Url, COUNT(cs-uri-stem) AS Hits FROM c:\logs\ex*.log GROUP BY cs-uri-stem ORDER BY Hits DESC&#8221;</p></blockquote>
<p>or all the Error 500s for a particular site:</p>
<blockquote><p>logparser &#8220;SELECT [cs-uri-stem], [cs-uri-query], Count(*) AS [Hits] FROM c:\logs\ex*.log WHERE sc-status = 500 GROUP BY [cs-uri-stem], [cs-uri-query] order by [hits], [cs-uri-stem] DESC&#8221; -rtp:-1 -i:iisw3c</p></blockquote>
<p>You can even throw the above in a batch file that schedule to run every hour and do something like:</p>
<blockquote><p>All5005Errors.bat &gt; All500Errors.txt</p></blockquote>
<p>to log it all to disk.  Or even easier, use INTO in your SQL syntax to dump to a file like a .csv so it reads like:</p>
<blockquote><p>logparser &#8220;SELECT [cs-uri-stem], [cs-uri-query], Count(*) AS [Hits] INTO All500Errors.csv FROM c:\logs\ex*.log WHERE sc-status = 500 GROUP BY [cs-uri-stem], [cs-uri-query] order by [hits], [cs-uri-stem] DESC&#8221; -rtp:-1 -i:iisw3c</p></blockquote>
<p>There&#8217;s tons and tons of nice little queries people have written, for example I&#8217;ve personally used some from Jeff Atwood&#8217;s site here:  <a href="http://www.codinghorror.com/blog/archives/000369.html">http://www.codinghorror.com/blog/archives/000369.html</a></p>
<p>Or you can got to the IIS.NET forums where there is an entire forum and many sub-forums dedicated to Log Parser here:  <a href="http://forums.iis.net/default.aspx?GroupID=51">http://forums.iis.net/default.aspx?GroupID=51</a></p>
<p>Another cool tool over at CodePlex&#8230;Visual Log Parser:  <a href="http://www.codeplex.com/visuallogparser">http://www.codeplex.com/visuallogparser</a></p>
<p>I actually haven&#8217;t used this yet but it is out there if you get bored of using command line.  LMK if you guys decide to try it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2010/01/12/using-log-parser-to-query-huge-log-files-and-only-display-the-results-you-need/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating a custom event log under Event Viewer to log server events</title>
		<link>http://www.jasonsamuel.com/2010/01/08/creating-a-custom-event-log-under-event-viewer-to-log-server-events/</link>
		<comments>http://www.jasonsamuel.com/2010/01/08/creating-a-custom-event-log-under-event-viewer-to-log-server-events/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 17:41:43 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[event log]]></category>
		<category><![CDATA[event viewer]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=321</guid>
		<description><![CDATA[By default, most applications write events to the Application Event Log.  This is a great central place to write logs to but sometimes you might have a requirement to log informational events from an application and you don&#8217;t want it filling up your Application Event Log because of the sheer number of informational events you [...]]]></description>
			<content:encoded><![CDATA[<p>By default, most applications write events to the Application Event Log.  This is a great central place to write logs to but sometimes you might have a requirement to log informational events from an application and you don&#8217;t want it filling up your Application Event Log because of the sheer number of informational events you might get a short period of time.  The solution is to create a custom event log for your application to hold these events.  You can then set max log size, overwrite rules, filters, etc. on this event log while your Application Event Log remains clean and intact.</p>
<p>The first step is to create the new log.  You have to do this in the registry.  Open up regedit and navigate to:</p>
<blockquote><p><strong>HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog</strong></p></blockquote>
<p>Right click on the Eventlog key and click New &gt; Key</p>
<p>Name this new key the same name you want your new event log to be named.  By default it will create the new .evt file here:</p>
<blockquote><p><strong>C:\WINDOWS\System32\Config\New Key #1.evt</strong></p></blockquote>
<p>You can always rename it by editing the string value data in the registry if you like.</p>
<p>Now you need to add Sources to your new event log.  Right click in the right window pane under your new key and add a new Multi-String value called &#8220;Sources&#8221; and add the name of each of your applications on each line.  It should look something like this:</p>
<p><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/11.gif"><img class="alignnone size-medium wp-image-325" title="1" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/11-300x66.gif" alt="" width="300" height="66" /></a></p>
<p>Now you need to move the association of your application from the Application event log to your new Custom log.  Just expand the &#8220;Application&#8221; key located at:</p>
<blockquote><p><strong>HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application</strong></p></blockquote>
<p>and copy whatever key you see in there for your app under your new Custom log:</p>
<blockquote><p><strong>HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\CustomLog</strong></p></blockquote>
<p>There&#8217;s no copy/paste command so you can recreate the key if it&#8217;s small or you can export/import if it&#8217;s something complicated and you are afraid of mistyping something.  MAKE SURE to delete it from Application after you add it to the Custom log or it will not write events to your new log since Windows thinks its still associated with the Application log.  If it is a custom source, you need to create a DWORD value under this key with the value of 1:</p>
<p><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/21.gif"><img class="alignnone size-medium wp-image-326" title="2" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/21-300x53.gif" alt="" width="300" height="53" /></a></p>
<p>You will also notice my custom app in this example is a .NET 2.0 appliaction so I want .NET to write the events to the log.  I have to create a string value called EventMessageFile and give it the path to the .NET 2.0 event log message dll:</p>
<blockquote><p><strong>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll</strong></p></blockquote>
<p>Now you should reboot your server.  When it&#8217;s back up, check and see if your new event log appears under Event Viewer.  If your application is not writing events to your new log, test it manually by opening a command prompt and going to:</p>
<blockquote><p><strong>C:\WINDOWS\system32</strong></p></blockquote>
<p>and typing:</p>
<blockquote><p><strong>eventcreate /l CustomLog /t Information /so Application1 /id 1 /d &#8220;Test message&#8221;</strong></p></blockquote>
<p>You should get a message saying it was successfully written or you should get an error message with details on why it was not written.  If you followed the steps in this blog post, it should write the event just fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2010/01/08/creating-a-custom-event-log-under-event-viewer-to-log-server-events/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to convert an SSL cert to a .pem for installation on Citrix and Cisco appliances</title>
		<link>http://www.jasonsamuel.com/2010/01/07/how-to-convert-an-ssl-cert-to-a-pem-for-installation-on-citrix-and-cisco-appliances/</link>
		<comments>http://www.jasonsamuel.com/2010/01/07/how-to-convert-an-ssl-cert-to-a-pem-for-installation-on-citrix-and-cisco-appliances/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 16:35:58 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Cisco IronPort]]></category>
		<category><![CDATA[Citrix NetScaler]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[.cer]]></category>
		<category><![CDATA[.pem]]></category>
		<category><![CDATA[.pfx]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[pkcs12]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[SSL certificate]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=302</guid>
		<description><![CDATA[Often times you might have to add an SSL cert to a Cisco or Citrix appliance but it only accepts the SSL cert and private key in a certain format.  Your CA (certificate authority) will issue the SSL cert to you as a .crt.  From there, you need to package the cert with the private [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/2.gif"></a>Often times you might have to add an SSL cert to a Cisco or Citrix appliance but it only accepts the SSL cert and private key in a certain format.  Your CA (certificate authority) will issue the SSL cert to you as a .crt.  From there, you need to package the cert with the private key and in the format your appliance requires.  There are different ways to do this and one easy way I like is using IIS and OpenSSL which is a free open source tool and can be downloaded here:  <a href="http://www.openssl.org" target="_blank">http://www.openssl.org</a></p>
<p>1. Create a temporary site in IIS and generate a CSR.  Make sure the CN (common name) you enter matches whatever appliance you are trying to generate it for exmp:  wireless.mycompany.com</p>
<p>2.  Submit the CSR to your CA such as Verisign, GoDaddy, Network Solutions, etc. and wait for them to validate and issue your cert.</p>
<p>3. Get the .crt from the CA once they issue it and convert it to .cer.  Just open the .crt by double clicking on it and and save it as .cer using the export wizard.  This is necessary since IIS does not accept .crt.</p>
<p><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/1.gif"><img class="alignnone size-medium wp-image-307" title="1" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/1-254x300.gif" alt="" width="254" height="300" /></a> <a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/2.gif"><img title="2" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/2-254x300.gif" alt="" width="254" height="300" /></a><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/3.gif"> <img class="alignnone size-medium wp-image-310" title="3" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/3-300x234.gif" alt="" width="300" height="234" /></a> <a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/4.gif"><img class="alignnone size-medium wp-image-311" title="4" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/4-300x234.gif" alt="" width="300" height="234" /></a></p>
<p><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/5.gif"><img class="alignnone size-medium wp-image-312" title="5" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/5-300x234.gif" alt="" width="300" height="234" /></a> <a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/6.gif"><img class="alignnone size-medium wp-image-313" title="6" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/6-300x234.gif" alt="" width="300" height="234" /></a></p>
<p><a href="http://www.jasonsamuel.com/wp-content/uploads/2010/01/7.gif"><img class="alignnone size-medium wp-image-314" title="7" src="http://www.jasonsamuel.com/wp-content/uploads/2010/01/7-300x234.gif" alt="" width="300" height="234" /></a></p>
<p>4. Install the .cer in IIS using the Web Server Certificate Wizard where you originally generated the CSR.  Just process the pending request to install it.</p>
<p>5. View the cert in IIS and export it with the private key in pkcs12 (.pfx) format.  Just set the password as “password” since you will be deleting it after conversion is complete later.</p>
<p>6. Go to the directory where OpenSSL.exe is and type in the following to convert the .pfx to a .pem</p>
<blockquote><p><strong>openssl pkcs12 -in nameofcert.pfx -out nameofcert.pem</strong></p></blockquote>
<p>7. Type the “password” when prompted for the pass phrase.</p>
<p>8. Install the .pem on the appliance and it should work</p>
<p><strong><span style="color: #ff0000;">IMPORTANT NOTE:</span></strong></p>
<p>If you are doing it for some appliances like a Cisco IronPort, you need to add the nodes switch when creating the .pem:</p>
<blockquote><p><strong>openssl pkcs12 -in nameofcert.pfx -out nameofcert.pem –nodes</strong></p></blockquote>
<p>The –nodes switch ensures that the key inside the .pem is left unencrypted.  If you attempt to install a .pem created without the -nodes switch, the appliance will take the cert but will not accept the private key since it cannot read it in an encrypted state.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2010/01/07/how-to-convert-an-ssl-cert-to-a-pem-for-installation-on-citrix-and-cisco-appliances/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Send email via Telnet to test an Exchange server</title>
		<link>http://www.jasonsamuel.com/2009/12/17/send-email-via-telnet-to-test-an-exchange-server/</link>
		<comments>http://www.jasonsamuel.com/2009/12/17/send-email-via-telnet-to-test-an-exchange-server/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 16:45:11 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Exchange 2003]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[SBS 2003]]></category>
		<category><![CDATA[SBS 2008]]></category>
		<category><![CDATA[exchange server]]></category>
		<category><![CDATA[MTA]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[telnet]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=293</guid>
		<description><![CDATA[A simple way to test if your MTA (mail transfer agent such as Exchange) is accepting email is to build the message by hand and watch the response codes from the server.  You can run this from the server console from a command prompt or remotely if you have the SMTP port to the server [...]]]></description>
			<content:encoded><![CDATA[<p>A simple way to test if your MTA (mail transfer agent such as Exchange) is accepting email is to build the message by hand and watch the response codes from the server.  You can run this from the server console from a command prompt or remotely if you have the SMTP port to the server open.  Remember, once you are in the telnet session, don&#8217;t use backspace if you misspell something!  You&#8217;ll get an unrecognized command error if you do.  Just press enter and retype your command correctly if you do misspell something.</p>
<blockquote><p>telnet localhost 25</p></blockquote>
<p>This will open a telnet window to the server on SMTP port 25 and the server in return will send a 220 response code, the FQDN (Fully Qualified Domain Name), mail server version, and typically a time stamp as well.  Next you type:</p>
<blockquote><p>helo</p></blockquote>
<p>The mail server will respond with 250 response and it&#8217;s FQDN and say &#8220;Hello&#8221;.  You can also use:</p>
<blockquote><p>ehlo</p></blockquote>
<p>There is no difference using the commands except that EHLO returns info about the mail server&#8217;s capabilities along with the 250 response code such as the maximum SIZE of a messsage for example.  It&#8217;s useful to see exactly what your mail server is going to accept from a client.  EHLO is the more recent command by the way.  Pretty much all MTAs out there are going to accept either command nowadays.</p>
<p>This means the mail server is ready to accept more commands.  Now it&#8217;s time to begin composing your email:</p>
<blockquote><p>mail from: <a href="mailto:joeblow@gmail.com">joeblow@gmail.com</a></p></blockquote>
<p>You should get a 250 response code and say the Send is OK.  Now type who you are sending it to:</p>
<blockquote><p>rcpt to: <a href="mailto:joeblowsfriend@gmail.com">joeblowsfriend@gmail.com</a></p></blockquote>
<p>You will get a 250 response for the email address.  You can add more recipients by just typing additional lines like above.  Next it&#8217;s time to build the body of the message.  Type:</p>
<blockquote><p>data</p></blockquote>
<p>and you will get a 354 response code saying you can begin input.  First type a subject line for your message:</p>
<blockquote><p>subject: Test email</p></blockquote>
<p>Remember, type this on the very first line and then press &lt;Enter&gt; twice.  Now you can start typing your message body.  Once you are done with your message body, press &lt;Enter&gt; to start a new line and type nothing on this line except for a period.  Then press &lt;Enter&gt; again and you will exit out of the message body and immediately submit the email to the MTA&#8217;s queue for delivery.  You should get the test email within seconds if your mail server is working properly!  Make sure to check your Junk E-mail folder just in case your mail server marks your test email as spam.  To exit your telnet session, just type:</p>
<blockquote><p>quit</p></blockquote>
<p>and press &lt;Enter&gt; and you&#8217;re done.  Simple, right? <img src='http://www.jasonsamuel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img class="alignnone size-full wp-image-300" title="send-email-through-telnet" src="http://www.jasonsamuel.com/wp-content/uploads/2009/12/send-email-through-telnet.gif" alt="send-email-through-telnet" width="669" height="331" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2009/12/17/send-email-via-telnet-to-test-an-exchange-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to reset the root user account for a MySQL database</title>
		<link>http://www.jasonsamuel.com/2009/12/02/how-to-reset-the-root-user-account-for-a-mysql-database/</link>
		<comments>http://www.jasonsamuel.com/2009/12/02/how-to-reset-the-root-user-account-for-a-mysql-database/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 17:19:37 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=289</guid>
		<description><![CDATA[Sometimes you may inherit a MySQL databse server and have no credentials to access anything.  None of the default accounts work.  Your only option is to reset the root user account password.  This is very easy to do.
1. Open up Windows Task Manager and stop the mysqld.exe (MySQL daemon) process.
2. Open up Computer Management &#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you may inherit a MySQL databse server and have no credentials to access anything.  None of the default accounts work.  Your only option is to reset the root user account password.  This is very easy to do.</p>
<p>1. Open up Windows Task Manager and stop the mysqld.exe (MySQL daemon) process.<br />
2. Open up Computer Management &gt; Services &gt; and stop the MySQL service if it isn&#8217;t already stopped.<br />
3. Open up a command prompt and go to your MySQL bin folder, for example:</p>
<blockquote><p> C:\Program Files\MySQL\MySQL Server 5.1\bin</p></blockquote>
<p>then type in:</p>
<blockquote><p> mysqld.exe &#8211;skip-grant-tables</p></blockquote>
<p>this will restart the MySQL daemon process.</p>
<p>4. Now type in:</p>
<blockquote><p> mysql.exe -u root</p></blockquote>
<p>and it should log you right in as the root user without having to specify a password.</p>
<p>5. Now you need to reset the password.  Type:</p>
<blockquote><p> UPDATE mysql.user SET Password=PASSWORD(&#8216;MyNewPassword&#8217;) WHERE User=&#8217;root&#8217;;</p></blockquote>
<p>You can change the password to whatever you want.  I have set it to &#8220;MyNewPassword&#8221; above.</p>
<p>6. Now type:</p>
<blockquote><p> FLUSH PRIVILEGES;</p></blockquote>
<p>and you&#8217;re done!  Try logging in using your new credentials and it should work just fine.  Don&#8217;t forget to verify that your MySQL service has been restarted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2009/12/02/how-to-reset-the-root-user-account-for-a-mysql-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to clear a hung profile in Urchin 6</title>
		<link>http://www.jasonsamuel.com/2009/12/01/how-to-clear-a-hung-profile-in-urchin-6/</link>
		<comments>http://www.jasonsamuel.com/2009/12/01/how-to-clear-a-hung-profile-in-urchin-6/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 17:03:14 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Urchin 6]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=280</guid>
		<description><![CDATA[If you&#8217;ve ever used Urchin 6 for web analytics (Google&#8217;s pay for version of Google Analytics aimed at enterprises), you have probably seen profiles stuck in a &#8220;Running&#8221; state.  If you hit Run Now, you get this error message:
12008 &#8211; Action: Failed to cancel urchin process.
If you try to reschedule the profile, you get this [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever used <a href="http://www.google.com/urchin/" target="_blank">Urchin 6</a> for web analytics (Google&#8217;s pay for version of Google Analytics aimed at enterprises), you have probably seen profiles stuck in a &#8220;Running&#8221; state.  If you hit Run Now, you get this error message:</p>
<blockquote><p>12008 &#8211; Action: Failed to cancel urchin process.</p></blockquote>
<p>If you try to reschedule the profile, you get this error message:</p>
<blockquote><p>12007 &#8211; Action: Failed to add profile to the scheduler queue. The profile is already in the queue.</p></blockquote>
<p>This happens because Urchin&#8217;s scheduler is very sensitive to server reboots.  If you have jobs scheduled to run at night and let&#8217;s say you push patches to the server and reboot in the middle of the night, it can cause this error to appear on some of your profiles.  You get these errors because the log processing engine and scheduler never received the proper exit signals which means there will be database entries in the MySQL database that will be in an inconsistent state.  When the server boots back up, the log processing engine cannot pick back up where it stopped and the web GUI will show the profile is &#8220;Running&#8221; even though it is not.</p>
<p>The quick solution for this is to navigate to your Urchin bin folder via command prompt.  Here is an example path:</p>
<p>C:\Program Files\Urchin6\bin</p>
<p>then type:</p>
<blockquote><p>urchinctl stop</p></blockquote>
<p>which will stop all Urchin processes.  Then open up MySQL Command Line Client and type:</p>
<blockquote><p>use urchin;<br />
delete from uprofiles_queue;</p></blockquote>
<p><img class="alignnone size-full wp-image-287" title="urchin6_mysql" src="http://www.jasonsamuel.com/wp-content/uploads/2009/12/urchin6_mysql.gif" alt="urchin6_mysql" width="666" height="329" /></p>
<p>This switches the database to the urchin database and deletes all running profiles.  Now if you go to to the web GUI under Profile Task Scheduler, you will see everything looks normal.  Now trying running the job again and it should work.  You should get a message saying:</p>
<blockquote><p>12009 &#8211; Action: Profile has been queued to run. Please check the Profile Task History screen for status and runtime output.</p></blockquote>
<p>Now don&#8217;t forget to restart your Master and Slave scheduler services or the job will remain in a queued state until they are back up:</p>
<blockquote><p>urchinctl start</p></blockquote>
<p>Now verify the job is actually running properly by clicking the green &#8220;Running&#8221; link for the job and you should see it processing the logs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2009/12/01/how-to-clear-a-hung-profile-in-urchin-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s new and actually useful in Server 2008 R2?</title>
		<link>http://www.jasonsamuel.com/2009/11/13/whats-new-and-actually-useful-in-server-2008-r2/</link>
		<comments>http://www.jasonsamuel.com/2009/11/13/whats-new-and-actually-useful-in-server-2008-r2/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 22:29:23 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[.NET 2.0]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ADAC]]></category>
		<category><![CDATA[group policy]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[Server 2008]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=231</guid>
		<description><![CDATA[
I was lucky enough to attend the Microsoft New Efficiency event for Windows Server 2008 R2 on Monday.  It was a limited capacity technical briefing aimed at IT Professionals.  They also had an Exchange 2010 and Windows 7 track at the same time but I chose to attend the Server 2008 R2 track.  It was [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-268" title="newefficiency" src="http://www.jasonsamuel.com/wp-content/uploads/2009/11/newefficiency.gif" alt="newefficiency" width="600" height="46" /></p>
<p>I was lucky enough to attend the Microsoft New Efficiency event for Windows Server 2008 R2 on Monday.  It was a limited capacity technical briefing aimed at IT Professionals.  They also had an Exchange 2010 and Windows 7 track at the same time but I chose to attend the Server 2008 R2 track.  It was divided into 4 sections and was hosted by Kevin Saye (<a href="mailto:kevin.saye@microsoft.com">kevin.saye@microsoft.com</a>) who is the Pre-sales technical support specialist for Windows Server in this region.  I&#8217;ve heard him speak at events before but never had a chance to actually do a QA session with him till now.</p>
<p>So, on to the new stuff in Server 2008 R2 that I found interesting!  This is not a comprehensive list by an means, just the stuff I thought was very useful.  I&#8217;ll go over each in detail in the coming days and how it will fit into your enterprise environment.</p>
<p>-Active Directory Administrative Center (ADAC)<br />
-Managed Service accounts<br />
-Active Directory Recycle Bin<br />
-Graphical PowerShell<br />
-Turning off CPU cores to conserve power<br />
-Group policy can now execute Powershell scritpts<br />
-Group policy granularity through item level targeting<br />
-FCI to classify data and take actions on it<br />
-.NET now runs on Server Core installs<br />
-Remote Desktop Services now has multi-monitor support (up to 8 monitors), bi-directional audio (useful for VOIP), and enhanced multimedia support using your local graphics card instead of &#8220;screen painting&#8221; as it was before.<br />
-DirectAccess with Windows 7 and Server 2008 R2 &#8211; Extends the network to include remote users instead of just a remote user dialing in via VPN.  Uses the Teredo protocol.  Was able to access the Microsoft intranet site (<a href="http://msw/">http://msw</a>) without ever having to dial in and from behind a corporate firewall.  It uses IPsec and it only works with Windows 7 machines which are on the domain. <br />
-Branch Cache &#8211; Caches only the requested data unlike DFS.  Means a lot less space is required unlike DFS which is an exact duplicate.</p>
<p><strong>THE FUTURE<br />
</strong>Kevin says expect to see more componentization in MS products.  Expect to moved vhds around on servers like OS, Apps, &amp; Data vhds interchangeably on your VMs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2009/11/13/whats-new-and-actually-useful-in-server-2008-r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to find out what build version of SharePoint you are running</title>
		<link>http://www.jasonsamuel.com/2009/11/12/how-to-find-out-what-build-version-of-sharepoint-you-are-running/</link>
		<comments>http://www.jasonsamuel.com/2009/11/12/how-to-find-out-what-build-version-of-sharepoint-you-are-running/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 18:06:35 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[SharePoint 2007]]></category>

		<guid isPermaLink="false">http://www.jasonsamuel.com/?p=255</guid>
		<description><![CDATA[When you&#8217;re applying updates to a large farm, you really need to check the version number of SharePoint running on each server in the farm in order to maintain consistency.  You can do this easily by going to CA &#62; Operations &#62; Servers in Farm.
But what do these version numbers actually mean?  There&#8217;s a great [...]]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re applying updates to a large farm, you really need to check the version number of SharePoint running on each server in the farm in order to maintain consistency.  You can do this easily by going to CA &gt; Operations &gt; Servers in Farm.</p>
<p>But what do these version numbers actually mean?  There&#8217;s a great Wiki maintained here that can answer this:</p>
<p><a href="http://www.sharepointdevwiki.com/display/SharePointAdministrationWiki/SharePoint+Versions">http://www.sharepointdevwiki.com/display/SharePointAdministrationWiki/SharePoint+Versions</a></p>
<p>This page will show you all the past and current version numbers and their associated KB articles.  Very handy when troubleshooting updates or if you want to check the change log between versions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonsamuel.com/2009/11/12/how-to-find-out-what-build-version-of-sharepoint-you-are-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
