Symptoms
The Lync Server 2010 Move-CsLegacyUser PowerShell cmdlet fails when migrating a legacy Office Communications Server enabled user into the Lync Server 2010 pool with one or all of the errors that are listed below:
Move-CsLegacyUser : All policies of type "DialPlan" are not migrated. Run the Import-CsLegacyConfiguration cmdlet to migrate all policies. For details about policies that will not be migrated, see "CN={83933C77-5884-4BF4-B8AC-123A39254142}\0ADEL:07aabf08-6701-4a36-a9a9-a778010d85fc,CN=Deleted Objects,CN=Configuration,DC=contoso,DC=com". At line:1 char:18+ Move-CsLegacyUser <<<< -Identity "jeff@contoso.com" -Target "pool01.contoso.com" + CategoryInfo : InvalidOperation: (CN=Jeff Anders...contoso,DC =com:OCSADUser) [Move-CsLegacyUser], MoveUserException+ FullyQualifiedErrorId : MoveLegacyUserError,Microsoft.Rtc.Management.AD.Cmdlets.MoveOcsLegacyUserCmdlet
Move-CsLegacyUser : All policies of type "Conference" are not migrated. Run the Import-CsLegacyConfiguration cmdlet to migrate all policies. For details about policies that will not be migrated, see "CN={1815ED7B-A539-4117-9283-E8DD27CD393E}\0ADEL:678f6d55-1f9c-4825-ba9f-05ce2aa46cb3,CN=Deleted Objects,CN=Configuration,DC=contoso,DC=com". At line:1 char:18+ Move-CsLegacyUser <<<< -Identity "jeff@contoso.com" -Target "pool01.contoso.com"+ CategoryInfo : InvalidOperation: (CN=Jeff Anders...contoso,DC =com:OCSADUser) [Move-CsLegacyUser], MoveUserException + FullyQualifiedErrorId : MoveLegacyUserError,Microsoft.Rtc.Management.AD.Cmdlets.MoveOcsLegacyUserCmdlet
Move-CsLegacyUser : All policies of type "Voice" are not migrated. Run the Import-CsLegacyConfiguration cmdlet to migrate all policies. For details about policies that will not be migrated, see "CN={8DD5A104-9069-49B9-AB68-A09FB92ECF9C}\0ADEL:5e14b3b5-cc32-4e65-a72e-592b9cfa1972,CN=Deleted Objects,CN=Configuration,DC=contoso,DC=com". At line:1 char:18 + Move-CsLegacyUser <<<< -Identity "jeff@contoso.com" -Target "pool01.contoso.com" + CategoryInfo : InvalidOperation: (CN=Jeff An=ers...contoso,DC=com:OCSADUser) [Move-CsLegacyUser], MoveUserExceptio + FullyQualifiedErrorId : MoveLegacyUserError,Microsoft.Rtc.Management.AD.Cmdlets.MoveOcsLegacyUserCmdlet
Cause
Migrating the legacy Office Communications Server configuration to the Lync Server 2010 pool uses the following three Lync Server 2010 PowerShell cmdlets:
-
Merge-CsLegacyTopology
-
Import-CsLegacyConfiguration
-
Move-CsLegacyUser
The Lync Server 2010 PowerShell cmdlet errors that are listed in the SYMPTOMS section of this article will occur with the scenario described below:
-
When the Office Communications Server user policies for Voice, DialPlan, or Conference have been deleted from Office Communications Server Forest Global and Voice properties
-
After using the Import-CsLegacyConfiguration Lync Server 2010 PowerShell cmdlet
The Lync Server 2010 Move-CsLegacyUser PoweShell cmdlet compares the user policy information for voice, dial plan, and conference in the legacy Office Communications Server pool (source) with the legacy policy information for voice, dial plan, and conference that has been migrated using the Import-CsLegacyConfiguration Lync Server 2010 PowerShell cmdlet into the Lync Server 2010 pool (target). If there is not matching policy information the legacy user move will fail with the errors that are described in the SYMPTOMS section of this article.
Resolution
To fix this problem, install the following cumulative update:
2514981 Description of the cumulative update for Lync Server 2010, Core Components: November 2011
Workaround
The two methods listed below will allow the successful completion of the Lync Server 2010 Move-CsLegacyUser PoweShell cmdlet:
Method 1
-
The Office Communications Server user policies for voice, dial plan, and conference will have to be re-created in the Office Communications Server Pool to match their imported counterparts that were migrated into the Lync Server 2010 pool by using the Import-CsLegacyConfiguration Lync Server 2010 PowerShell cmdlet.
-
The re-created Office Communications Server user policies for voice, dial plan, and conference will have to be re-assigned to the Office Communications Server enabled users in the legacy pool
For details on performing steps 1 and 2 listed above read the following Office Communication Server deployment information:
Office Communications Server 2007 R2 Enterprise Voice Deployment Guide
http://technet.microsoft.com/en-us/library/dd441382(office.13).aspxOffice Communications Server 2007 Document: Enterprise Voice Planning and Deployment Guidehttp://www.microsoft.com/download/en/details.aspx?FamilyID=24e72dac-2b26-4f43-bba2-60488f2aca8d&displaylang=en
-
The Lync Server 2010 PowerShell cmdlet Import-CsLegacyConfiguration migration step will have to be run again
-
The Lync Server 2010 PowerShell cmdlet Move-CsLegacyUser can now be used to migrate the legacy Office Communications Server user into the Lync Server 2010 pool
Method 2
-
Use the Lync Server 2010 PowerShell cmdlet Move-CsLegacyUser as follows:
Move-CsLegacyUser –Identity “Jeff Smith” –Target “pool01.contoso.com” -ExcludeVoicePolicy -ExcludeDialPlan -ExcludeConferencingPolicy
When the legacy Office Communications Server user has been successfully migrated to the Lync Server 2010 pool use the following information to add the Lync Server 2010 voice, dial plan, and conference policies to the Lync 2010 enabled user:
Modify the Default Conferencing User Experience
http://technet.microsoft.com/en-us/library/gg429706.aspx
Enable Users for Enterprise Voice
More Information
Lync Server Management Shellhttp://technet.microsoft.com/en-us/library/gg398474.aspx
Move-CsLegacyUser
http://technet.microsoft.com/en-us/library/gg413025.aspx
Import-CsLegacyConfiguration
http://technet.microsoft.com/en-us/library/gg412923.aspx
Merge-CsLegacyTopology