Converting Legacy Mailboxes in Exchange 2007

1 Comment

Hi All,

If you’re migrating from Exchange 2000/2003 to 2007/2010 you may well end up with some mailboxes that appear as Legacy Mailbox within the EMC… something like…

You’ll also see Legacy Mailboxes if you use the Exchange 2000/2003 extensions in Active Directory Users and Computers console to create new mail users.  [This isn’t supported and you should use the EMC or EMS]

Converting a Legacy Mailbox to a User Mailbox is simple.  Load the EMS and enter the following cmdlet

Set-Mailbox <alias> – ApplyMandatoryProperties

So for the example above…

Set-Mailbox spar –ApplyMandatoryProperties

Now if you’ve a whole heap of mailboxes you need to convert you won’t want to do them one mailbox at a time, so use the following which will get all the LegacyMailbox mailboxes and pipe them into the above cmdlet

get-mailbox – Server “ServerName” -RecipientTypeDetails:LegacyMailbox | Set-Mailbox –ApplyMandatoryProperties

The “ServerName” in the above command should be the name of your Exchange 2007/2010 where the legacy mailboxes are located.

Hope you find this useful!

n3ilb

Message header information in Outlook 2010

Leave a comment

Hi All,

In days gone by in Outlook 2003 and 2007 if you wanted to look at the message header information for an email you just right-clicked on the message in question and selected Message Options…

In Outlook 2010…

Double-click the message in question so it opens in its own Windows (i.e. not in the preview pane), click the File tab and the click the Properties button.

Easy when you know how! 🙂

n3ilb

User mailbox quota limit changes may take up to 2 hours to take effect…

14 Comments

Hi All,

I came across this problem recently…  A user had hit their Send Quota limit on their mailbox and was unable to send any emails (and refused to clean up their mailbox).  So being the nice sys admin I am I upped their send limit and sent them away with the standard give that 15 mins, and retry…  15 mins later they were back at my desk still unable to send.

I always knew that quota changes wouldn’t take effect straight away but I didn’t know how long it was before it did, and past experience told me it seemed to vary.  So I decided I’d find out once and for all and came across this technet article that explains how long it takes, why, and how to reduce it if you want. 

By default (for Exchange 2007) it can take up to 2 hours for the change to be picked up by Exchange.  The information store (IS) service is responsible for enforcing mailbox size limits and uses a mailbox information cache to hold data on the mailbox including quota limits.  The IS refreshes this cache every 2 hours… So worse case the IS may have just carried out a refresh before you adjusted the mailbox limits and you’re set for a 2 hour wait.  Of course you may get lucky and the refresh could occur just a few minutes after you adjust the limit.

Adjusting the refresh period involves creating some registry keys and restarting the Exchange IS service (which will disconnect clients from their mailboxes).  Full details are given in the technet article but to summarise… 

  1. Load regedit (running as a user with Exchange Server Admin rights and Admin rights on the server).
  2. Go to HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
  3. Create a new DWORD value “Reread Logon Quotas Interval” (without the quotes) and give it a decimal value of 1200 (that’s 20 minutes in seconds)
  4. Still under the key ParametersSystem create a new DWORD value “Mailbox Cache Age Limit” and give it a decimal value of 20.  It makes sense to keep this age limit the same as the refresh interval in point 3 above.
  5. Restart the Exchange IS.

 

The technet article has an additional step of creating a registry key for adjusting the expiration interval for user object data, however this by default is 5 minutes which I think is short enough and the article states reducing this may impact Exchange server performance. 

Hope you find this useful, I’d recommend only changing the interval if you find you’re frequently having to increase mailbox quotas!!

n3ilb

Exchange 2010 RMT & SP1 Prereqs…

2 Comments

On Server 2008 R2

Powershell with Admin Rights

Import-module ServerManager

Client Access Server

Set-Service NetTcpPortSharing -StartupType Automatic

Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy –Restart

Hub Transport Server

Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server –Restart

Install2007 Office System Converter: Microsoft Filter Pack – http://go.microsoft.com/fwlink/?linkid=137042

Mailbox Server

Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server –Restart

Install2007 Office System Converter: Microsoft Filter Pack – http://go.microsoft.com/fwlink/?linkid=137042

Edge Transport Server

Add-WindowsFeature NET-Framework,RSAT-ADDS,ADLDS -Restart

Installing the telnet client – useful to test mail relaying on the Hub and Edge Transport servers

Add-WindowsFeature Telnet-Client


Vista SP1 is a prereq for Vista SP2

Leave a comment

<RANT>

Come on, what’s this about…

“Service Pack 1 is a prerequisite for installing Service Pack 2. Please make sure that your system is running Service Pack 1 before you install Service Pack 2” as seen here (http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a4dd31d5-f907-4406-9012-a5c3199ea2b3)

I’m really not impressed by this, mostly because I’ve been running the RTM version of Vista since the 1st attempt at installing SP1 onto it killed my machine. So I had been looking forward to trying out SP2… so now to get my machine up to SP2 I’ve to apply 2 service packs!!!

I say again… I’m not impressed!!!

I’m sure the idea is to keep SP2 as small as possible, but to be honest I’d rather have a single bigger download to deal with rather than having to download twice and install twice.

</RANT>

N3ilb

Listing all SMTP addresses for users in Exchange 2007

Leave a comment

Here follows some EMS code to list all SMTP addresses in Exchange 2007… really rather useful!!

Get-Mailbox -ResultSize “Unlimited” | select name, EmailAddresses | foreach {

“Name: “+$_.name

$_.EmailAddresses | foreach {

if($_.SmtpAddress){

if($_.IsPrimaryAddress){

“Primary SmtpAddress: $($_.SmtpAddress)”

} else {

“SmtpAddress: $($_.SmtpAddress)”

}

}

}

write-output “”

} > c:\Addresses.txt

 

And if you only want mailbox info for users in a specific OU then add

-OrganizationalUnit “Distinguished Name of OU”

To the command, so…

Get-Mailbox -ResultSize “Unlimited” -OrganizationalUnit “OU=OUNAME,DC=MyDomain,DC=Com” | select name, EmailAddresses | foreach {

“Name: “+$_.name

$_.EmailAddresses | foreach {

if($_.SmtpAddress){

if($_.IsPrimaryAddress){

“Primary SmtpAddress: $($_.SmtpAddress)”

} else {

“SmtpAddress: $($_.SmtpAddress)”

}

}

}

write-output “”

} > c:\Addresses.txt

Hope you find this useful!

N3ilb

Using the example keyword lists with Forefront for Exchange

Leave a comment

If you’re planning to use Forefront for Exchange (FfE) to filter emails for profanity then you can save a bit of time and effort and use the example keyword list that ships with FfE instead of creating your own.

The example keyword lists must be installed manually after installing FfE on the Hub Transport server and then imported into a keyword list you create… so…

  1. On the server with FfE installed browse to “C:\Program Files (x86)\Microsoft Forefront Security\Exchange Server” and double-click on “KeywordInstaller.MSI”, Next à Check “I agree and…” and click Next, from the options available select the languages you want à Next à Install à Finish.

     

  2. Within the Forefront Server Security Administrator console (FSSAc) select FILTERING à Filter Lists à List Types: Keywords. As shown below…

  3. Select Add and give your list a name. As shown below…

  4. With the list you created selected click Edit to launch the list editor.

     

  5. Within the list editor click Import, browse to “C:\Program Files (x86)\Microsoft Forefront Security\Exchange Server\Data\Example Keywords” and select the appropriate file from those you selected to install in step 1 above.

     

  6. Click the <=== button to move the imported text into the ‘Includes in Filter’ selection list and click OK à OK.

     

At this point you’ve now got a profanity list setup but you now need to make sure its used…

  1. Within the FSSAc click FILTERING à Keyword à select Transport Scan Job.

     

  2. On the bottom right of the FSSAc you should see a Filter section with a dropdown list, from the drop down list select Enabled

     

  3. From the Action drop down list select the appropriate action

     

  4. Click Save.

     

All mails flowing through this Hub server will now be subject to profanity scanning, repeat the above for your other Hub Transport servers!

N3ilb

Setting mailbox database limits through EMS

Leave a comment

Set-MailboxDatabase –Identity ServerName\DatabaseName –IssueWarningQuota Size –ProhibitSendQuota Size –ProhibitSendReceiveQuota Size –DeletedItemRentention NumberOfDays

Set-MailboxDatabase –Identity Exchange1\SG01DB1 –IssueWarningQuota 200000 –ProhibitSendQuota 220000 –ProhibitSendReceiveQuota 250000 –DeletedItemRentention 30

Or…

Set-MailboxDatabase –Identity Exchange\SG01DB1 –IssueWarningQuota 200MB –ProhibitSendQuota 220MB –ProhibitSendReceiveQuota 250MB –DeletedItemRetention 30

I quite like that you can specify the limits in MB!

N3ilb

Useful SCR commands…

Leave a comment

Setting up SCR…

Enable-StorageGroupCopy –Identity SourceServerName\StorageGroupName –StandbyMachine TargetServerName

Enable-StorageGroupCopy –Identity Exchange1\SG09 –StandbyMachine Exchange1DR

If you receive the warning message:

WARNING: SG09 copy is enabled but seeding is needed for the copy. The storage group copy is temporaily suspended. Please resume the copy after seeding the database.

Then you need to seed the database;

To seed the database… (from the SCR source server or target server)

Update-StorageGroupCopy –Identity SourceServerName\StorageGroupName –StandbyMachine TargetServerName

Update-StorgageGroupCopy –Identity Exchange1\SG09 –StandbyMachine Exchange1DR

Verify SCR health…

Get-StorageGroupCopyStatus –Identity SourceServerName\StorageGroupName –StandbyMachine TargetServerName | FL

Get-StorageGroupCopyStatus –Identity Exchange1\SG09 –StandbyMachine Exchange1DR | FL

Sometimes enabling SCR may fail and if you get the following error message:

The database was not found after log replay. Storage group: ‘Exchange1\SG16’. Database: C:\SG16\DB1.edb.

I’ve found that if you suspend the SCR for the Storage Group and then kick off seeding again it fixes the problem.

Suspending SCR…

Suspend-StorageGroupCopy –Identity SourceServerName\StorageGroupName –StandbyMachine TargetServerName

Suspend-StorageGroupCopy –Identity Exchange1\SG09 –StandbyMachine ExchangeDR

Seeding the database again…

Update-StorageGroupCopy –Identity SourceServerName\StorageGroupName –StandbyMachine TargetServerName –DeleteExistingFiles

Update-StorgageGroupCopy –Identity Exchange1\SG09 –StandbyMachine Exchange1DR –DeleteExistingFiles

Note the extra switch “-DeleteExistingFiles”

Disabling SCR…

Disable-StorageGroupCopy –Identity SourceServerName\StorageGroupName –StandbyMachine TargetServerName

Disable-StorageGroupCopy –Identity Exchange1\SG09 –StandbyMachine Exchange1DR

At this point you should manually delete any database/log files on the target server.

N3ilb

Listing servers allowed to relay through Hub servers…

Leave a comment

For my own reference ;o) – (Get-ReceiveConnector “ServerName\ReceiveConnectorName”).RemoteIPRanges | Ft lowerbound

UpperBound, Netmask, CIDRLength, RangeFormat and Size are filter options too.

Older Entries Newer Entries