none
Migrate from SBS 2008 to Windows Server 2008 R2 (Exchange 2010) RRS feed

  • Question

  • Hi all,

    Could you hand me on the migrate from sbs 2008 (exchange 2007) to exchange 2010 & wins 2008 R2? I get trouble with moving Public Folder, I've tried this script but it didn't work:

    [PS] C:\Windows\system32>MoveAllReplicas.ps1 -Server SRV-BKUP -NewServer SV1

    error message appeared:


    Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.
    At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursi
    ve.ps1:147 char:24
    +         $_ | set-publicfolder <<<<  -server $_.OriginatingServer;
        + CategoryInfo          : InvalidOperation: (\alo:PublicFolderId) [Set-Pub
       licFolder], InvalidOperationException
        + FullyQualifiedErrorId : 6F75CDDB,Microsoft.Exchange.Management.MapiTasks
       .SetPublicFolder

    Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.
    At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursi
    ve.ps1:147 char:24
    +         $_ | set-publicfolder <<<<  -server $_.OriginatingServer;
        + CategoryInfo          : InvalidOperation: (\Hello:PublicFolderId) [Set-P
       ublicFolder], InvalidOperationException
        + FullyQualifiedErrorId : 6F75CDDB,Microsoft.Exchange.Management.MapiTasks
       .SetPublicFolder

    Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.
    At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursi
    ve.ps1:147 char:24
    +         $_ | set-publicfolder <<<<  -server $_.OriginatingServer;
        + CategoryInfo          : InvalidOperation: (\NON_IPM_SUBTREE\Events Root:
       PublicFolderId) [Set-PublicFolder], InvalidOperationException
        + FullyQualifiedErrorId : 6F75CDDB,Microsoft.Exchange.Management.MapiTasks
       .SetPublicFolder

    Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.
    At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursi
    ve.ps1:147 char:24
    +         $_ | set-publicfolder <<<<  -server $_.OriginatingServer;
        + CategoryInfo          : InvalidOperation: (\NON_IPM_SUBTRE...ne Address
       Book:PublicFolderId) [Set-PublicFolder], InvalidOperationException
        + FullyQualifiedErrorId : 6F75CDDB,Microsoft.Exchange.Management.MapiTasks
       .SetPublicFolder

    Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.
    At C:\Program Files\Microsoft\Exchange Server\Scripts\ReplaceReplicaOnPFRecursi
    ve.ps1:147 char:24
    +         $_ | set-publicfolder <<<<  -server $_.OriginatingServer;
        + CategoryInfo          : InvalidOperation: (\NON_IPM_SUBTRE...k\OAB Versi
       on 2:PublicFolderId) [Set-PublicFolder], InvalidOperationException
        + FullyQualifiedErrorId : 6F75CDDB,Microsoft.Exchange.Management.MapiTasks
       .SetPublicFolder

     

    Thank you so much for your support in this kind of trouble!!

    Friday, November 26, 2010 4:21 PM

Answers

All replies

  • First off, I never like moving replicas without first replicating the data first (take a two step process).  Also note, put your server names in quotes as I see you have a dash in one of them.

    From Exchange 2010 server open an elevated EMS and navigate to: c:\Program Files\Microsoft\Exchange Server\V14\Scripts\

    .\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\" -ServerToAdd "exchange2010new"

    Make sure the ".\" is at the front of the script.  This will add the new database to the replica list and will replicate the data.  When all data is replicated and you wish to remove the original database, you will need to move all replicas to the new database (this will remove the old server).  Run:

    .\MoveAllReplicas.ps1 -Server "Exchange2007old" -NewServer "Exchange 2010new"


    Tim Harrington - Catapult Systems - http://HowDoUC.blogspot.com
    • Marked as answer by jassonxp Saturday, November 27, 2010 10:06 AM
    • Unmarked as answer by jassonxp Saturday, November 27, 2010 10:11 AM
    Friday, November 26, 2010 5:02 PM
  • Did you put SP1 and Post-SP1 RU1 on the 2010 server?  Both include significant PF improvements.

    What account are you running this from?  Try adding a mailbox to it if there isn't one right now.  Also, have you tried running the script from both servers?

    Here are some similiar threads:

    http://social.technet.microsoft.com/Forums/en-US/exchangesvrmigration/thread/13d5cc19-5d06-4fa0-b9ab-f33f8b7eecfd/

    http://social.technet.microsoft.com/Forums/en-US/exchangesvrmigration/thread/1bb39e85-14d5-42b0-8923-43c8fcefe33a/

    Worst case you always have the option of using Outlook to export to PST and then re-import once the 2007 server is gone.

    On a final note, have you seen the SBS 2011 with Exchange 2010 built-in?  Still in RC...

     



    Mike Crowley
    Check out My Blog!

    Friday, November 26, 2010 5:04 PM
    Moderator
  • I have tried but it still can not....

    I run 2 two command as below, no error, no message to inform it's okay:

     

    c:\Program Files\Microsoft\Exchange Server\V14\Scripts\ .\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\" -ServerToAdd "exchange2010new"

    c:\Program Files\Microsoft\Exchange Server\V14\Scripts\ .\MoveAllReplicas.ps1 -Server "Exchange2007old" -NewServer "Exchange 2010new"

    I checked public folders but I still don't see any public folders on Exchange 2010...

    Thanks for your quick reply

    Saturday, November 27, 2010 10:26 AM
  • Don't run both back to back.  Run the AddReplica script...then allow for replication to happen before running the MoveAllReplica script.  Are there anything stuck in the queues (check Hubs from 2007 and 2010)?  Can you spot check the PFs and make sure both servers are listed as replicas?  This is after just running the AddReplica script. 

    You can also check replica status by running: Get-PublicFolder -Recurse | fl Name, Replicas


    Tim Harrington - Catapult Systems - http://HowDoUC.blogspot.com

    Saturday, November 27, 2010 2:53 PM
  • Thanks for your info.

    I run the AddReplica script and left it 1 hour. but I didn't see anything when I came back...

    I will try your advice now!! check queues..

    Sunday, November 28, 2010 8:10 AM
  • Do you know how to remove exchange 2007 after replicas?

    I checked queue...many messages cannot send here. all are stored in the folder "hub transpo

    I copied all public folder to PST file. by this way, I will restore it to new server. But I get the pb with Exchange 2007, I cannot remove it even when I removed all public folders.

    I have an idea, I don't know if it's the good idea or not.

    My network is as below:

    Server1: Windows small business server 2008 & exchange 2007

    Server2: Windows Server 2008 R2 64-bit & Exchange 2010

     

    On server 2, I transferred 5 master roles and install Exchange 2010 after upgraded exchange 2007 on SBS to SP2.

    - Move all mailbox accounts to ex2010

    - move all default offline address book

    And now, I consider "server1 is dead". I remove it out of network.

    So, is it get any inconvenience? Will exchange 2010 get any errors? Can we remove SBS in ASDI?

     

     

    Sunday, November 28, 2010 5:18 PM
  • This project is seems so difficult, isn't it?
    Tuesday, November 30, 2010 7:30 AM
  • Before removing SBS 2008, you should assure that all databases are migrated successfully and then assure the client can connect to the Exchange 2010 server normally via Outlook or OWA. I suggest you keep SBS server for several days and you can remove it until everything is working fine in Exchange 2010.

     

    For your reference, you can refer to the following articles to migrate SBS to Exchange 2010.

     

    http://social.technet.microsoft.com/Forums/en/smallbusinessserver/thread/2302c957-7db5-4c7c-8d40-81895bf9fc3a

     

    http://demazter.wordpress.com/2010/04/29/migrate-small-business-server-2003-to-exchange-2010-and-windows-2008-r2/

     

    Thanks.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    • Marked as answer by Novak Wu Tuesday, December 7, 2010 1:58 AM
    Wednesday, December 1, 2010 3:23 AM
  • You can use Get-Publicfolder "\NON_IPM_Subtree" -recurse | ft name,Replicas to see the system public folder.

    The root cause is that the system public folder is still mounted to SBS 2008. Either remove them from the sbs 2008 or move the replicas to the new exchange server.

    Note:If all client computers in your organization are running Microsoft Office Outlook 2007 or later, public folders are an optional feature. However, if Outlook 2003 clients are in use, public folders are required.

    The way to move the replicas of system public folder:

    You can use the Exchange Management Console to perform this task.
    1. In the Console tree, click Toolbox.
    2. In the Result pane, double-click Public Folder Management Console. The Public Folder Management Console appears.
    3. In the public folder tree, click or expand Default Public Folders, and then select the parent public folder of the public folder that you want to move to Exchange 2010. Note:
    To configure replication for the offline address book (OAB) or for Schedule+ free/ busy information, expand System Public Folders, and then click OFFLINE ADDRESS BOOK or SCHEDULE+ FREE BUSY.

    4. In the Result pane, right-click the public folder you want to replicate to Exchange 2010 and select Properties.
    5. On the Replication tab, click Add to select an Exchange 2010 public folder database and then click OK.
    6. By default, Exchange uses the replication schedule configured for the public folder database. To create a custom replication schedule for the public folder, clear the Use public folder database replication schedule check box and select one of the settings in the list.
    7. To create a customized schedule, click Customize.
    8. To set the schedule, click the time grid in the Schedule dialog box. Public folder replication will run during the time slots that you specify.
    9. Click OK to close the Schedule dialog box.
    10. To specify the age limit for items in this public folder, type the number of days in the Local replica age limit (days) box. Items that have reached the age limit are deleted. Note:
    Age limits should be used for public folders only. They should not be used for System Folders, such as OFFLINE ADDRESS BOOK or SCHEDULE+ FREE BUSY.
    11. Click OK to close the Properties dialog and to save your changes.
    12. Repeat Steps 4-11 for each public folder you want to move to Exchange 2010.

       

    ***To check the replicas moving status,  you can use the command:***

    Get-PublicfolderStatistic -server SBS2008Name | ft name,lastmodificationtime to get the last modified time of replicas. Once the repliacs is empty for all folders, you are done.

    Good luck!!




    • Edited by Echo W Monday, August 27, 2012 6:19 AM
    Friday, August 24, 2012 7:46 AM