15. Januar 2009

MigrateOcsGlobalSettings – or - Move the OCS configuration

At times of LCS 2005 and even OCS 2007 (R1) setup MS suggested to store global settings for Office Communications Server (or OCS) in the root domain’s system container if possible. Within the last years we saw this was not very handy. The advantage of a single place to store configuration without the need to wait for replication to the domain local configuration container did not compensate the problem with dependencies on the root domain’s availability and the problem arising from there. I saw several issues where a not well connected or far away root domain caused problems with a OCS installation. This resulted in the inability to start OCS services or even the separated administration of a root domain by different team was an issue.

With OCS 2007 R2 Microsoft recommends to use the Configuration container rather than the System Container. During Forest Prep you will be prompted where to store the configuration data. With a green field installation it is not a problem and just a matter of decision. But how about existing installations with LCS 2005 or OCS 2007? The good news is MS provides a script (MigrateOcsGlobalSettings.vbs) to migrate the data.
It works with:

  • LCS 2005 SP1 (requires KB911966 and KB921543)
  • OCS 2007 RTM
  • Active Directory Windows 2003 or above. It needs the inetOrgPerson schema.

The script requires OCS services kept offline on all servers and runs in seven steps:

  1. 1. MigrateGlobalSettingsTree
    cscript MigrateOcsGlobalSettings.vbs /Action:MigrateGlobalSettingsTree
    This is the first step and make sure to duplicate the Global Settings under the Services sub-container in the Configuration container.
    The script has a /Check switch to do a check-mode run of any action.
  2. 2. Migrate GlobalSettingsProperties
    cscript MigrateOcsGlobalSettings.vbs /Action: MigrateGlobalSettingsProperties
    This steps copies and modifies the DN references to the new Configuration tree built in step 1.
  3. 3. ForestPrep again
    cd %ProgramFiles%\Common Files\Microsoft Office Communications Server 2007
    LcsCmd /Forest /Action:ForestPrep
    After the first two steps we have fully functional Global Settings in the Configuration. What is missing is the proper Permissions or Access Control Entries (ACEs) to allow the OCS components and services to read the data. In OCS 2007 you need to run ForestPrep again. LCS 2005 SP1 used DomainPrep for granting ACEs.
    Note: You must run the OCS ForestPrep from the command line, as the Deployment Wizard does not let you rerun the ForestPrep again. As a nice side effect ForestPrep validates also the Global Settings tree. If it reports “Forest Setting: Ready” it confirms the proper migration of all Global Settings.
  4. 4. Wait for AD Replication to settle
    Please wait until all changes have replicated across all GCs in your domain. Depending on the topology and network this can take a while up to many hours.
  5. 5. MigrateServerDnReferences
    cscript MigrateOcsGlobalSettings.vbs /Action: MigrateServerDnReferences
    This step updates all Global settings DN references for following OCS server roles:
    Front End Servers
    MCU Servers
    WebComponent Servers
    Mediation Servers
  6. 6. MigrateUserDNReferences
    cscript MigrateOcsGlobalSettings.vbs /Action: MigrateUserDnReferences
    This step updates all OCS-enabled Users/Contacts/inetorgperson objects for the new Global Settings tree.
    Note: According to MS this can take up to one hours per 30.000 objects!

  7. 7. DeleteSystemGlobalSettingsTree
    cscript MigrateOcsGlobalSettings.vbs /Action: MigrateUserDnReferences
    After the migration steps above have all completed we can start with cleaning up the old tree from the root domain system domain.
    Note: Do not perform this step until you have successfully finished the steps above. Please also note this step must be performed before you start OCS Services again, as it otherwise will find duplicate Configurations and results in very strange behaviors.

Keine Kommentare:

Kommentar veröffentlichen