Saturday 28 October 2006

CS2.1 Review Comments does not display correctly in IE7

I have to review comments before I allow them to be posted on the site because, as all blog owners know, you get a lot of spam comments. IE7 doesn't want to let me review them in lower resolutions. I get a cut off review line with no horizontal scroll bar. See what I mean here.

Firefox 2.0 fares better. It wraps the comment line and lets me scroll the windows horizontally if I have a long comment title. The colours are a little bit weird but I can live with that. See how Firefox 2.0 copes here.

I've posted a bug to the support forum so lets see how that does.

Sunday 15 October 2006

Vista and Outlook 2007 - Turn off the reading pane

I really don't get on with the Outlook 2007 reading pane because it uses up to my screen real estate on my laptop. I knew that you can turn it off with the "/nopreview" switch at the command line but you can't edit the special icon to change the startup command line.

I did a bit of digging and found that by selecting the "Command Line" option from the Task Manager "View > Select Columns..." entry you could see the actual command lines used to start processes. I could see that Outlook was already starting with the "/recycle" switch to reuse Outlook instances so I set out to find this in the registry.

To start Outlook with the "/nopreview" switch I edited the following registry entry. (Insert standard disclaimer here!) The registry key was:
HKLM\SOFTWARE\Clients\Mail\Microsoft Outlook\shell\open\command
REG_SZ: "C:\PROGRA~1\MICROS~3\Office12\Outlook.exe" /recycle /nopreview

Sunday 1 October 2006

Exchange Server 2007 Beta2 Maximum Mail Stores

I was trying to work out the limits of the current beta of Exchange 2007 in terms of storage groups and mailbox stores and through experimentation I discovered that they are:
  • Maximum Storage Groups: 50
  • Maximum Mail Stores per Storage Group: 5
I guess that's a grand total of 250 mailbox stores then. That's a massive improvement over Exchange 2003!

Grant full mailbox permissions in Exchange 2007 Beta2

Final step upon upgrading the test server to Exchange 2007 Beta2 was to give me full access to all the mailboxes. It's another Power Shell task and I managed to find the syntax at the Microsoft Exchange Team Blog.

Add-MailboxPermission mailbox -AccessRights FullAccess -user user

This gives user full access permisions to mailbox.

Exchange 2007 Beta2 - Allow hub connector to receive unauthenticated SMTP mail

You need to set the permissions to allow Anonymous users to submit mail. This is not in the GUI so you must use the Power Shell.

1. Set the permission:
set-receiveconnector 'Default CHEF' -PermissionGroups:"ExchangeUsers,ExchangeServers,ExchangeLegacyServers,AnonymousUsers"Replace CHEF with your Exchange server name!

2. Verify the permission:
get-receiveconnector | format-listSchema: Microsoft.Exchange.Data.Directory.SystemConfiguration.ReceiveConnectorSchema
AuthMechanism: Tls, BasicAuth, BasicAuthPlusTls, ExchangeServer
BinaryMimeEnabled: True
Bindings: {}
ChunkingEnabled: True
DeliveryStatusNotificationEnabled: True
EightBitMimeEnabled: True
EnhancedStatusCodesEnabled: True
Enabled: True
ConnectionTimeout: 00:10:00
ConnectionInactivityTimeout: 00:05:00
MessageRateLimit: unlimited
MaxInboundConnection: 5000
MaxInboundConnectionPerSource: unlimited
MaxInboundConnectionPercentagePerSource: 100
MaxHeaderSize: 64KB
MaxHopCount: 30
MaxLocalHopCount: 3
MaxLogonFailures: 3
MaxMessageSize: 10MB
MaxProtocolErrors: 5
MaxRecipientsPerMessage: 5000
PermissionGroups: AnonymousUsers, ExchangeUsers, ExchangeServers, ExchangeLegacyServers, CustomPipeliningEnabled: True
ProtocolLoggingLevel: None
RemoteIPRanges: {}
RequireEHLODomain: False
RequireTLS: False
Server: CHEF
SizeEnabled: True
TarpitInterval: 00:00:05
ObjectCategoryName: msExchSmtpReceiveConnector
ExchangeVersion: 0.1 (8.0.535.0)
CurrentObjectVersion: 0.1 (8.0.535.0)
Name: Default CHEF
DistinguishedName: CN=Default CHEF,CN=SMTP Receive Connectors,CN=Protocols,CN=CHEF,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=The Foley House,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=thefoleyhouse,DC=ad
Identity: CHEF\Default CHEF
Guid: 0675a1d2-9c19-4068-af33-782d1c27f562
ObjectClass: {top, msExchSmtpReceiveConnector}
OriginalId: CHEF\Default CHEF
WhenChanged: 01/10/2006 19:58:31
WhenCreated: 30/09/2006 00:19:26
ObjectState: Unchanged
IsReadOnly: False
Id: CHEF\Default CHEF
IsValid: True

How to set recipent email addresses in Exchange 2007 Beta2

To set recipient email address policy, do the following:

1. In the Exchange Management Console, navigate to 'Organization Configuration' > 'Hub Transport' > 'Email Address Policies'. Here you will see the default policy and you can select 'Edit' on the left hand side of the MMC console.

2. We are editing the default policy so just click 'Next'.

3. Again, just select 'Next' because we are editing the default policy for all objects.

4. Now edit the default email address. Because mine is set as an alternate UPN I can click the SMTP address and click 'Edit'.

5. As the email address I want to use is an alternate UPN and can select it from the drop down box and select 'OK'.

6. Click 'Next' to apply changes immediately.

7. Click 'Edit' to make the changes.

8. This dialog shows the Power Shell script along with any warnings. I have an invalid recipient name from my old Exchange 2003 organisation that I must get round to changing! ;-)

9. All done and applied. I like how the 'True' display lets you know that you did apply the policy.

Creating an Internet send connector in Exchange 2007 Beta 2

Before you can send mail to the internet with a single server you have to make a connector for your mail transport hub role. The remote domain should already be configured to '*' for the Internet but create a send connector like so:

1. Open up the Exchange Management console and select Organization Configuration > Hub Transport and click 'New Send Connector...' underneath Actions, Hub Transport on the right hand side.

2. You should now get the 'New SMTP Send Connector' dialog box. Enter 'Internet' for the name and leave the intended use at 'Custom' for this connector.

3. Next, for the Domain enter '*' and ensure that you leave 'Include all subdomains' selected.

4. Next, choose if you are going to use a smarthost or MX records to deliver mail. Because a lot of administrator block dynamic IP addresses and this test server has a dynamic address I have elected to use my ISP mail server. They relay mail from my IP address and I have used the DNS name of the server to simplify the connection.

5. Next, if you need to authenticate to your smart host, put the details in here. I don't.

6. Next, select the server that will send mail over the connector. If you only have one server it should already be added.

7. Next, verify the settings.

8. Next, create the connector. Beta 2 lists the Power Shell command you could have used to create this connector from the command line.

9. All done.

Updating a single Exchange 2003 server to Exchange 2007 Beta 2

I've done this on my test server and there are a couple of problems you have to deal with:
  • The databases are not compatible. Exchange 2003 uses STM and EDB files with 5MB logs whereas Exchange 2007 uses just an EDB file with 1MB logs. There may also be a difference on how data is organsied internally. I have seen reports of 4KB vs 8KB database pages.
  • Exchange 2007 really needs an edge server role for secure deployment. If you're going to use a single server then you'll have to use the hub transport server to send and receive internet email. Allthought his works, it is not a reccommended scenario.
The steps I took to upgrade my Exchange server then were as follows.
  1. Backup everything.
  2. Backup everything again using a different method. :)
  3. Extract the mail from the old Exchange 2003 server using a tool such as ExMerge.
  4. Disable\Delete all old mailboxes from mail stores.
  5. Uninstall Exchange 2003.
  6. Install Exchange 2007 using the mailbox, client access and hub transport roles.
  7. Set recipient policy to ensure correct email addresses are allocated.
  8. Re-enable mailboxes.
  9. Test internal mail connectivity using owa.
  10. Import mail. As it was a small test organisation and I had removed the old server I used Outlook for each user to import thier own mail. If I had a new server then I could have installed it into the Exchange 2003 organisation and used the move mailbox wizard.
  11. Create an SMTP send connector.
  12. Allow unauthenticated SMTP connections on the incoming (default) SMTP connector.
  13. Setup any mailbox permissions you wish to have.
It now seems to be working. Watch out for more details on steps 7,11,12 and 13. Some of this can be done using the GUI, some using Power Shell.