<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-425966386352251311</id><updated>2012-01-20T19:05:36.589-08:00</updated><category term='troubleshooting'/><category term='recovery'/><category term='Store'/><category term='miscellaneous'/><category term='SMTP'/><category term='DNS'/><category term='configuration'/><category term='Exchange'/><category term='Outlook'/><category term='relay'/><category term='script'/><category term='command prompt'/><category term='Tools'/><category term='NDR'/><category term='routing'/><category term='windows'/><category term='Public Folders'/><category term='service'/><category term='password'/><category term='deleted items'/><category term='AD'/><title type='text'>Life as an Exchange-guy</title><subtitle type='html'>Assisting the MS-Exchange/Windows Administrator community</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-5083761883184469496</id><published>2010-02-21T21:59:00.001-08:00</published><updated>2010-02-22T07:28:48.298-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='SMTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Let's Troubleshoot (putting it all together) !!</title><content type='html'>Note:  This is the last of a set of articles about troubleshooting outbound messaging issues.  If you need or want to read from the beginning, &lt;a href="http://exchangeguy.blogspot.com/2010/02/troubleshooting-outbound-messaging.html"&gt;start here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now that you have some knowledge of where you can look and what information you can find, how do you use it to troubleshoot?  Let's go back to my original roadmap:&lt;br /&gt;&lt;br /&gt;First, know the path a message will take to get to its destination&lt;br /&gt;Second, determine how far along that path it got&lt;br /&gt;Third, figure out why it stopped (or if it stopped)&lt;br /&gt;&lt;br /&gt;What path should a message take?  By now you should know whether Exchange will send outbound messages to a &lt;a href="http://exchangeguy.blogspot.com/2010/02/whats-smarthost.html"&gt;Smarthost&lt;/a&gt; or directly to the recipient system.&lt;br /&gt;&lt;br /&gt;How far did it get?  Did it reach the Exchange server?  Check &lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-message.html"&gt;Message Tracking&lt;/a&gt;.  If the message doesn't appear, then the client (typically Outlook) never delivered it successfully.  Check Outlook - is it still in the Outbox?&lt;br /&gt;&lt;br /&gt;Let's say the message shows up in &lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-message.html"&gt;Message Tracking&lt;/a&gt;.  Did the message leave the Exchange server?  In other words, does it report it was transferred through SMTP?  If it does, it means Exchange delivered the message to the next hop.&lt;br /&gt;&lt;br /&gt;If not, what is the last thing reported by Exchange?  Check the &lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-queues-view.html"&gt;Queues&lt;/a&gt;.  Remember your routing configuration.  Does Exchange send all messages to a &lt;a href="http://exchangeguy.blogspot.com/2010/02/whats-smarthost.html"&gt;Smarthost&lt;/a&gt;, or does it use DNS?&lt;br /&gt;&lt;br /&gt;It's at this point you may want to verify &lt;a href="http://exchangeguy.blogspot.com/2007/06/using-nslookup-to-determine-smtp.html"&gt;DNS lookups&lt;/a&gt; and test communications with &lt;a href="http://exchangeguy.blogspot.com/2007/06/using-telnet-to-simulate-server.html"&gt;Telnet&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If Exchange delivered the message to the next hop, it's time to examine the &lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-smtp-log.html"&gt;SMTP log&lt;/a&gt;.  Checking the SMTP log will show you the communication between your Exchange server and the system to which it wanted to deliver the message.&lt;br /&gt;Did it receive an OK response to the HELO/EHLO command?&lt;br /&gt;Did it receive an OK response to the MAIL FROM command?&lt;br /&gt;Did it receive an OK response to the RCPT TO command?&lt;br /&gt;Did it receive an OK response to the DATA command?&lt;br /&gt;Did it receive an OK response to the QUIT command?&lt;br /&gt;&lt;br /&gt;If it passed all the way through the QUIT command, the message is now the responsibility of the system that received it from your Exchange server.  If that system is under your administration, check there.  If not, your troubleshooting has come to an end.  You have verified that your system delivered the message successfully.&lt;br /&gt;&lt;br /&gt;While this does not account for many situations, it does take a lot of the mystery out of troubleshooting.  You can certainly dig deeper into SMTP and other (non-MS Exchange) systems, but I think this will start you on the way to becoming a troubleshooting guru.  With an understanding of some of the concepts, you can read through technical articles and reference materials for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-5083761883184469496?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/5083761883184469496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=5083761883184469496' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5083761883184469496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5083761883184469496'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/lets-troubleshoot-putting-it-all.html' title='Let&apos;s Troubleshoot (putting it all together) !!'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-9054837024079325788</id><published>2010-02-21T21:58:00.004-08:00</published><updated>2010-02-23T19:19:19.993-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='SMTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Understanding basic SMTP commands and responses</title><content type='html'>There are only a few SMTP commands commonly used, and more importantly only a few responses that matter.&lt;br /&gt;&lt;br /&gt;SMTP responses&lt;br /&gt;Recipient systems will respond to each SMTP command with a numeric value and optional text.  Any value in the 200-299 range is considered to be an "OK" acknowledgement.&lt;br /&gt;&lt;br /&gt;HELO / EHLO&lt;br /&gt;This is how the sending system opens an SMTP conversation with a recipient system that acknowledges a TCP 25 communication attempt.  HELO is the original SMTP specification, EHLO is an ESMTP command.  Parameters after the command are optional, although it should be noted that some recipient systems may attempt to match that against the domain name indicated by performing a reverse-DNS lookup of the sending IP address.&lt;br /&gt;&lt;br /&gt;MAIL FROM:&lt;br /&gt;This command displays the reply address of the sender.&lt;br /&gt;&lt;br /&gt;RCPT TO:&lt;br /&gt;This command displays the recipient address.  Only one address is allowed per command, so messages with multiple recipients will show each separately.&lt;br /&gt;&lt;br /&gt;DATA&lt;br /&gt;This command signifies the start of the actual message.  That includes what appears in the TO, CC, BCC, and Subject lines of the message.  It includes the message body and attachments.  None of that information is displayed in the SMTP log.  ESMTP sending systems may declare the length of the message.&lt;br /&gt;&lt;br /&gt;QUIT&lt;br /&gt;This command requests a termination to the SMTP session.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-9054837024079325788?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/9054837024079325788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=9054837024079325788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/9054837024079325788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/9054837024079325788'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/understanding-basic-smtp-commands-and.html' title='Understanding basic SMTP commands and responses'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-8815560506855631233</id><published>2010-02-21T21:58:00.003-08:00</published><updated>2010-02-21T21:58:52.668-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Understanding the Queues view</title><content type='html'>For each server listed in the ESM, there is a folder called Queues.  It displays the status of all connections the Exchange server is attempting to make.  It will show the number of messages waiting to be sent.  For any of the individual messages, you can see the sender, recipients, subject, and size.  You can also see if a particular message is a Non-Delivery Report (NDR).&lt;br /&gt;&lt;br /&gt;Messages that stay in the queue typically indicate a transmission problem.  It could be that the destination domain doesn't exist, or that the destination domain is refusing your transmission, or that the destination domain is having a problem receiving messages.  In any case, if a message stays in the queue, Exchange will attempt to send it again later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-8815560506855631233?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/8815560506855631233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=8815560506855631233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/8815560506855631233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/8815560506855631233'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/understanding-queues-view.html' title='Understanding the Queues view'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-7013946484232083186</id><published>2010-02-21T21:58:00.001-08:00</published><updated>2010-02-21T21:58:26.891-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Understanding the SMTP log</title><content type='html'>Starting with Exchange 2003, all inter-server communication is by default done via SMTP.  This makes the SMTP log a convenient way to see the high-level communication between your Exchange server and other SMTP systems.  In particular, the SMTP commands and the responses to those commands.&lt;br /&gt;&lt;br /&gt;Depending upon the amount of traffic your Exchange server handles, SMTP logs can get large.  There is no automatic purging, so carefully consider where you are storing the log files.  It is enabled/disabled on the General tab of the Default SMTP Virtual Server properties.&lt;br /&gt;&lt;br /&gt;One of the unfortunate issues with the SMTP log is that there is no thread-organization.  In other words, it is not possible to tell which log entry belongs to which thread.  The entries are posted in the order received.  If multiple threads are running concurrently, the entries will all be mixed together.  That said, you can typically figure it out because of the sending address and recipient address.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-7013946484232083186?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/7013946484232083186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=7013946484232083186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7013946484232083186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7013946484232083186'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/understanding-smtp-log.html' title='Understanding the SMTP log'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-1839166781593953001</id><published>2010-02-21T21:56:00.004-08:00</published><updated>2010-02-21T21:57:38.048-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Understanding Message Tracking</title><content type='html'>Message Tracking (MT) is a tool that is part the Exchange System Manager (ESM).  It reports what a given Exchange server does with particular messages.  Note that tracking ends when the message leaves that Exchange server.  If the message goes to another Exchange server, you can consult MT on that other server for more information.&lt;br /&gt;&lt;br /&gt;MT can be used to determine if a message was delivered to a mailbox, or to another system.  If the tracking ends without the message being delivered, you will see what Exchange was doing last.  That can give clues as to what the underlying issue is.&lt;br /&gt;&lt;br /&gt;MT can be enabled or disabled.  Open the properties of the Exchange server.  On the General tab there is a checkbox to Enable Message Tracking.  There are also settings for log location and retention.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-1839166781593953001?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/1839166781593953001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=1839166781593953001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/1839166781593953001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/1839166781593953001'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/understanding-message.html' title='Understanding Message Tracking'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-3284134994882458720</id><published>2010-02-21T21:56:00.003-08:00</published><updated>2010-02-21T21:56:52.958-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='relay'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>What's a Relay?</title><content type='html'>A Relay is essentially any system that accepts and forwards mail to SMTP domains for which it does not act authoritatively.  That's a mouthful - what does that mean exactly?  Let's say you address a message to uemurad@yahoo.com and send it to my corporate server.  If my server accepts and forwards the message, my server is a relay.  If my server accepts and forwards all messages from everyone, it's an open relay.  Open relays are considered bad because Spammers find and utilize them to help disguise the source of the spam.  Being an Open Relay is bad because recipient systems will see the spam coming from your system and will quickly degrade your reputation.  You can end up on blacklists then have your legitimate messages rejected.&lt;br /&gt;&lt;br /&gt;A system can be a Relay without being an Open Relay.  A Relay is not a bad thing in itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-3284134994882458720?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/3284134994882458720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=3284134994882458720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3284134994882458720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3284134994882458720'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/whats-relay.html' title='What&apos;s a Relay?'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-8721107251619071293</id><published>2010-02-21T21:56:00.001-08:00</published><updated>2010-02-21T21:56:27.436-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>What's a Smarthost?</title><content type='html'>A Smarthost is essentially a system to which all messages are forwarded, regardless of their ultimate destination.  Examples of Smarthosts are AntiVirus appliances, Content filters, Sender/Recipient filters, and Spam filters.  In addition, some ISPs and some of their service levels require customers to send all outbound mail through their systems instead of directly to recipients.  A Smarthost is responsible for receiving mail and forwarding to the appropriate system.  Note that it too may send messages to a Smarthost or directly to a recipient system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-8721107251619071293?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/8721107251619071293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=8721107251619071293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/8721107251619071293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/8721107251619071293'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/whats-smarthost.html' title='What&apos;s a Smarthost?'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-7596012813337824100</id><published>2010-02-21T21:55:00.000-08:00</published><updated>2010-02-21T21:56:03.047-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Understanding Logs</title><content type='html'>Logs are nothing more than a collection of status notes a system makes about a process.  They are a way to review what happened during that process to understand what worked and what didn't.  Most systems have some sort of logging option.  Exchange has a couple of useful logging features that you've probably heard about - Message Tracking and SMTP logging.&lt;br /&gt;&lt;br /&gt;Enabling Message Tracking is done in the Exchange System Manager (ESM).  This is done at the server level.  Open the properties of the server and find the checkbox on the General tab.  That configuration also defines the location of the log files and the retention period.&lt;br /&gt;&lt;br /&gt;Enabling SMTP logging is also done in the ESM.  Although this is configured per server, the configuration is found in the properties of the Default SMTP Virtual Server (expand the server, Protocols, and SMTP).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-7596012813337824100?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/7596012813337824100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=7596012813337824100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7596012813337824100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7596012813337824100'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/understanding-logs.html' title='Understanding Logs'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-8099304336726700498</id><published>2010-02-21T21:54:00.000-08:00</published><updated>2010-02-21T21:55:32.738-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Understanding your outbound mail flow</title><content type='html'>Before you can troubleshoot why outbound mail isn't getting to where it supposed to, you first have to understand how it's supposed to get there.  One of the keys to this understanding is knowing whether or not Exchange sends messages directly to recipient systems.  When an Exchange server gets a message destined for the outside world, there are two main mechanisms that it consults.  The Virtual Server (VS) and Connectors.&lt;br /&gt;&lt;br /&gt;The Virtual Server setting takes precedence, so look there first.  Open the Exchange System Manager (ESM) and expand to the server in question.  Further expand Protocols and SMTP.  Beneath SMTP there is typically a single entry - the Default SMTP Virtual Server.  Open the Properties of it, go to the Delivery tab, and click on the Advanced button.  The main thing you are looking for is whether there is an entry in the Smart host field.  If there is, it means that all outbound messages will be sent to that FQDN.  If not, your Exchange Organization will require one or more SMTP Connectors to route outbound messages.&lt;br /&gt;&lt;br /&gt;If the VS is not configured with a Smarthost, Exchange then looks to the Connectors for outbound routing information.  The Connector structure can be simple or complex, depending upon the size of your Exchange Organization and how your enterprise wants mail to flow.  For this example, let's assume the simplest configuration possible - a single Exchange server environment.&lt;br /&gt;&lt;br /&gt;To route outbound messages, your single-server Exchange Organization requires at least one Connector (assuming you did not configure a smarthost via the VS). &lt;br /&gt;&lt;br /&gt;Let's take a moment to review the function and difference between Exchange Administrative Groups (AG) and Exchange Routing Groups (RG).  AGs allow you to easily configure administrative permissions to a group of servers, regardless of their geographic location or purpose.  RGs are specifically for message routing.  There is no implied correlation between any particular AG and RG.&lt;br /&gt;&lt;br /&gt;Connectors are associated with RGs and are also referred to as SMTP Connectors.&lt;br /&gt;&lt;br /&gt;Getting back our discussion on mail flow, in the simplest configuration you'd have a single Connector.  Looking at the Properties, on the General tab there is a radio-button selection allowing you to either configure a smarthost or to use DNS. &lt;br /&gt;&lt;br /&gt;If smarthost is selected, there should be an IP address in the field (as opposed to the FQDN format used in the VS).&lt;br /&gt;If DNS is selected, it means that Exchange will attempt to send messages directly to the recipient system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-8099304336726700498?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/8099304336726700498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=8099304336726700498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/8099304336726700498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/8099304336726700498'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/understanding-your-outbound-mail-flow.html' title='Understanding your outbound mail flow'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-4704144621899148601</id><published>2010-02-21T21:51:00.000-08:00</published><updated>2010-02-21T22:03:29.873-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Troubleshooting Outbound Messaging</title><content type='html'>A couple of years ago I wrote a series of articles on what to do when users say inbound messages aren't getting to them.  I am frequently asked for help figuring out why outbound messages seemingly don't get to where they are going.&lt;br /&gt;&lt;br /&gt;Troubleshooting outbound mail flow is relatively simple (at least to me, but then again I'm a self-professed Messaging-geek).  Whenever I bring up the subject, people look at me like I'm talking about something more (dark) art than science.  I think that's only true until you gain an understanding of the science.  With that in mind, here's my attempt to explain some of that science and hopefully put you on the path to becoming a troubleshooting wiz.&lt;br /&gt;&lt;br /&gt;The easiest way to think about messaging is that it is a point-to-point transmission system.  It starts somewhere and wants to go somewhere else.  It may require only one tranmission (hop) or several.  Each transmission succeeds or fails.  Sounds simple so far, right?&lt;br /&gt;&lt;br /&gt;Let me put it another way - here's how I look at troubleshooting message flow:&lt;br /&gt;&lt;br /&gt;First, you have to know the path a message will take to get to its destination&lt;br /&gt;Second, you have to determine how far along that path it got&lt;br /&gt;Third, you have to figure out why it stopped (or if it stopped)&lt;br /&gt;&lt;br /&gt;Sounds simple enough, but as the saying goes the devil is in the details.  Towards that end, here are some separate articles about narrowing the focus of your search.  I'm not sure the best way to follow along.  As you get used to some of these ideas you may have to go back and forth.  You may want to jump to the last article in the list and see how far you can get.  I'll try to link up the articles as much as possible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-your-outbound-mail-flow.html"&gt;Understanding your outbound mail flow&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-logs.html"&gt;Understanding Logs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/whats-smarthost.html"&gt;What's a Smarthost?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/whats-relay.html"&gt;What's a Relay?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-message.html"&gt;Understanding Message Tracking&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-queues-view.html"&gt;Understanding the Queues view&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-smtp-log.html"&gt;Understanding the SMTP log&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/understanding-basic-smtp-commands-and.html"&gt;Understanding basic SMTP commands and responses&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2007/06/using-nslookup-to-determine-smtp.html"&gt;Using NSLookup to verify recipient system address&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2007/06/using-telnet-to-simulate-server.html"&gt;Using Telnet to verify SMTP connectivity&lt;/a&gt;&lt;br /&gt;&lt;a href="http://exchangeguy.blogspot.com/2010/02/lets-troubleshoot-putting-it-all.html"&gt;Let's Troubleshoot (putting it all together) !!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-4704144621899148601?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/4704144621899148601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=4704144621899148601' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4704144621899148601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4704144621899148601'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2010/02/troubleshooting-outbound-messaging.html' title='Troubleshooting Outbound Messaging'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-5039337758182579870</id><published>2007-10-23T21:15:00.000-07:00</published><updated>2007-10-24T21:19:36.501-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='relay'/><category scheme='http://www.blogger.com/atom/ns#' term='NDR'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>NDRs - Cause for concern?</title><content type='html'>Among the more common questions I get from my users concerns Non-Delivery Reports (NDRs) they receive for messages they didn't send.  Some users are understandably upset because many of the subject lines would lead you to question their character.&lt;br /&gt;&lt;br /&gt;In addition, I see lots of questions from messaging administrators concerned that their environment is an open relay because either they are receiving a lot of NDRs from outside systems, or their own queues are clogged with NDRs to other SMTP domains.&lt;br /&gt;&lt;br /&gt;Recently I posted this response at MSExchange.org to an Exchange administrator searching for a reasonable explanation for the flood of inbound NDRs his users were receiving.&lt;br /&gt;&lt;br /&gt;===============&lt;br /&gt;&lt;br /&gt;Consider this scenario: &lt;br /&gt;1.  I am a "Secret Creator of Unwanted Messages" (a.k.a. SCUM) &lt;br /&gt;2.  There is an SMTP domain named company.com &lt;br /&gt;3.  The address no.one@company.com does not exist &lt;br /&gt;4.  Your SMTP domain is unsuspecting-user.com &lt;br /&gt;5.  You have a user with the address someone@unsuspecting-user.com &lt;br /&gt;6.  I send out a message addressed from someone@unsuspecting-user.com and to no.one@company.com &lt;br /&gt;&lt;br /&gt;The message goes out from my secret lair in a nearby septic tank out to the Internet. &lt;br /&gt;&lt;br /&gt;The message then gets delivered to the server at company.com.  That server accepts the message, attempts to find a match for no.one@company.com and discovers there is no such address.  Being the RFC-compliant system it is, it dutifully creates and sends out an NDR to the sender.  The trouble is, it thinks the sender is someone@unsuspecting-user.com and so sends the NDR there. &lt;br /&gt;&lt;br /&gt;===============&lt;br /&gt;&lt;br /&gt;This isn't to say that we shouldn't watch for signs that our system has been compromised, but more on that later...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-5039337758182579870?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/5039337758182579870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=5039337758182579870' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5039337758182579870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5039337758182579870'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/10/ndrs-cause-for-concern.html' title='NDRs - Cause for concern?'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-4071236428087131410</id><published>2007-08-30T15:24:00.000-07:00</published><updated>2007-08-30T15:27:40.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>GAL vs. OAB - Why can't I see my AD changes?</title><content type='html'>When you run Outlook in non-cache mode, or connect using Outlook Web Access (OWA), you access the Global Address List (GAL) directly.  Any changes made will appear as soon as your AD forest is replicated.&lt;br /&gt;&lt;br /&gt;When you run Outlook in cache mode, you are viewing an offline copy of the GAL called an offline address book (a.k.a. offline address list).  By default, Exchange rebuilds the OAB once a day.  Also by default, Outlook downloads the OAB once when you launch it - thinking it doesn't need to check more often because of the rebuild schedule. &lt;br /&gt;&lt;br /&gt;If you need to force a new entry to show up immediately, you need to do two things.  First, manually rebuild the OAB.  Open the System Manager (ESM) and expand Recipients then click on Offline Address Lists.  In the right pane right click Default Offline Address List and select Rebuild.  You should then wait anywhere from 2 to 10 minutes (depending upon how many entries are in your GAL).  Second, in Outlook (running in cache mode) go to Tools--&gt;Send/Receive and select Download Address Book.  You should then see the new entry. &lt;br /&gt;&lt;br /&gt;If you wish to view or change the rebuild schedule, open the ESM and expand Recipients.  Open the properties of the particular OAB in question.  On the General tab, there is a field for Update interval.  By default this is set to run daily - early in the morning.  If you wish to have the OAB rebuild more than once a day, you can select "Use custom schedule" and create your schedule.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-4071236428087131410?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/4071236428087131410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=4071236428087131410' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4071236428087131410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4071236428087131410'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/08/gal-vs-oab-why-cant-i-see-my-ad-changes.html' title='GAL vs. OAB - Why can&apos;t I see my AD changes?'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-7600169802850699175</id><published>2007-07-14T11:40:00.000-07:00</published><updated>2007-07-20T11:09:58.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Store'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Lesson learned - Recovering from corruption</title><content type='html'>As if the &lt;a href="http://exchangeguy.blogspot.com/2007/07/lesson-learned-stopping-exchange.html"&gt;previous lesson&lt;/a&gt; learned wasn't enough, it led to another painful lesson.&lt;br /&gt;&lt;br /&gt;Our Microsoft PSS engineer had us take a backup of the current mailbox stores that wouldn't mount along with the transactional logs so that we'd have something to fall back on should things not go well. Our mailbox stores are large enough that the process would take several hours. Rather than have new mail bounce he had us create empty databases by configuring the file names different from the original files. This gave the new messages a place to go.&lt;br /&gt;&lt;br /&gt;After the backup completed, we restored one mailbox store files back to the previous day (which took a couple of hours). We then went through several rounds of replaying the logs until we figured out where the corruption started. When that process finally completed, we had a restored mailbox store as good as we could get it, plus a newly created mailbox store with a couple of days worth of messages. The final step is to merge the two. This is done by making one of the stores the Recovery Storage Group and merging the new data with the old.&lt;br /&gt;&lt;br /&gt;I'll interrupt the story here to say that because of the length of time involved with the process, we ended up doing this with two different groups of people. The first group completed the merge and all appeared well. The second group went through the same process with another mailbox store with a different PSS engineer.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;The bad news&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;When the second group got to the merge, it was taking a very long time. Much longer than it took the first group. We could do nothing but watch the merge wizard slowly process each mailbox. Our mailbox store was large enough that the entire process took over a day to complete. Our users were patient and understanding, but at the same time displeased.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;Lesson learned&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Some of you may have recognized that what we were doing was performing a Dial-tone Restore. Henrik Walther wrote an excellent set of &lt;a href="http://www.msexchange.org/tutorials/Exchange-Dial-tone-Restore-Method-Part1.html"&gt;articles&lt;/a&gt; on this subject at MSExchange.org. The first group did exactly what Henrik described, and the second group had left out one important step which would have saved us many hours of frustration. Before performing the merge, you need to swap the mailbox stores so that you are merging the small into the large. The mailbox store was somewhere between 75GB and 100GB and therefore took a very long time!&lt;br /&gt;&lt;br /&gt;I strongly urge everyone to read through &lt;a href="http://www.msexchange.org/tutorials/Exchange-Dial-tone-Restore-Method-Part1.html"&gt;Henrik's articles&lt;/a&gt; to familiarize yourself with the process. You never know when you'll need it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-7600169802850699175?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/7600169802850699175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=7600169802850699175' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7600169802850699175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7600169802850699175'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/07/lesson-learned-recovering-from.html' title='Lesson learned - Recovering from corruption'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-1288465398853877571</id><published>2007-07-13T23:16:00.000-07:00</published><updated>2007-07-13T23:29:03.072-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='Store'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Addendum - Stopping Exchange services</title><content type='html'>Andy Grogan wrote an excellent commentary to my previous &lt;a href="http://exchangeguy.blogspot.com/2007/07/lesson-learned-stopping-exchange.html"&gt;post&lt;/a&gt;, and I wrote in return. I don't know how many people would actually read the comments, and the points made are important enough that I wanted them to be more than a footnote. I left Andy's comments verbatim, and added a couple of notes to mine.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;Andy wrote:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"The problem is, how do you know when the store is being written to? or not, I have seen a similar problem before CPU 100 % nothing much responding in terms of Exchange so you naturally try to stop the service. Then you get the dreaded "The Microsoft Information Store Service did not respond to the stop request in a timely fashion" and hang on stopping. This then raises - how long do you wait - and hour, two hours - a day?"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"I have in the past opened up Task Manager and added in the IO, and Bytes counters to see if the store process is writing, but its not fool proof. Personally I would love Microsoft to put some options into ending processes like there are in Unix where you have multiple levels to killing a process - sorry for the ramble - I just don't think there was much you could have done your were in a hole that most of us Exchange folks face at some point - do I pull the plug or don't I?"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The issues Andy raises in his comment are exactly the same questions and issues that haunted me. That's why I've adopted this new strategy which seems to work (at least it alleviates my fears). Dismount the stores first - don't try to do anything with the services. In fact, don't do anything with the services until the stores dismount.&lt;br /&gt;&lt;br /&gt;In an emergency, I'd pull the plug on new messages (e.g. block port 25) and cause bounces rather than risk corruption. That will allow the stores to eventually catch up and quiet down. Then dismount the stores, then finally stop the services.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-1288465398853877571?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/1288465398853877571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=1288465398853877571' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/1288465398853877571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/1288465398853877571'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/07/addendum-stopping-exchange-services.html' title='Addendum - Stopping Exchange services'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-4771331458037201563</id><published>2007-07-11T22:48:00.000-07:00</published><updated>2007-07-11T22:51:34.029-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='Store'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Lesson Learned - Stopping Exchange services</title><content type='html'>I inadvertently corrupted a couple of mailbox stores (like anyone actually causes corruption intentionally) because of a lack of understanding.  I hope this story will save someone else some pain.&lt;br /&gt;&lt;br /&gt;The story started when an Exchange server's CPU was running at 100% for a long time, causing my monitor to alert us.  After some intial troubleshooting, it was decided to restart the Exchange services.  The restart process failed, the CPU continued to run at 100%.&lt;br /&gt;&lt;br /&gt;We waited an hour, and the status had not changed.  Figuring a reboot would resolve any ailments, we did just that.  The server took a long time, but finally rebooted after 15 minutes.  When the server restarted, some of the mailbox stores did not mount.  After spending some time to try to fix things, we put in a call to Microsoft PSS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;The bad news&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;We discovered that our actions corrupted several mailbox stores (this was on an Enterprise Edition server).  In talking to Microsoft, we discovered that a shutdown or restart of the Operating System does not necessarily wait for all services to stop.  The Information Store service apparently did not stop completely and after a timed delay, Windows shut itself down.  We were told that the corruption happened because the store was actively being written to when the service stopped.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;Lesson learned&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With a new understanding of the Information Store service, whenever maintenance is performed on our Exchange servers, we always dismount all of the mailbox stores first.  This assures that all "in flight" transactions are complete before the service is stopped.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-4771331458037201563?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/4771331458037201563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=4771331458037201563' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4771331458037201563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4771331458037201563'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/07/lesson-learned-stopping-exchange.html' title='Lesson Learned - Stopping Exchange services'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-4911100167612954871</id><published>2007-07-09T01:44:00.000-07:00</published><updated>2007-07-10T10:52:19.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='miscellaneous'/><title type='text'>Microsoft MVP!</title><content type='html'>I got to spend a little time away from everything Exchange related (a.k.a. vacation) and returned to find a nice surprise amongst my Email. I have been named a Microsoft MVP! I will be spending the next few days seriously studying my privileges and responsibilities. Thanks to James Chong and everyone else who was involved in my obtaining this honor. I will do everything in my power to prove myself worthy of your support!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-4911100167612954871?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/4911100167612954871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=4911100167612954871' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4911100167612954871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4911100167612954871'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/07/microsoft-mvp.html' title='Microsoft MVP!'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-1323797089800181108</id><published>2007-06-27T22:04:00.000-07:00</published><updated>2007-06-27T22:06:39.665-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='miscellaneous'/><title type='text'>Why do I blog?</title><content type='html'>I've been asked in different ways and phrases about my motivation in responding to forum posts and more recently about this blog.  The simple answer is that I enjoy it.  I like writing, helping, and troubleshooting.&lt;br /&gt;&lt;br /&gt;Readers of my posts will quickly note the style in which I interact - I ask a lot of questions.  This is in part to confirm my understanding of the situation, but also in part to get the reader thinking about the underlying issue.  Many times if I don't have the answer these are questions I'd ask myself in the course of resolving the issue.&lt;br /&gt;&lt;br /&gt;Whenever possible I like to interject thoughts on larger issues like MS-Exchange principles, messaging design and architecture, and general troubleshooting techniques.  I am a teacher-wannabe and enjoy interacting with people who are interested in learning.&lt;br /&gt;&lt;br /&gt;My own troubleshooting technique stems from the philosophy that if you understand the underlying structure, you can always figure out the answer even if you've never encountered anything exactly like it before.  This actually comes from my old Calculus professor's response to the class whining about having to memorize all the different integral forms.  I never did get to that level of understanding in Calculus, but the philosophy works for many other subjects and especially so with computers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-1323797089800181108?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/1323797089800181108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=1323797089800181108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/1323797089800181108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/1323797089800181108'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/why-do-i-blog.html' title='Why do I blog?'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-2420682940196008357</id><published>2007-06-26T20:29:00.000-07:00</published><updated>2007-06-26T20:50:22.973-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='relay'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Relays - good or bad?</title><content type='html'>I see many questions about relaying. It seems much of the confusion stems from an incomplete or incorrect understanding of what it means. Hopefully this will clear things up a bit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;What is relaying?&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For any given message, you have a sending system (originator) and a recipient system. Most of the time, the sending system communicates directly with the recipient system. So, if you were sending a message to me, your Exchange server would communicate directly with mine.&lt;br /&gt;&lt;br /&gt;There are times and circumstances where direct communication is not possible or desired. These circumstances may require that an intermediate system field the message and pass it along. This is what a relay is. It is a neither the sending system nor the recipient system.&lt;br /&gt;&lt;br /&gt;Many ISPs work this way where you have to send all your outbound mail to them to be sent out to other Internet domains. The ISP accepts messages only from its known customers (via IP address) and rejects messages from others. Another common example of a valid relay is a Spam Filter appliance.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;Open relays&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;A big problem that we Messaging Admins face is that there are "open relays" out in the world. An Open Relay is when a system accepts messages from everyone and will forward them to anyone. Spammers love these system because they can hide behind open relays to mask the true originating system. The default configuration of Exchange 5.5 unfortunately was set up to be an open relay. Many mail systems were unknowningly left that way, creating a paradise for spammers. Relaying with Exchange 2000 by default was closed to all but authenticated users, and Exchange 2003 continues that same default configuration.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;Relay settings in Exchange 2003&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;These are set in the properties of the Default SMTP Virtual Server, on the Access tab.&lt;br /&gt;If you select "all except the list below" in the relay settings with a blank list, you are actually saying "forward messages from everywhere". In other words, you will have configured an open relay and raised the frustration level of legitimate Messaging Admins everywhere.&lt;br /&gt;&lt;br /&gt;When you select "only the list below" with a non-blank list, you are saying "don't forward the message unless it comes from a system on the list.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;A final important configuration note&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;If you clear the checkbox for "Allow all computers which successfully authenticate to relay regardless of the list above", then Exchange servers within your organization will not be able to send messages to one another.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-2420682940196008357?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/2420682940196008357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=2420682940196008357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/2420682940196008357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/2420682940196008357'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/relays-good-or-bad.html' title='Relays - good or bad?'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-5729658210530832598</id><published>2007-06-09T19:25:00.000-07:00</published><updated>2007-06-16T19:16:57.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Using Telnet to simulate server communication</title><content type='html'>The best place to run Telnet is on the server which sends out your SMTP traffic. This will show you the same information that your SMTP engine receives when communicating with an outside system. Telnet allows you to specify the port through which to communicate. SMTP is defined as TCP port 25.&lt;br /&gt;&lt;br /&gt;Open a command prompt window. Determine the FQDN or the IP address. If you need to determine this information, you can use NSLookup if you know the SMTP domain name you are attempting to connect to. For more information about this, read this &lt;a href="http://exchangeguy.blogspot.com/2007/06/using-nslookup-to-determine-smtp.html"&gt;article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At the prompt, type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;telnet fqdn 25&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the receiving server is accepting SMTP communications, it will respond with an acknowledgement message indicating it is ready to receive your transmission. The acknowledgement should also indicate if it understands SMTP or ESMTP.&lt;br /&gt;&lt;br /&gt;Type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;ehlo testdomain.com&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are two established protocols, SMTP and ESMTP (Enhanced SMTP). If the receiving system only understands SMTP, you must begin with &lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;helo&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;. If the receiving system understands ESMTP, you may begin with either &lt;strong&gt;&lt;em&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;helo&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; or &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;ehlo&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;If you receive an OK message from the receiving mail system, proceed. If not, double check the protocol named in the response to the telnet command.&lt;br /&gt;&lt;br /&gt;Type&lt;br /&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;mail from:exchange.admin@testdomain.com&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This indicates the reply address. Some receiving systems will compare the parameter from the ehlo command, and the domain listed in the address on the mail from: command to the domain name returned when performing a reverse DNS (RDNS) lookup on the IP address from which the message is coming. It is a method to combat address spoofing and more reliably identify undesirable senders.&lt;br /&gt;&lt;br /&gt;If you are testing communications to an outside messaging system, you may need to use your actual domain name to be allowed to continue.&lt;br /&gt;&lt;br /&gt;Type&lt;br /&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;rcpt to:valid.user@receivingdomain.com&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This indicates the recipient address. If receivingdomain.com is not a domain being fielded by the receiving system, and the system does not allow relaying to receivingdomain.com, an error code will be returned.&lt;br /&gt;&lt;br /&gt;Type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;data&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This begins the actual message. Optionally, From:, To:, and BCC: can be entered at this time (to be covered in a future article).&lt;br /&gt;&lt;br /&gt;Type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;subject: Test message via Telnet&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Type a blank line - this denotes the end of the subject and the beginning of the message body.&lt;br /&gt;&lt;br /&gt;Type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;This is a test&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;Please reply if received&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Type a blank line&lt;br /&gt;Type a period (".") and press Enter - this marks the end of the message body. The receiving system will understand and return a prompt.&lt;br /&gt;Type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;quit&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This ends the Telnet session and you will be returned to the OS prompt.&lt;br /&gt;&lt;br /&gt;If everything has gone well, the message will be on its way to the recipient address. Give it a minute and check. You now know how to manually create and send an SMTP message! This can be a great troubleshooting tool, as you will receive reponses and acknowledgements from the receiving system that can aid in diagnosing a communication problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-5729658210530832598?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/5729658210530832598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=5729658210530832598' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5729658210530832598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5729658210530832598'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/using-telnet-to-simulate-server.html' title='Using Telnet to simulate server communication'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-3758866166057404693</id><published>2007-06-08T07:29:00.000-07:00</published><updated>2009-12-05T13:32:34.122-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Using NSLookup to determine an SMTP receiving system</title><content type='html'>&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;NSLookup is a great tool that comes with Windows that allows you to search DNS for information. &amp;amp;nbspIt is especially useful to troubleshoot particular issues with Exchange. &amp;amp;nbspExchange is reliant upon DNS to know where to send outbound messages. &amp;amp;nbspWhen Exchange has problems getting messages to a particular domain, it's time to open the toolbox.&lt;br /&gt;&lt;br /&gt;The best place to run NSLookup is on the server which sends out your SMTP traffic. &amp;amp;nbspThis will show you the same information that your SMTP engine uses when determining where to send mail to a particular domain.&lt;br /&gt;&lt;br /&gt;Open a command prompt window&lt;br /&gt;At the prompt, type &lt;span style="font-family:courier new;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:130%;"&gt;nslookup&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;Type the command&lt;b&gt;&lt;i&gt; &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;set &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;em&gt;&lt;strong&gt;type=mx&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Type the registered domain name (e.g. &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;domain.com&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;You will receive a response similar to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;Non-authoritative answer:&lt;br /&gt;domain.com MX preference = 10, mail exchanger = mail1.domain.com&lt;br /&gt;domain.com MX preference = 20, mail exchanger = mail2.domain.com&lt;br /&gt;domain.com MX preference = 30, mail exchanger = mail3.domain.com&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;Interpreting the NSLookup results&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Your SMTP engine will attempt to use the MX records in ascending order according to their value. &amp;amp;nbspThe name associated with the MX record is what your engine will use. &amp;amp;nbspYou can simulate what the engine does by using the Telnet command. &amp;amp;nbspIn other words, the FQDN associated with the lowest numbered MX value would be the one that your SMTP engine would attempt to connect with.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;Using the NSLookup results to test connectivity&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;In the simulated response shown above, you can test the readiness for receiving SMTP communications by using the Telnet command. &amp;amp;nbspIn a command-prompt window, type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;em&gt;&lt;strong&gt;telnet mail1.domain.com 25&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;. &amp;amp;nbspIf the system connected to the FQDN is accepting SMTP communications, you’ll receive a response.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-3758866166057404693?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/3758866166057404693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=3758866166057404693' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3758866166057404693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3758866166057404693'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/using-nslookup-to-determine-smtp.html' title='Using NSLookup to determine an SMTP receiving system'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-6400703337452671600</id><published>2007-06-07T20:52:00.000-07:00</published><updated>2007-06-07T21:08:48.336-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>DNS Root Servers</title><content type='html'>&lt;strong&gt;What are the root servers?&lt;/strong&gt; These are the DNS servers from which all others get information.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why would anyone care?&lt;/strong&gt; To verify the information other mail systems see when trying to reach your SMTP domain.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How do I use the information?&lt;/strong&gt; You can force NSLookup to poll a particular DNS server by using the command:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;server ip_address &lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;or &lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;&lt;em&gt;server fqdn&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As an example, open a command prompt window&lt;br /&gt;At the prompt, type &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;strong&gt;&lt;em&gt;nslookup&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Type the command &lt;em&gt;&lt;strong&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;set type = mx&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;Type the command &lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;em&gt;&lt;strong&gt;server a.root-servers.net&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Type the registered domain name (e.g. &lt;em&gt;&lt;strong&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;domain.com&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;You have requested the MX information for domain.com directly from one of the DNS root servers.&lt;br /&gt;&lt;br /&gt;Here is IP information for the thirteen (13) root servers.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a.root-servers.net &amp;nbsp&amp;nbsp198.41.0.4&lt;br /&gt;b.root-servers.net &amp;nbsp&amp;nbsp192.228.79.201&lt;br /&gt;c.root-servers.net &amp;nbsp&amp;nbsp192.33.4.12&lt;br /&gt;d.root-servers.net &amp;nbsp&amp;nbsp128.8.10.90&lt;br /&gt;e.root-servers.net &amp;nbsp&amp;nbsp192.203.230.10&lt;br /&gt;f.root-servers.net &amp;nbsp&amp;nbsp192.5.5.241&lt;br /&gt;g.root-servers.net &amp;nbsp&amp;nbsp192.112.36.4&lt;br /&gt;h.root-servers.net &amp;nbsp&amp;nbsp128.63.2.53&lt;br /&gt;i.root-servers.net &amp;nbsp&amp;nbsp192.36.148.17&lt;br /&gt;j.root-servers.net &amp;nbsp&amp;nbsp192.58.128.30&lt;br /&gt;k.root-servers.net &amp;nbsp&amp;nbsp193.0.14.129&lt;br /&gt;l.root-servers.net &amp;nbsp&amp;nbsp198.32.64.12&lt;br /&gt;m.root-servers.net &amp;nbsp&amp;nbsp202.12.27.33&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The complete information can be found at the website: &lt;span style="font-family:courier new;"&gt;&lt;a href="http://www.root-servers.org"&gt;http://www.root-servers.org&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-6400703337452671600?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/6400703337452671600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=6400703337452671600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/6400703337452671600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/6400703337452671600'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/dns-root-servers.html' title='DNS Root Servers'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-7556707684252601657</id><published>2007-06-03T19:50:00.000-07:00</published><updated>2007-06-04T13:34:05.934-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Missing messages - Part 4</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;font-size:180%;"&gt;&lt;strong&gt;&lt;em&gt;The message was delivered to the mailbox - where did it go?&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This is the most common scenario [I mean, speaking as one Exchange Admin to another - what else could it be? ;) ]. &amp;nbspAs a personal aside, your goal is to figure out what happened and calmly point it out to the user. &amp;nbspThe user will likely feel embarrassed already - no need to editorialize or lecture.&lt;/p&gt;&lt;p&gt;As discussed in Part 1, a successful message delivery typically means one of the following:&lt;/p&gt;&lt;p&gt;- &amp;nbspIt reached the mailbox and was segregated or deleted by a system function&lt;/p&gt;&lt;p&gt;- &amp;nbspIt reached the mailbox and was segregated or deleted by a client function&lt;/p&gt;&lt;p&gt;- &amp;nbspIt reached the mailbox and was segregated or deleted by a user function&lt;/p&gt;&lt;p&gt;- &amp;nbspIt reached the mailbox and was manually segregated or deleted&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;System function typically means forwarding configured in AD&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;To check for forwarding, open the Users &amp;amp; Computers console (ADUC) and open the properties of the recipient's object. &amp;nbspOn the Exchange General tab go to Delivery Options. &amp;nbspAny forwarding configured at the Active Directory level will appear there.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;Client functions include anti-virus/anti-spam filtering, and directing new messages to a personal folder&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Check the console and logs of any 3rd-party anti-virus and anti-spam software. &amp;nbspCheck the Junk E-mail folder in the user's mailbox.&lt;/p&gt;&lt;p&gt;Check all workstations this user logs on to for a profile that directs all new messages to a Personal Folder instead of to the mailbox.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;User functions include rules, auto-archiving, and viewing filters&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Check for and disable any viewing filters in Outlook (View--&gt;ArrangeBy--&gt;Custom)&lt;/p&gt;&lt;p&gt;Check for auto-archiving (File--&gt;Archive), look in all Personal folders listed in the Outlook profile. &amp;nbspSearch for all PST files on the local drive and all mapped drives.&lt;/p&gt;&lt;p&gt;Check for rules (Tools--&gt;Rules and Alerts)&lt;/p&gt;&lt;p&gt;If the ruleset is empty, there is still a possibility that something formerly in rules is still acting on messages. &amp;nbspTo make sure, close Outlook, then launch it again from a command line using the /cleanrules switch (e.g. outlook.exe /cleanrules)&lt;/p&gt;&lt;p&gt;If the ruleset is not empty and you wish to keep them, you can export the set to a file then import again later.&lt;/p&gt;&lt;p&gt;Remember that the Out Of Office function can also have rules. &amp;nbspIf OOO is enabled, make sure you check that configuration for rules.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Manual processes initiated by the user&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Look for and search any PST files in the Outlook profile and on the local drive.&lt;/p&gt;&lt;p&gt;Look in the Deleted Items folder. &amp;nbspLook at the Recover Deleted Items area.&lt;/p&gt;&lt;p&gt;Search the other folders for items which were &lt;a href="http://exchangeguy.blogspot.com/2007/04/recover-shift-deleted-items.html"&gt;Shift-Deleted&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-7556707684252601657?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/7556707684252601657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=7556707684252601657' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7556707684252601657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7556707684252601657'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/missing-messages-part-4.html' title='Missing messages - Part 4'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-3123166098487721676</id><published>2007-06-03T19:47:00.000-07:00</published><updated>2007-06-04T13:32:23.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Missing messages - Part 3</title><content type='html'>&lt;span style="font-family:arial;font-size:180%;"&gt;&lt;strong&gt;&lt;em&gt;Message Tracking sees the message, but it was not delivered to the mailbox&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If Message Tracking (MT) has a record of the messsage in question, Exchange has received it. &amp;nbspIf it does not reach the mailbox, the message is typically:&lt;br /&gt;- &amp;nbspstuck in a queue&lt;br /&gt;- &amp;nbspstuck in a routing loop&lt;br /&gt;- &amp;nbspsegregated by anti-virus/anti-spam filtering&lt;br /&gt;&lt;br /&gt;You can often gain insight as to what is happening by reading through the audit trail of the message in MT.&lt;br /&gt;&lt;br /&gt;Search the local and inter-server queues on all your servers. &amp;nbspIf found, try manually releasing it and see what happens.&lt;br /&gt;&lt;br /&gt;Check the logs of any 3rd-party anti-virus and anti-spam software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-3123166098487721676?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/3123166098487721676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=3123166098487721676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3123166098487721676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3123166098487721676'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/missing-messages-part-3.html' title='Missing messages - Part 3'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-5953405920536355039</id><published>2007-06-03T19:42:00.000-07:00</published><updated>2007-06-04T13:31:24.341-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Missing messages - Part 2</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;font-size:180%;"&gt;&lt;strong&gt;&lt;em&gt;Message Tracking does not find the message I was expecting, where could it be?&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This situation calls for additional sleuthing. &amp;nbspYou need to understand your messaging environment and all the systems a message passes through on its way to the Exchange server. &amp;nbspIdentify each and check any available logs. &amp;nbspConfiguration and operation of routers, firewalls, mail gateways, even managed layer-3 switches can have an effect on inbound mail.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;How widespread is this issue? &amp;nbspDoes it affect all inbound messages, a significant number of inbound messages, or a small number of inbound messages? &amp;nbspLook for any consistencies (sending domain, sending address, receiving address).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Test inbound routing by sending yourself a message from an outside mail system (e.g. Yahoo, Hotmail, gMail). &amp;nbspTest by sending the affected user a message from that same outside system.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;This scenario can get very complicated and vary greatly from environment to environment because you are dealing with any number of different devices and configurations. &amp;nbspTake it systematically, start at the outside and work your way in.  Test each step, raise logging levels if necessary.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-5953405920536355039?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/5953405920536355039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=5953405920536355039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5953405920536355039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/5953405920536355039'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/missing-messages-part-2.html' title='Missing messages - Part 2'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-3784423621388253994</id><published>2007-06-03T19:37:00.000-07:00</published><updated>2007-07-18T06:28:57.656-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Missing messages - Part 1</title><content type='html'>&lt;span style="font-family:arial;font-size:180%;"&gt;&lt;strong&gt;&lt;em&gt;How to start&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have been approached many times by users claiming that they never received a particular Email message.  So where does one start looking?  Most of the following scenarios have happened to me.  The rest are follow-up thoughts of my own.&lt;br /&gt;&lt;br /&gt;I start by asking my user some questions:&lt;br /&gt;-  What was the sending address?&lt;br /&gt;-  Approximately what time was the message sent?&lt;br /&gt;-  Are you seeing other messages arrive?&lt;br /&gt;-  If necessary may I open your mailbox to investigate?&lt;br /&gt;&lt;br /&gt;I could also ask if the sender received a "bounce" message (a.k.a. Non-Delivery Report, a.k.a. NDR), but that tends to take extra coordinative effort.  It's easier to assume that the sender is fine and to search for issues in the environment you can control (i.e. your own).  Prove your own system sound before trying to look for causes outside.  Show that you want to solve problems and not look for someone to blame.&lt;br /&gt;&lt;br /&gt;Armed with this information, let's consider some possibilities:&lt;br /&gt;1.  It never reached our systems&lt;br /&gt;2.  It reached our systems but did not reach Exchange&lt;br /&gt;3.  It reached Exchange but was not delivered to the recipient's mailbox&lt;br /&gt;4.  It reached the recipient's mailbox but does not appear in the client software&lt;br /&gt;&lt;br /&gt;The list is sorted according to message flow, but that does not mean you have to investigate in the same order.&lt;br /&gt;&lt;br /&gt;The first question I ask myself is, does Exchange think it was delivered to the recipient's mailbox?  Most of the time I find that the message did in fact reach the recipient's mailbox and something was done to it either automatically or manually.&lt;br /&gt;&lt;br /&gt;Use Message Tracking (MT) to confirm whether the message was delivered. Use the information obtained from the user as the search parameters.  If MT finds the message (regardless of outcome), rule out #1 and #2.  If MT reports "Message delivered locally to store", it reached the recipient ruling out #3.&lt;br /&gt;&lt;br /&gt;At this point, let's break the investigation into three parts.&lt;br /&gt;&lt;br /&gt;If you cannot find the message in MT, continue with Part 2, &lt;em&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;&lt;a href="http://exchangeguy.blogspot.com/2007/06/missing-messages-part-2.html"&gt;Message Tracking does not find the message I was expecting, where could it be?&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;If MT finds the message, but reports something other than "delivered locally", continue with Part 3, &lt;em&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://exchangeguy.blogspot.com/2007/06/missing-messages-part-3.html"&gt;Message Tracking sees the message, but it was not delivered to the mailbox&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;If MT does not find the message, continue with Part 4, &lt;strong&gt;&lt;em&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://exchangeguy.blogspot.com/2007/06/missing-messages-part-4.html"&gt;The message was delivered to the mailbox - where did it go?&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-3784423621388253994?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/3784423621388253994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=3784423621388253994' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3784423621388253994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/3784423621388253994'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/06/missing-messages-part-1.html' title='Missing messages - Part 1'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-7110021853350471475</id><published>2007-05-26T06:26:00.000-07:00</published><updated>2007-05-26T06:36:14.872-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Public Folders'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Exchange 5.5 Public Folder Tools</title><content type='html'>This isn't much of a post, but some people may find it useful.  I was searching for the old PFInfo and PFAdmin tools for someone in a forum.  All of the hits in my Google searching seemed to be similar queries from people trying to find the old utilities, and no reference to any online sources.  The only solutions were that they were supposed to be on the Exch5.5 install CD, or that you had to call Microsoft PSS to get them.&lt;br /&gt;&lt;br /&gt;I muddled through and finally came across a reference to our good friends at MSExchangeTeam.com and I knew I was on the right track.  I can't take any credit for this, other than to say I persevered.  Hopefully future search engine inquiries will find my post and this old lost tool won't be so hard to track down.&lt;br /&gt;&lt;br /&gt;For those curious what the big deal is, the newer tool (PFDAVAdmin) doesn't work with Exchange 5.5.  If you deal with Public Folder permissions, I strongly advise you check out these tools.  They can save you a lot of time.&lt;br /&gt;&lt;br /&gt;Finally, without further ado, links to all the tools can be found at: &lt;a href="http://msexchangeteam.com/archive/2004/11/05/252979.aspx"&gt;http://msexchangeteam.com/archive/2004/11/05/252979.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-7110021853350471475?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/7110021853350471475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=7110021853350471475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7110021853350471475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/7110021853350471475'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/05/exchange-55-public-folder-tools.html' title='Exchange 5.5 Public Folder Tools'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-6410551002703877195</id><published>2007-04-21T11:41:00.000-07:00</published><updated>2007-04-21T11:41:41.104-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deleted items'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><title type='text'>Recover Shift-Deleted items</title><content type='html'>I've had several Outlook users come to me asking to recover messages they've just accidentally deleted. When asked, they confess to have used Shift-Delete (permanent delete). What to do?&lt;br /&gt;&lt;br /&gt;Outlook has the feature of being able to Recover Deleted Items, but by default it is only active for the Deleted Items folder. All other folders show the selection under the Tools menu grayed-out.&lt;br /&gt;&lt;br /&gt;Through the registry on a workstation, you can configure Outlook to allow Recover Deleted Items for any folder.&lt;br /&gt;&lt;br /&gt;1. Exit Outlook (if open)&lt;br /&gt;2. Launch the Registry Editor (regedit or regedt32)&lt;br /&gt;3. Expand HKLM\Sofware\Microsoft\Exchange\Client\Options&lt;br /&gt;4. In the right pane, if there is a DWORD entry named DumpsterAlwaysOn, skip to step 7&lt;br /&gt;5. Go to Edit--&gt;New--&gt;DWORD Value&lt;br /&gt;6. Without any spaces, type the name DumpsterAlwaysOn&lt;br /&gt;7. Set the DWORD value to 1 (value of 0 disables the feature)&lt;br /&gt;8. Exit the registry editor&lt;br /&gt;9. Launch Outlook&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-6410551002703877195?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/6410551002703877195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=6410551002703877195' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/6410551002703877195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/6410551002703877195'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/04/recover-shift-deleted-items.html' title='Recover Shift-Deleted items'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-4330486744089824899</id><published>2007-04-21T11:40:00.001-07:00</published><updated>2007-04-21T11:40:48.367-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Gathering password change dates</title><content type='html'>This came about when my IT staff was tasked with preparing the company for mandatory password changes forced by Group Policy. We wanted to give everyone a chance to change their password once before the GPO locked them out of their accounts. For several weeks I had to gather all the password information to see who we needed to talk to.&lt;br /&gt;&lt;br /&gt;I also wanted a distributable report, so I read up on populating Excel spreadsheets from the Microsoft Script Center website (see my links section). I included some pretty-print features like autoformatting the column widths, making the column headings bold, and performing a sort on the data.&lt;br /&gt;&lt;br /&gt;The script has duplicate sections to pull data out of different OUs. You can add or remove as many of this section as desired. Just change the LDAP section to point to the appropriate place in your AD forest.&lt;br /&gt;&lt;br /&gt;Copy and paste the following into a file named PASSWORDDATES.VBS then edit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* This script creates an Excel spreadsheet showing users and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* their last password change date. &lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Running this script assumes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* you have MS-Excel loaded on t&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;he workstation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* - Dean T. Uemura&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;br /&gt;'* Execute the script by typing:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* CSCRIPT PASSWORDDATES.VBS at a command line prompt&lt;br /&gt;'* PasswordFile holds the name of the spreadsheet and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* will be saved in &lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;My Documents&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Const PasswordFile = "passwords.xls"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;set objFSO = CreateObject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;set objExcel = CreateObject("Excel.Application")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Workbooks.Add&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* Establish Header Row - make them 12-point bold &lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;print&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(1,1).Value = "User"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(1,2).Value = "Location"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(1,3).Value = "Password Date"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;set objRange = objExcel.Range("A1:C1")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objRange.Font.Size = 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objRange.Font.Bold = TRUE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;br /&gt;iWriteRow = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;on error resume next&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;br /&gt;'* Each user OU is done separately in this script&lt;br /&gt;wscript.echo "OU1"&lt;br /&gt;set objOU = GetObject("&lt;/span&gt;&lt;a href="ldap://ou=OU1,dc=mydomain,dc=com/"&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;LDAP://ou=OU1,dc=mydomain,dc=com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;")&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objOU.Filter = Array("user")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;for each objUser in objOU&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;iwriteRow = iwriteRow + 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* wscript.echo objuser.name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;dtmValue = objUser.PasswordLastChanged&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(iWriteRow,1).Value = objUser.Name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(iWriteRow,2).Value = "OU1"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(iWriteRow,3).Value = dtmValue&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;next&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;br /&gt;wscript.echo "OU2"&lt;br /&gt;set objOU = GetObject("&lt;/span&gt;&lt;a href="ldap://ou=OU2,dc=mydomain,dc=com/"&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;LDAP://ou=OU2,dc=mydomain,dc=com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;")&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objOU.Filter = Array("user")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;for each objUser in objOU&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;iwriteRow = iwriteRow + 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;'* wscript.echo objuser.name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;dtmValue = objUser.PasswordLastChanged&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(iWriteRow,1).Value = objUser.Name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(iWriteRow,2).Value = "OU2"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;objExcel.Cells(iWriteRow,3).Value = dtmValue&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;next&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;br /&gt;'* Autofit the column widths&lt;br /&gt;set objRange = objExcel.Range("A1")&lt;br /&gt;objRange.activate&lt;br /&gt;set objRange = objExcel.ActiveCell.EntireColumn&lt;br /&gt;objRange.Autofit()&lt;br /&gt;set objRange = objExcel.Range("B1")&lt;br /&gt;objRange.activate&lt;br /&gt;set objRange = objExcel.ActiveCell.EntireColumn&lt;br /&gt;objRange.Autofit()&lt;br /&gt;set objRange = objExcel.Range("C1")&lt;br /&gt;objRange.activate&lt;br /&gt;set objRange = objExcel.ActiveCell.EntireColumn&lt;br /&gt;objRange.Autofit()&lt;br /&gt;&lt;br /&gt;'* Sort by Location then Dateset&lt;br /&gt;objRange = objExcel.Range("A1").SpecialCells(11)&lt;br /&gt;set objRange2 = objExcel.Range("B1")&lt;br /&gt;set objRange3 = objExcel.Range("C1")&lt;br /&gt;objRange.Sort objRange2,,objRange3,,,,,1&lt;br /&gt;&lt;br /&gt;'* Save the Spreadsheet file&lt;br /&gt;set objWorkbook = objExcel.ActiveWorkbook&lt;br /&gt;objWorkbook.SaveAs(PasswordFile)&lt;br /&gt;objExcel.Quit&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-4330486744089824899?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/4330486744089824899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=4330486744089824899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4330486744089824899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4330486744089824899'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/04/gathering-password-change-dates.html' title='Gathering password change dates'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-425966386352251311.post-4569547738475894136</id><published>2007-04-21T11:39:00.000-07:00</published><updated>2007-04-21T11:39:57.344-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='command prompt'/><title type='text'>Command Prompt window tips</title><content type='html'>&lt;strong&gt;Tip#1 - Entering a path+file into a command line&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;I find myself occasionally pining for the old MS-DOS days of typing everything from a command prompt. Then I have to type in a command with a long path and file embedded and I snap back to the present time. Here's a tip I paid for - actually I got it during a call I'd put in to Microsoft's PSS (Exchange) and this was something I was directed to do by the PSS Engineer.&lt;br /&gt;&lt;br /&gt;1. Open a command prompt window (CPW)&lt;br /&gt;2. Open Windows Explorer and drill down to a subfolder (say in My Documents)&lt;br /&gt;3. Position the two windows so that when Explorer has focus, you can see at least part of the CPW&lt;br /&gt;4. Click on the desired file and drag it to the CPW&lt;br /&gt;&lt;br /&gt;Look at the CPW. You'll see the entire path+file, and if there are any embedded spaces, the entire thing is surrounded by double-quote marks! The entry gets inserted at the cursor location, so you can even place it in the middle of a typed command.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tip#2 - Command history&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you're like me, you occasionally run into a situation where you have to repeat commands, not always in the same order. There's always the up-arrow and down-arrow to scroll through the previous commands, but there's got to be a better way right? Especially if you need to repeat a command you typed ten lines ago, then have to redo the one you just did.&lt;br /&gt;&lt;br /&gt;Did you know that from earlier days of MS-DOS, there was a history buffer? I didn't until I was in another PSS call. With the focus on a Command Prompt window, the F7 key displays your history, and all commands are accessible by scrolling up and down with the arrow keys. Pressing Enter on any of them repeats the command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/425966386352251311-4569547738475894136?l=exchangeguy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exchangeguy.blogspot.com/feeds/4569547738475894136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=425966386352251311&amp;postID=4569547738475894136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4569547738475894136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/425966386352251311/posts/default/4569547738475894136'/><link rel='alternate' type='text/html' href='http://exchangeguy.blogspot.com/2007/04/command-prompt-window-tips.html' title='Command Prompt window tips'/><author><name>Dean T. Uemura</name><uri>http://www.blogger.com/profile/12545002231016283133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
