Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Public Folder Migration from Exchange 2007 to 2010

Posted on 2012-08-22
11
Medium Priority
?
1,420 Views
Last Modified: 2012-08-29
We're running Exchange 2007 SP3 and 2010 SP2 side-by-side.  Clients are connected and mail is flow, so the next step is to migrate public folder and getting free/busy restored because currently users cannot see F/B info.

1. Created and mounted a new Public Folder database on 2010.

2. On 2007 EMC, Toolbox > Public Folder Management Console

3. System Public Folders > OFFLINE ADDRESS BOOK and SCHEDULE + FREE BUSY

4. For all items within these 2 folders, I went into each's properties, Replication (tab) and added the new 2010 public folder.

5. I then ran these 2 commands on 2010 EMS:
.\AddReplicaToPFRecursive.ps1 -TopPublicFolder “\” -ServerToAdd "MBX2010"
.\AddReplicaToPFRecursive.ps1 -TopPublicFolder “\NON_IPM_SUBTREE” -ServerToAdd MBX2010"


6. On 2010 EMC's PF Management Console, which is connected to itself.  I can see all the Default and System PF's.  When right-click on the items and choose "Update Content", I don't get an error message.

7. In 2010 EMC, I run     Get-PublicFolder -Recurse -Server "MBX2010" | FL name, replicas
I see the same exact listing as I would if I run:
Get-PublicFolder -Recurse -Server "MBX2007" | FL name, replicas

Example:
Name:      Accounting
Replicas:   {Public Folders, MBX2007\first storage group\public folder database}

(My 2010 PF is named "Public Folders".)

So what happens now?  Free busy is still not working...
0
Comment
Question by:randy915
  • 7
  • 4
11 Comments
 
LVL 33

Expert Comment

by:Exchange_Geek
ID: 38322163
Free/busy my dear friend would work using Autodiscover NOT using PF for versions of OL 2007 and 2010. Are you using OL 2003 too?

Free/busy OR PF Replication doesn't happen over night, an analysis of MSFT states that it normally takes upto 72 hrs for all PFs to migrate - so give it time.

Regards,
Exchange_Geek
0
 
LVL 1

Author Comment

by:randy915
ID: 38322208
We're using OL 2007, 2010, Entourage 2008, and OL 2011.  What's interesting is F/B works on OL 2010.

So even though autodiscover handles free/busy, it can take up to 72hr to resume functionality?
0
 
LVL 33

Expert Comment

by:Exchange_Geek
ID: 38322231
Nopes, FB on Public Folder and FB for autodiscover are two different stuff. Ok let me make things more clear, OL 2003 and its earlier versions used to view free/busy using public folders (you could see this in the OL connection status tab), so - each server would save all the free/busy content of users in the schedule+ free/busy folder.

Every 15minutes this data would get pulled in. Every some time (between 30-60 minutes) PF would replicate amongst each replica list (again, depends on the PF Relication schedule)

this changed with OL 2007, OL no longer is dependant on Public folder - instead using autodiscover OL retrieves information LIVE Directly from the server, so there is no delay what so ever.

Now, you don't use OL 2003 - so i do not see why PF F/Busy would be required in your environment.

Regards,
Exchange_Geek
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 1

Author Comment

by:randy915
ID: 38322767
I'm seeing a bunch of Event ID 4002, Source MSExchange Availability

Process 5212: ProxyWebRequest IntraSite from S-1-5-21-1659004503-583907252-725345543-14252 to https://owa.contoso.com/EWS/Exchange.asmx failed. Caller SIDs: NetworkCredentials. The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequestProcessingException: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.Service.EndGetUserAvailability(IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.FreeBusyApplication.EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, Service service, IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequest.EndInvoke(IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.AsyncWebRequest.EndInvokeWithErrorHandling():. The request information is ProxyWebRequest type = IntraSite, url = https://owa.contoso.com/EWS/Exchange.asmx
Mailbox list = <Hundt, Elizabeth>SMTP:bsmith@contoso.com, Parameters: windowStart = 8/21/2012 12:00:00 AM, windowEnd = 8/25/2012 12:00:00 AM, MergedFBInterval = 30, RequestedView = Detailed
. ---> System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.Service.EndGetUserAvailability(IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.FreeBusyApplication.EndProxyWebRequest(ProxyWebRequest proxyWebRequest, QueryList queryList, Service service, IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequest.EndInvoke(IAsyncResult asyncResult)
   at Microsoft.Exchange.InfoWorker.Common.Availability.AsyncWebRequest.EndInvokeWithErrorHandling()
   --- End of inner exception stack trace ---
. Name of the server where exception originated: CASHUB01. Make sure that the Active Directory site/forest that contain the user's mailbox has at least one local Exchange 2010 server running the Availability service. Turn up logging for the Availability service and test basic network connectivity.
0
 
LVL 1

Author Comment

by:randy915
ID: 38322807
I performed "Test E-mail AutoConfiguration" and everything looks fine... it must be the Availability Service...


15940      0xA959EBE1      08/22/12 14:56:15      Autodiscover to https://owa.contoso.com/Autodiscover/Autodiscover.xml succeeded (0x00000000)
15940      0xA959EBE1      08/22/12 14:56:15      AUTODISCOVER GET SETTINGS END
15940      0xA959EBE1      08/22/12 14:56:15      -----------------------------
11864      0xA965C8FD      08/22/12 15:09:13      +++++++++++++++++++++++++++++++
11864      0xA965C8FD      08/22/12 15:09:13      AUTODISCOVER GET SETTINGS BEGIN
11864      0xA965C8FD      08/22/12 15:09:13        SMTP=bsmith@contoso.com
11864      0xA965C98A      08/22/12 15:09:13      Attempting URL https://owa.contoso.com/Autodiscover/Autodiscover.xml found through SCP
11864      0xA965C98A      08/22/12 15:09:13      Autodiscover to https://owa.contoso.com/Autodiscover/Autodiscover.xml starting
11864      0xA965C98A      08/22/12 15:09:13      AutoDiscover doing Pre-Auth with saved data.
11864      0xA965C98A      08/22/12 15:09:13      AutoDiscover PRE-AUTH pcreds->dwAuthScheme:
11864      0xA965C98A      08/22/12 15:09:13        Negotiate
11864      0xA965C9A9      08/22/12 15:09:13      GetLastError=0; httpStatus=200.
11864      0xA965C9A9      08/22/12 15:09:13      Autodiscover XML Received
0
 
LVL 1

Author Comment

by:randy915
ID: 38322956
In EMS I ran:    Test-OutlookWebServices -Identity:   bsmith@contoso.com
This seems to be the culprit.

RunspaceId : fac41548-2c3e-4561-812d-eabe2e3cf7c9
Id         : 1013
Type       : Error
Message    : When contacting https://owa.contoso.com/ews/exchange.asmx received the error The request failed with HTTP status 401: Unauthorized.

RunspaceId : fac41548-2c3e-4561-812d-eabe2e3cf7c9
Id         : 1025
Type       : Error
Message    : [EXCH] Error contacting the AS service at https://owa.contoso.com/ews/exchange.asmx. Elapsed time was 15 milliseconds.

RunspaceId : fac41548-2c3e-4561-812d-eabe2e3cf7c9
Id         : 1026
Type       : Success
Message    : [EXCH] Successfully contacted the UM service at https://owa.contoso.com/ews/exchange.asmx. The elapsed time was 0 milliseconds.

RunspaceId : fac41548-2c3e-4561-812d-eabe2e3cf7c9
Id         : 1113
Type       : Error
Message    : When contacting https://cashub01.contoso.com/ews/exchange.asmx received the error The request failed with HTTP status 401: Unauthorized.

RunspaceId : fac41548-2c3e-4561-812d-eabe2e3cf7c9
Id         : 1125
Type       : Error
Message    : [Server] Error contacting the AS service at https://cashub01.contoso.com/ews/exchange.asmx. Elapsed time was 0 milliseconds.

RunspaceId : fac41548-2c3e-4561-812d-eabe2e3cf7c9
Id         : 1126
Type       : Success
Message    : [Server] Successfully contacted the UM service at https://cashub01.contoso.com/ews/exchange.asmx. The elapsed time was 0 milliseconds.
0
 
LVL 1

Author Comment

by:randy915
ID: 38323009
As it turns out, Windows Authentication was disabled on the 2010 CASHUB.
set-WebServicesVirtualDirectory -identity cashub2010\EWS* -WindowsAuthentication:$True

Once I did this, free/busy was available again for users.

Regarding the public folders, what am I looking for when the ~72hr process completes?  Is it an event ID?  I still have both 2007 and 2010 servers running so the PF's are still showing in Outlook.
0
 
LVL 1

Author Comment

by:randy915
ID: 38323103
I found 4 events on the CASHUB's event viewer:

Log Name:      Application
Source:        MSExchange Store Driver
Event ID:      1020
Description:
The store driver couldn’t deliver the public folder replication message “Status Request (PublicFolderDatabase@domain.com)” because the following error occurred: The Active Directory user wasn’t found..



I found that in ADSIEDIT under Configuration > Services > Microsoft Exchange > (Org Name) > Administrative Groups > First Administrative Group > Servers >

I notice there's a server in there, presumably the old Exchange 2003 server name.  Now I have to look into how to properly remove this item as it might be the cause of the PF replication being stuck as per this article:


http://blogs.technet.com/b/exchange/archive/2010/05/05/3409916.aspx
0
 
LVL 33

Expert Comment

by:Exchange_Geek
ID: 38326540
There are ways and means to remove the PF Server from PF Hierarchy - best possible approach is to decommission it :)

However, there is a back window to it.

Configuration > Services > Microsoft Exchange > (Org Name) > Administrative Groups > First Administrative Group > Servers > Information Store > PF Server > Properties

"msExchOwningPFTree" - empty the attribute.

Once replicated there wouldn't be any replication for PF Hierarchy and content back from E2010 to old E2003.

Regards,
Exchange_Geek
0
 
LVL 1

Author Comment

by:randy915
ID: 38327237
Hi

Just to confirm:
Configuration > Services > Microsoft Exchange > (Org Name) > Administrative Groups > First Administrative Group > Servers > (2003 Name) > Information Store > First Storage Group > Public Folder Store (2003 Name) > Properties > msExchOwningPFTree

Clear this value:
CN=Public Folders,CN=Folder Hierarchies,CN=First Administrative Group,CN=Administrative Groups,CN=Org,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com

The PF replication commands I ran earlier will successfully retry the replication?
0
 
LVL 33

Accepted Solution

by:
Exchange_Geek earned 2000 total points
ID: 38328532
As i said earlier, if you want to remove useless replication taking place between E2k3 and E2k7/10 - the only method to stop replication between them is to remove the above attribute from the server-pf database.

WHY to perform this action: Reason, is there is only 1 PF Tree in the entire Organization and using each PF Database that is populated in its attribute msExchPFOwningTreeBL - replication takes place between all the servers. The server that isn't listed on this attribute would not participate in replication of PF.

Most of the times, when people have failed migration or uninstallation - they would normally find PF replication from E2k7/10 to E2k3 which isn't present/exists. Unfortunately, if the server object isn't present in ADSIEDIT, there is nothing much he/she can do (apart from restoring AD backup to earlier date)


Hope I've explained enough.

Regards,
Exchange_Geek
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article, I will demonstrate that how to do a PST migration from Exchange Server to Office 365. This method allows importing one single PST, or multiple PST's at once.
Microsoft Jet database engine errors can crop up out of nowhere to disrupt the working of the Exchange server. Decoding why a particular error occurs goes a long way in determining the right solution for it.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Suggested Courses
Course of the Month14 days, 6 hours left to enroll

581 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question