Showing posts with label Exchange. Show all posts
Showing posts with label Exchange. Show all posts

Monday, 4 February 2013

LB 2003 to 2010 Exchange Migration p3

I was told today that they wouldn't mind a new name for their external OWA address and so the co-existence stuff isn't necessary anymore. Can't say I'm mortified by this news...

On Friday we managed to get through to the installation of SP2 and so I didn't have a great deal to do. The ESM presented me with a long terrifying error but was ok after a reboot. I put on RU5v2 and begun public folder replication:

.\AddReplicaToPFRecursive.ps1 -server "Exchange 2010 Server" -TopPublicFolder "\" -ServerToAdd "Exchange 2010 Server"

I will return to this company to remove the old public folders. I will probably run (to hurry it up):

Update-PublicFolderHierarchy -Server "Exchange 2010 Server"

To get rid of the replicas on the old server:

.\MoveAllReplicas.ps1 -Server "Exchange 2003 Server" -NewServer "Exchange 2010 Server"

To check on the progress:

Get-PublicFolder -recurse |fl name,replicas
Get-PublicFolder -recurse \non_ipm_subtree |fl name, replicas
Get-PublicFolderStatistics

The Exchange server's certificate was replaced by a wildcard certificates, which seem to simplify everything a lot over SAN certificates. There must be a catch.

The setting of the "legacy" URL was now uneccessary.


Set-OwaVirtualDirectory -Identity "esp-ho-ex2010a\owa (Default Web Site)" 
-Exchange2003Url https://legacy.crapulent.net/exchange

And there was no need to enable forms based authenication on the 2003 server, or for installing the Activesync hotfix to enable kerberos between the two servers.

The first Activesync test failed because of the domain admin protected group issue.

Other than that, job done for now. 

Friday, 1 February 2013

LB 2003 to 2010 Exchange Migration p2

Yesterday I copied and pasted a screed of unformated text which formed my attack plan for the migration. Today I have been at the company and gotten underway with the whole thing. So, inevitably with IT, my list wasn't comprehensive and certain problems have slowed the progress of the installation.

When Exchange 5.5 was around it used a thing called the "Active Directory Connector" which was for syncing with AD. 2003 did away with it and began using the recipient update service and the ADC was rendered redundant. Exchange 2007 / 2010 will not proceed with installation if there are any traces of the ADC left. Additionally, the Exchange orgnisation was in "mixed mode" and should have been in "native mode". So how do you remove these traces of ADC and change the mode of the organisation?

Firstly, uninstall the ADC service. In the case of this company it was installed on a DC. Uninstall failed citing "additional connectors". From here the ADC connectors need to be manually deleted from ADSIEdit. So go to Config > Services > Exchange > AD Connectors and delete the connectors not related to the ADC service. Once this is done the uninstall will proceed.

Some pesky ADC were still lingering, however. These we simply deleted. This can be achieved from ADSIEdit, as mentioned above, or AD Sites and Services (remember to show the hidden service options from the toolbar).

Now we thought we would be able to change to native mode, but still it was greyed out. The next thing to be done is to stop and disable the "Site replication service" on Exchange 2003. Still native mode was greyed out.

Finally we deleted the "Site replication service" in Exchange system manager under Tools. At last we could change to native mode and begin to prepare Legacy permissions (setup /pl), the schema (setup /ps) and the domain (setup /prepareAD).



Thursday, 31 January 2013

LB 2003 to 2010 Exchange Migration p1

I have to go to some company tomorrow to help with their migration from Exchange 2003 to 2010. I've done this a few times but I think that I may have some blagging to do if they choose the co-existence route.

I wrote this in preparation for my visit.

Exchange 2003 - 2010 migration

Planning and Install

1.    Exchange Server 2010 Planning
a.    Is Exchange 2003 running SP2. If not it must be upgraded.
b.    Domain Functional level – must be 2003
c.    Hardware and storage considerations
i.    Run perfmon to find current IOPS requirement
d.    Does the environment require roles at different sites or can all roles be on one server?
e.    Exchange Server Deployment Assistant, or ExDeploy
f.    DR considerations. DAGs require Windows 2008 R2 Enterprise
g.    How many databases should be deployed for easy restoring?
h.    Exchange Best practice analyser – run to determine existing problems
i.    External access requirements:
i.    Additional certificate needed. SAN certificate recommended with “mail”, “autodiscover” and “legacy”.
ii.    How is OWA / ActiveSync published?
j.    What version of Office is being used? Is there a requirement for public folders?
k.    Archiving software – what needs to be done to move this to new server?
l.    What SMTP devices (e.g. MFDs, backup alerts, etc) need to be reconfigured?
2.    Windows 2008 R2 hotfixes
a.    http://technet.microsoft.com/en-us/library/bb691354%28v=exchg.141%29.aspx
3.    Exchange 2010 Installation
a.    Install the Windows RPC Over HTTP Proxy Component
b.    Prerequisites can be installed by the Exchange 2010 installer if SP1 is bundled.
c.    If external domain names are known they can be entered during installation, otherwise they should be entered in step 5
d.    SP1 and SP2 and rollup hotfixes
e.    Exchange best practice analyser – run again
f.    Configure the Exchange 2010 certificate
i.    Is there an internal CA available?
ii.    Provision for a legacy URL (if option 1, below, is to be followed)

Option 1 – Co-existence

Both servers will run in tandem for the duration of the migration. More complicated route but allows external OWA for users on both servers except during the period when their mailbox is moved (move is offline).

4.    Configure the client access server.
a.    Enable Outlook anywhere on client access server
b.    Set the Legacy URL on OWA
i.    Set-OwaVirtualDirectory <CAS2010>\OWA*  -Exchange2003Url https://legacy.contoso.com/exchange
1.    Enable forms-based authentication on Exchange 2003
c.    Change the OAB generation server to the new 2010 server and enable web based access
d.    Install hotfix for ActiveSync
i.    http://support.microsoft.com/?kbid=937031
5.    Publish the old Exchange server via the legacy URL
a.    Import the Exchange 2010 certificate into the Exchange 2003 server
i.    Use this recently imported certificate in IIS on the 2003 server by replacing the old one
b.    Arrange with DNS service provider to create an A record for the legacy URL, which should match the URL in 3.c.ii and 5.b. This can point to the same IP address if the publishing method allows this. E.g. ISA 2006.
c.    Use firewall / ISA to publish the old Exchange server from the new external IP / legacy URL
d.    Disable HTTP over RPC on any 2003 front end servers.
6.    Use ISA / firewall to publish the new Exchange server from the old DNS record.
a.    Users on both servers should now be able to reach their mailboxes via the old URL (and 2003 users should be able to use the legacy URL too).

Option 2 – Migration during maintenance window

The new Exchange server will be published for OWA and then all mailboxes can be moved to the new server. As soon as a user’s mailbox resides on the new server OWA will become available for him or her.

7.    Use the existing external URL and publishing rule on the firewall / ISA to publish the new Exchange server.
a.    The ECP sub site should also be published
b.    Users on the Exchange 2003 server will now be unable to access OWA.

Migration Process 

8.    Once option 1 or 2 above is complete then the mailboxes can be moved using the Exchange 2010 console or shell.
a.    Migration of mailboxes causes a large amount of logs and so disk space should be monitored.
9.    If public folders are in use then they should be replicated to the new server.
a.    .\AddReplicaToPFRecursive.ps1 -server "Exchange 2010 Server" -TopPublicFolder "\" -ServerToAdd "Exchange 2010 Server"

Post Migration processes

10.    Check public folders have finished replicating (get-publicfolderstatistics) move them to the new server:
a.    .\MoveAllReplicas.ps1 -Server "Exchange 2003 Server" -NewServer "Exchange 2010 Server"
b.    Use Get-PublicFolder -recurse |fl name,replicas and Get-PublicFolder -recurse \non_ipm_subtree |fl name, replicas to ascertain whether migration is complete.
11.    The public folder home server should be moved to the new server
12.    Shared mailboxes can be converted to resource mailboxes
13.    Uninstall Exchange 2003
a.    If it is impossible to uninstall Exchange due to remaining replicas in the public folder database then it can removed using ADSIedit before proceeding.
14.    Remove routing group connectors and the RUS using ADSIedit.

Wednesday, 30 January 2013

Log Parser

If you want to analyse IIS logs Log Parser is your man. Install it, cmd to its directory and run the executable followed by SQL query in quotes. Here is an example*:

LogParser "SELECT date, REVERSEDNS(c-ip) AS Client, COUNT(*) FROM ex130130.log WHERE sc-status<>200 GROUP BY date,client"

In this case I copied the log file from an Exchange server into the Log Parser install directory. The results:

date       Client                                           COUNT(ALL *)
---------- ------------------------------------------------ ------------

2013-01-30 *.com 29
2013-01-30 *.com 138
2013-01-30 *.com                                     8
2013-01-30 *.com                2
2013-01-30 *.net                 2
2013-01-30 *.com               276
2013-01-30 *.com   21
2013-01-30 *.com                2
2013-01-30 *.com                1
2013-01-30 *.net                 2
Press a key...
date       Client                           COUNT(ALL *)
---------- -------------------------------- ------------

2013-01-30 *.net 2
2013-01-30 *.net 1
2013-01-30 *.net 1
2013-01-30 *.net 1

Statistics:
-----------

Elements processed: 3034
Elements output:    14
Execution time:     4.34 seconds

* This blog digs deep to find the ins and outs, nooks and crannies, cracks and cheats that help the budding but hungover sysadmin. This is why you can find this example in the Log Parser help menu. It's the first entry.