Move Public Folder instance to another server
I have a brand new Exchange Server 2007 SP1 instance that is going to become a resource domain for 3 other forests. There were no previous Exchange 2003 instances in this domain/forest. However I had to have Public Folder support as we will be migrating several Exchange 2003 environments into this new domain. I have 3 CCR clusters built and I need to move the public folder instance to its permanent location. Due to some deadlines I had to do the initial Exchange install on a server that is going to be offline for several days and since its not in our main data centers I wanted to move the Public Folder instance to a different server.
I ran the MoveAllReplicas script to move all replicas to the new location. It moved all replicas except 4. The StoreEvents, Event Root, OWAScratchPad, and scehma-root. Below is the error message I get when running the script.
Set-PublicFolder : Cannot save the object '\NON_IPM_SUBTREE\Events Root'. Please make sure that you specified the correct Identity and that you have the necessary permissions to save it. At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursive.ps1:147 char:24
+ $_ | set-publicfolder <<<< -server $_.OriginatingServer;
Set-PublicFolder : Cannot save the object '\NON_IPM_SUBTREE\OWAScratchPad{10EE17D5-9B3A-4A49-A280-D98A969E0144}'. Please make sure that you specified the correct Identity and that you have the necessary permissions to save it.
At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursive.ps1:147 char:24
+ $_ | set-publicfolder <<<< -server $_.OriginatingServer;
Set-PublicFolder : Cannot save the object '\NON_IPM_SUBTREE\schema-root'. Please make sure that you specified the correct Identity and that you have the necessary permissions to save it.
At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursive.ps1:147 char:24
+ $_ | set-publicfolder <<<< -server $_.OriginatingServer;
Set-PublicFolder : Cannot save the object '\NON_IPM_SUBTREE\StoreEvents{10EE17D5-9B3A-4A49-A280-D98A969E0144}'. Please make sure that you specified the correct Identity and that you have the necessary permissions to save it.
At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursive.ps1:147 char:24
+ $_ | set-publicfolder <<<< -server $_.OriginatingServer;
I do not have a single public folder created yet outside of the built in system folder. I also ran a check on the system folder to see which were still not moved. Public Folder Database is the original instance and Public Folders is where I am trying to move things. I am moving from a CCR cluster to a CCR cluster. CCR Cluster 1 has a public folder store named Public Folder Database and CCR Cluster 2 has a public folder store named Public Folders
[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>Get-publicfolder \NON_IP
M_SUBTREE -recurse |ft Name,Replicas
Name Replicas
---- --------
NON_IPM_SUBTREE {}
EFORMS REGISTRY {}
Events Root {Public Folder Database}
OFFLINE ADDRESS BOOK {}
/o=AFS/cn=addrlists/cn=oabs/cn=Defau... {Public Folders}
OAB Version 2 {Public Folders}
OAB Version 3a {Public Folders}
OAB Version 4 {Public Folders}
EX:/o=AFS/ou=Exchange Administrative... {Public Folders}
OWAScratchPad{10EE17D5-9B3A-4A49-A28... {Public Folder Database}
OWAScratchPad{D417EEA8-2291-461A-A67... {Public Folders}
SCHEDULE+ FREE BUSY {}
EX:/o=AFS/ou=Exchange Administrative... {Public Folders}
schema-root {Public Folder Database}
Default {Public Folders}
microsoft {Public Folders}
exchangeV1 {Public Folders}
StoreEvents{10EE17D5-9B3A-4A49-A280-... {Public Folder Database}
globalevents {Public Folders}
internal {Public Folders}
August 17th, 2009 10:22pm
Can you check these 4 folders in PFDavAdmin?
That the accouunt you are using has permission or not.
DACL state shows good.
Try adding replica in PFDavAdmin...
Amit Tank | MVP Exchange Server | MCITP: EMA | MCSA: M | http://ExchangeShare.WordPress.com
Free Windows Admin Tool Kit Click here and download it now
August 18th, 2009 9:14am
When I connect I get an error that says it "Could not expand" the public folders and then it stays a "Name cannot begin with the '0' character, hexadecimal value 0x30. Line1, position 443."I have used my admin accound and the domain's administrator account. Both of which are domain admins and full admins on the Exchange 2007 instances.
August 18th, 2009 5:52pm
Looks like you don't have .net framework 1.1 installed, I would suggest you to install it on a workstation and run PFDavAdmin there instead of Exchange Server because installing .net framework 1.1 on server may crew the Exchange setup with .net framework 2.0 or higher...
http://mostlyexchange.blogspot.com/2008/01/pfdavadmin-exchange-2007-and-v11-net.htmAmit Tank | MVP Exchange Server | MCITP: EMA | MCSA: M | http://ExchangeShare.WordPress.com
Free Windows Admin Tool Kit Click here and download it now
August 18th, 2009 6:29pm
Ok I managed to check using PFDavAdmin. Permissions for any system files:SETACLSystem Folders\OWAScratchPad{D417EEA8-2291-461A-A672-96544881DFFE}\EveryoneCreate Visible Read \CREATOR OWNERDelete DeleteOwn Write WriteOwn Visible Read NT AUTHORITY\ANONYMOUS LOGONNoneNOSETACLSystem Folders\StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}\EveryoneReviewerNT AUTHORITY\ANONYMOUS LOGONNoneNOSETACLSystem Folders\StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}\globalevents\EveryoneReviewerNT AUTHORITY\ANONYMOUS LOGONNoneNOSETACLSystem Folders\StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}\internal\EveryoneReviewerNT AUTHORITY\ANONYMOUS LOGONNoneNOWhen I run DACL state check I recieve the following:Folder filter: (&)http://vmnlex01/ExAdmin/Admin/AFSERVICE.ORG/public%20folders/NON_IPM_SUBTREE/OWAScratchPad{D417EEA8-2291-461A-A672-96544881DFFE}/ Missing Anonymous;Non-canonical order;Operation complete.
Folder filter: (&)http://vmnlex01/ExAdmin/Admin/AFSERVICE.ORG/public%20folders/NON_IPM_SUBTREE/StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}/ Missing Anonymous;http://vmnlex01/ExAdmin/Admin/AFSERVICE.ORG/public%20folders/NON_IPM_SUBTREE/StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}/globalevents/ Missing Anonymous;http://vmnlex01/ExAdmin/Admin/AFSERVICE.ORG/public%20folders/NON_IPM_SUBTREE/StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}/internal/ Missing Anonymous;Operation complete.
Replicas:SETREPLICASSystem Folders\OWAScratchPad{D417EEA8-2291-461A-A672-96544881DFFE}REPLACEVDCEEX01NOSETREPLICASSystem Folders\StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}REPLACEVDCEEX01NOSETREPLICASSystem Folders\StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}\globaleventsREPLACEVDCEEX01NOSETREPLICASSystem Folders\StoreEvents{D417EEA8-2291-461A-A672-96544881DFFE}\internalREPLACEVDCEEX01NOVDCEEX01 (Public Folders)is the new location for the public folder instance and VMNLEX01 (Public Folder Database) is the old location. I allowed plenty of time for replication and still no go.
August 18th, 2009 7:48pm
Also here is the replica state at this time... still unchanged[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>Get-publicfolder \NON_IPM_SUBTREE -recurse |ft Name,Replicas
Name Replicas---- --------NON_IPM_SUBTREE {}EFORMS REGISTRY {}Events Root {Public Folder Database}OFFLINE ADDRESS BOOK {}/o=AFS/cn=addrlists/cn=oabs/cn=Defau... {Public Folders}OAB Version 2 {Public Folders}OAB Version 3a {Public Folders}OAB Version 4 {Public Folders}EX:/o=AFS/ou=Exchange Administrative... {Public Folders}OWAScratchPad{10EE17D5-9B3A-4A49-A28... {Public Folder Database}OWAScratchPad{D417EEA8-2291-461A-A67... {Public Folders}SCHEDULE+ FREE BUSY {}EX:/o=AFS/ou=Exchange Administrative... {Public Folders}schema-root {Public Folder Database}Default {Public Folders}microsoft {Public Folders}exchangeV1 {Public Folders}StoreEvents{10EE17D5-9B3A-4A49-A280-... {Public Folder Database}globalevents {Public Folders}internal {Public Folders}StoreEvents{D417EEA8-2291-461A-A672-... {Public Folders}globalevents {Public Folders}internal {Public Folders}Also here is the list of Public Folder statistics for the old instance[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>Get-PublicFolderStatistics -Server "VMNLEX01"
Name ItemCount LastAccessTime---- --------- --------------OWAScratchPad{10EE17D5-9B3A-4A49-A280-D9 0 8/18/2009 7:33:13 PM8A969E0144}schema-root 0 8/18/2009 7:33:13 PMStoreEvents{10EE17D5-9B3A-4A49-A280-D98A 0 8/18/2009 7:33:13 PM969E0144}StoreEvents{D417EEA8-2291-461A-A672-9654 0 8/18/2009 8:31:35 AM4881DFFE}
Free Windows Admin Tool Kit Click here and download it now
August 18th, 2009 7:53pm
I really donot think you need to replicate The StoreEvents, Event Root, OWAScratchPad, and scehma-root. Wherever you create public folder store these will be created again. Just move the legitimate Public folders and make sure you have replicated OAB all versions and schedule free busy and any org forms
EFORMS REGISTRY and Events Root By default, one content replica of each of these folders resides in the default public folder database on the first Exchange2007 server that is installed in the first administrative group. This is the location where organizational forms are stored for legacy Outlook clients (clients using an Outlookversion earlier than Outlook2007).
Offline Address Book and Schedule+ Free Busy The Offline Address Book folder and the Schedule+ Free Busy folder automatically contain a subfolder for each administrative group (or site) in your topology. By default, a content replica of a specific administrative group folder resides on the first server that is installed in the administrative group. These folders are used to store legacy free and busy information and OAB data for legacy Outlook clients. Legacy Outlook clients do not support the new features in Exchange2007 that manages free and busy information and OAB data. (These features include the Availability service, the Autodiscover service, and OAB distribution on Client Access servers).
OWAScratchPad Each public folder database has an OWAScratchPad folder, which is used to temporarily store attachments that are being accessed by using OutlookWebAccess. Do not modify this folder. OutlookWebAccessrunning on Exchange2007Client Access servers does not use these folders to store attachment data. However, this folder is created during a pure installation of Exchange2007.
StoreEvents Each public folder database has a StoreEvents folder, which holds registration information for custom Exchangedatabase events. Do not modify these folders.
Other folders To support internal Exchangedatabase operations, a tree may contain several other system folders, such as schema-root. Do not modify these folders.
http://technet.microsoft.com/en-us/library/bb397221.aspx Vinod
|CCNA|MCSE 2003 +Messaging|MCTS|ITIL V3|
August 18th, 2009 8:06pm
Well the problem is in that I am trying to completely remove the original Exchange 2007 Public Folder Storage group. I need everything moved to the other server so the old storage group is deleted. Despite everything that has been done these 4 have not moved and when I am unable to delete the original storage group. When I do I recieve the following error message.--------------------------------------------------------Microsoft Exchange Error--------------------------------------------------------The public folder database 'Public Folder Database' cannot be deleted.
Public Folder DatabaseFailedError:The public folder database "VMNLEX01\Public Folder Storage Group\Public Folder Database" contains folder replicas. Before deleting the public folder database, remove the folders or move the replicas to another public folder database. For detailed instructions about how to remove a public folder database, see http://go.microsoft.com/fwlink/?linkid=81409.
--------------------------------------------------------OK--------------------------------------------------------Those 4 folders look to be keeping me from being able to completely the PF replica move and deleting the original PF instance. Please keep in mind that this is occuring between 2 CCR clusters.
Free Windows Admin Tool Kit Click here and download it now
August 18th, 2009 8:13pm
Well in that case make sure you have removed the replica entries for destination server from the mentioned PF's and all other PF's Vinod
|CCNA|MCSE 2003 +Messaging|MCTS|ITIL V3|
August 18th, 2009 8:20pm
Actually I found the following article... http://msexchangeteam.com/archive/2007/07/09/445967.aspx
"When the script completes in the Exchange Management Shell, wait until all content is moved to the new server. This can potentially take several hours to several days to complete."
So I will give it 2-3 days.
I will check the progress as mentioned in the article..
"To check how many folders remain to be moved to the new server, run the following command.
Get-PublicFolderStatistics -Server
A successful completion of content replication is indicated by "No Results" from this command. If you still see some folders you need to wait for content replication to complete.
If the source database is dismounted before all its contents are moved, remount the database and run through steps 2 through 4 again."
Free Windows Admin Tool Kit Click here and download it now
August 18th, 2009 9:14pm
Yes, you shall follow that article to try again. If its still not working, as Vinod has mentioned before, these system folders will be generated when we mount public folder on the exchange server, and it shows that the four folders are empty from your output, which indicates that we could safely ignore these folders
So, please refer the step 2 and step 3 in this article to remove the replicas of these empty folders from exchange server, verify that all replicas have been removed. Then, we can run Remove-PublicFolderDatabase to safely remove the database
How to Remove a Public Folder Database
August 19th, 2009 8:49am
I have given more then enough time for replciation to complete. I have run commands to delete all public folders. All replicas have been moved yet I still can't remove the storage group. I followed the steps listed above instructing to delete all folders under the \Non_Ipm_Subtree however after doing that these folders are still around and not letting me delete the old storage group. [PS] C:\Program Files\Microsoft\Exchange Server\Scripts>Get-PublicFolderStatistcs -Server VMNLEX01 | fl
AdminDisplayName : OWAScratchPad{10EE17D5-9B3A-4A49-A280-D98A969E0144}AssociatedItemCount : 0ContactCount : 0CreationTime : 5/21/2009 10:09:57 AMDeletedItemCount : 0EntryId : 000000001A447390AA6611CD9BC800AA002FC45A0300DC3948AE2 66D8D46BF5475172622F8BD000000009C5A0000ExpiryTime :FolderPath : OWAScratchPad{10EE17D5-9B3A-4A49-A280-D98A969E0144}IsDeletePending : FalseItemCount : 0LastAccessTime : 9/1/2009 1:56:28 PMLastModificationTime : 5/21/2009 10:09:57 AMName : OWAScratchPad{10EE17D5-9B3A-4A49-A280-D98A969E0144}OwnerCount : 0TotalAssociatedItemSize : 0BTotalDeletedItemSize : 0BTotalItemSize : 0BServerName : VMNLEX01StorageGroupName : Public Folder Storage GroupDatabaseName : Public Folder DatabaseIdentity : 000000001A447390AA6611CD9BC800AA002FC45A0300DC3948AE2 66D8D46BF5475172622F8BD000000009C5A0000IsValid : TrueOriginatingServer : vmnlex01.afservice.org
AdminDisplayName : schema-rootAssociatedItemCount : 0ContactCount : 0CreationTime : 5/21/2009 10:09:56 AMDeletedItemCount : 0EntryId : 000000001A447390AA6611CD9BC800AA002FC45A0300DC3948AE2 66D8D46BF5475172622F8BD000000009C560000ExpiryTime :FolderPath : schema-rootIsDeletePending : FalseItemCount : 0LastAccessTime : 9/1/2009 1:56:28 PMLastModificationTime : 5/21/2009 10:09:57 AMName : schema-rootOwnerCount : 0TotalAssociatedItemSize : 0BTotalDeletedItemSize : 0BTotalItemSize : 0BServerName : VMNLEX01StorageGroupName : Public Folder Storage GroupDatabaseName : Public Folder DatabaseIdentity : 000000001A447390AA6611CD9BC800AA002FC45A0300DC3948AE2 66D8D46BF5475172622F8BD000000009C560000IsValid : TrueOriginatingServer : vmnlex01.afservice.org
AdminDisplayName : StoreEvents{10EE17D5-9B3A-4A49-A280-D98A969E0144}AssociatedItemCount : 0ContactCount : 0CreationTime : 5/21/2009 10:09:56 AMDeletedItemCount : 0EntryId : 000000001A447390AA6611CD9BC800AA002FC45A0300DC3948AE2 66D8D46BF5475172622F8BD000000009C520000ExpiryTime :FolderPath : StoreEvents{10EE17D5-9B3A-4A49-A280-D98A969E0144}IsDeletePending : FalseItemCount : 0LastAccessTime : 9/1/2009 1:56:28 PMLastModificationTime : 5/21/2009 10:09:56 AMName : StoreEvents{10EE17D5-9B3A-4A49-A280-D98A969E0144}OwnerCount : 0TotalAssociatedItemSize : 0BTotalDeletedItemSize : 0BTotalItemSize : 0BServerName : VMNLEX01StorageGroupName : Public Folder Storage GroupDatabaseName : Public Folder DatabaseIdentity : 000000001A447390AA6611CD9BC800AA002FC45A0300DC3948AE2 66D8D46BF5475172622F8BD000000009C520000IsValid : TrueOriginatingServer : vmnlex01.afservice.orgThe thing to notice is that "IsDeletePending" is listed as False for each despite running the following command:Get-PublicFolder -Server VMNLEX01 "\Non_Ipm_Subtree" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server VMNLEX01 -Recurse -ErrorAction:SilentlyContinue
Free Windows Admin Tool Kit Click here and download it now
September 1st, 2009 9:46pm
Despite the three folders not being removed, I dismounted the store and used ADSI edit to remove the instance from Exchange. Basically followed the last step in the following articlehttp://telnetport25.wordpress.com/2007/08/21/quick-tip-removing-exchange-2007-error-with-public-folder-replicas/I then removed the PF Instance from the cluster and everything was fine.
September 10th, 2009 8:52pm