What’s my name! What’s my name!

In another episode of my IT world, I ran into this really strange error. (Okay, not so strange considering that others have had it happen to them too). Here’s the error: We have an Exchange 2003 server, and various domain controllers, and a terminal server. When I created a user (John Doe for example) on a domain controller (2003 R2), I also marked it so that it’ll create an Exchange mailbox. BUT IT DIDN’T! I waited and waited, even to the next day. The next day, I decided to manually create the x.400 and the SMTP entries. Did that. Went to TS and logged in as user. OK. Went to Outlook (package deployment to automatically specify the Exchange server)… FAILED! This is the error message: the name could not be resolved. the name could not be matched to a name in the address list

Double checked the server and credentials and everything checked out fine! What is going on?! I’m not using RPC over HTTP, just native Exchange mode! I even tried rebooting the Exchange server and domain controller! [research research, google’d and bing’d it up] I even tried using ADSIEdit (GASP!) and findin the variable showInAddressBook and making sure the values were set properly. Went into advance options in ADUC to the security tab to make sure the user was inheriting permissions from their parents. Checked to make sure that the checkbox “Hide in GAL” was unchecked. All seems okay.

It turns out the problem is a RUS replication problem!!!!

  1. Click Start, point to Programs, point to Microsoft Exchange, and then click System Manager.
  2. Double-click Recipients, and then click Recipient Update Services.
  3. In the right pane of the Exchange System Manager window, right-click Recipient Update Service (Enterprise Configuration), and then click Properties.
  4. Verify that a valid Exchange server name appears in the Exchange server box. If the server name does not appear, or if the one that appears is incorrect, click Browse. In the Select Exchange Server dialog box, click a valid Exchange server in the site, click OK, and then click OK again.
    1. In my entry, I noticed it was pointing to the OTHER Exchange server. I changed it to the one that has the user account (the primary Exchange server).
  5. In the right pane, right-click Recipient Update Service (Enterprise Configuration), and then click Rebuild.
  6. Click Yes to confirm the rebuild operation.
  7. In the right pane of the Exchange System Manager window, right-click Recipient Update Service (domain), where domain is the name of your domain, and then click Properties.
  8. Verify that a valid Exchange server name appears in the Exchange server box. If the server name does not appear, or if the name that appears is incorrect, click Browse. In the Select Exchange Server dialog box, click a valid Exchange server in the site, click OK, and then click OK again.
    1. Again, I noticed it was pointing to the OTHER Exchange server. I changed it to the one that has the user account (the primary Exchange server).
  9. Right-click Recipient Update Service (domain), where domain is the name of your domain, and then click Rebuild. Click Yes to confirm the rebuild operation.
  10. Right-click Recipient Update Service (domain), where domain is the name of your domain, and then click Update Now.
  11. Quit the Exchange System Manager.
  12. ************** WAIT FOR REBUILDING! *************
  13. Check user in ADUC for her email properties. Now it doesn’t even show the email tabs. I right clicked the user and selected Exchange Tasks and created a mailbox.
  14. Started up Exchange Server Manager to make sure there’s a mailbox for the user…. And…
  15. VOILA!

So yes, that was that. There’s a few things to check before you go and rebuild your entire RUS. I highly recommend you check it BEFORE you rebuild. Rebuilding does take some time (and the popup box says hours?! GASP!).

BTW – Did you back up your Exchange server? When was your last FULL BACKUP? Did you try practicing restoring a mailbox? Just some things to do when you have time… even when you don’t have time. Never know when you’ll need to do it! Might as well be super familiar with it BEFORE a catastrophe! 🙂

*Reference articles:

Exchange Recipient Update Service fails to process accounts and MSExchangeAL 8151 event logged: http://support.microsoft.com/default.aspx?scid=kb;en-us;322313

How to work with Exchange Recipient Update Service: http://support.microsoft.com/kb/319065

Troubleshooting Active Directory replication problems: http://articles.techrepublic.com.com/5100-10878_11-5098469.html

Virtualizing my SharePoint server….

Going green… and just jumping into the hype, I’ve giving myself the project of taking our company physical server that houses the SharePoint site and … virtualizing it. The old server was a Dell PE 2500 with a whoooping one CPU 1.00 GHz processor. Ha! I laugh cuz the machine I’m typing on is dual dual core and a ton of RAM. My how technology has been speeding along!

Anyways. Before I started the project, I did the typical. Backup twice, practice restoring it, back up again. Everyone, I know it’s been said but I keep finding people doing projects and jumping into them without first backing up AND testing your backup. Backups FAIL and you don’t want to be in the server room at night!!!! So with all the precautions in place, I proceeded and… ::drum roll please:: succeeded! Okay okay, most of my projects usually succeed (cause my job depends on it! Ha!). While researching the process, I noticed that a LOT of people are trying the same thing and failing at certain steps. So I decided to document my steps to virtualize my server and hopefully someone can get some benefit out of it.

QUICK NOTE: If your server is called server1 and you created the Sharepoint site already, it’s tedious to change the server name to something else (like server2) and reconnect the dbase and other connecting points. It’s quicker to reinstall the entire server (less than an hour).

  1. Preform backup of the existing sharepoint site using the sharepoint central admin interface.
  2. Restore the Windows SharePoint Services Web Application – default site port 80. If you already created a site in Sharepoint, you’ll have to use the existing db. Otherwise, you’ll have to make a new one.
  3. You’ll notice the failure on WSS_Content. Object WSS_Content failed in event OnPostRestore. For more information, see the error log located in the backup directory. SPException: Cannot attach database to Web application. Use the command line tool or Central Administration pages to attach the database manually to the proper Web Application.
  4. When you see that error message, that means that you MUST USE THE STSADM command line utility from the SharePoint site to upgrade the existing SharePoint to the latest. The GUI will NOT work. Stsadm is located at the following path on the drive where SharePoint Products and Technologies is installed: %COMMONPROGRAMFILES%\microsoft shared\web server extensions\12\bin. You must be an administrator on the local computer to use Stsadm.
  5. General command line that I found online:
    • copied a production site this way: stsadm -o backup -url http://myproductionserver -filename myproductionsite.cab
    • create a new empty website with the administrator web on the same server using another IP port number or another server like: http://testserver or http://productionserver:12345 (You can do that with stsadm)
    • then i restore the backup file: ststadm -o restore -url http://testserver -filename myproductionsite.cab -overwrite
    • Maybe a iisreset may be needed in between the creation or the restore.
  6. Use that same restore command: ststadm -o restore -url http://testserver -filename myproductionsite.cab -overwrite
  7. SharePoint server has been moved from a physical server to a virtual server.  Since it’s different server name and different IP address, I modified the DNS entry on the domain. Requests to the old SharePoint server will be directed to the new one.
  8. VOILA!

That’s that! Going from a MS Windows Server 2003 physical machine to a MS Windows Server 2008 virtual machine. Hope everyone finds it helpful!