Every day's a good

Day thanks to Merge Legacy

Topology. Yay!

 

Yesterday was Positive Day here at the Lync Server PowerShell blog, a day when the non-author of today's haiku decided to think only about the good things in life, and not say a single negative thing all day. How well did Positive Day go? Remarkably well: the authors of the Lync Server PowerShell blog managed to get all the way through the entire day without saying a single negative thing!

 

Well, assuming that getting "all the way through the entire day" means the same thing as "almost managing to get through lunch."

 

In other words, our first try at Positive Day didn't go all that well. Will today be better? Well, we think so. After all, today is already off to a glorious start: it hasn't even snowed yet!

 

Note. In case you're wondering, yes, there was a prediction that the Seattle area could see some light now this morning. And yes, although we do have a tendency to do things our own way in Seattle, it is late April here, just like it is everywhere else in the world.

 

And there's even more good news. Although our weather this spring has been abnormally cold and abnormally wet, yesterday we recorded higher temperatures than Edmonton, Alberta; Fargo, North Dakota; Helsinki, Finland; Vladivostok, Russia; and Prudhoe Bay, Alaska. Oh, and the latest wunderkind for the Seattle Mariners (a one-time a Major League baseball team) made his debut last night and – well, OK, admittedly, he struck out three times. In his other at-bat, however, he managed to fly out to the outfield. Things are looking up!

 

Of course, the best thing about today (to be honest, the best thing about most days) is the daily Lync Server PowerShell haiku. Today's topic should prove to be especially positive and upbeat: today we're going to talk about the Merge-CsLegacyTopology cmdlet.

 

That's fine. We'll wait for the cheering to subside before continuing.

 

OK. So what's so great about the Merge-CsLegacyTopology cmdlet? Well, Merge-CsLegacyTopology helps you do two things. First, it lets you run Office Communications Server 2007 or Office Communications Server 2007 R2 in parallel with Microsoft Lync Server. If you're interested in Lync Server but you aren't quite ready to commit to the new software lock, stock, and barrel, well, that's fine: set up Lync Server, move a few of your existing user accounts onto the new system, and run both Office Communications Server and Lync Server at the same time. If you take advantage of the Merge-CsLegacyTopology cmdlet, users on Office Communications Server and users on Lync Server will be able to communicate with one another without any problem.

 

And then once you are ready to make the switch, Merge-CsLegacyTopology helps you migrate all your previous configuration settings from the old platform to the new platform. That's important because, for better or worse, Lync Server doesn't support an in-place upgrade from Office Communications Server. Instead, you need to install Lync Server, migrate your users and settings from Office Communications Server, and then decommission Office Communications Server.

 

Note. Don't worry: it's actually a much easier process than it sounds.

 

So what exactly does Merge-CsLegacyToplogy do? Well, this cmdlet copies trusted service entries and topology information from Office Communications Server to Lync Server, and for the following components:

 

·         Domains

·         User services

·         Registrar

·         Mediation Server

·         Edge Server

 

In addition, the cmdlet copies trusted service entries for the Conferencing Attendant application; Communicator Web Access; and conferencing directories. (In case you're wondering, a trusted service entry is an Active Directory setting that represents a server that's trusted by Lync Server.) Do all that, and users homed on Lync Server will be able to communicate with users homed on Communications Server 2007 or Communications Server 2007 R2. And you will be able to manage both the old platform and the new platform.

 

Note. Obviously you'll need to run the Merge-CsLegacyToplogy cmdlet after you first install Lync Server; that way, the new installation will know everything there is to know about the previous installation. In addition, you'll need to run it any time you make a change to your legacy Office Communications Server environment. For example, if you add a Mediation Server to or decommission a pool from your Office Communications Server topology, you will need to re-run Merge-CsLegacyTopology in order to import the modified topology. Otherwise, Lync Server will be oblivious to the fact that there's a new Mediation Server or that a pool no longer exists.

 

Admittedly, merging your two topologies (or migrating from Office Communications Server to Lync Server) involves more than just running the Merge-CsLegacyTopology cmdlet; before you try using Merge-CsLegacyTopology you might want to browse through the official migration documentation. In addition to that, you have to install the Windows Management Instrumentation (WMI) Backward Compatibility interfaces package.

 

Note. How do you do that? Run the file OCSWMIBC.msi, which is found on the installation DVD in the Setup folder.

 

After installing the Compatibility interfaces package, Merge-CsLegacyTopology can then be called. Merge-CsLegacyTopology will use WMI to read legacy data from the earlier version of Office Communications Server; as soon as it has that information, it will then create corresponding objects in Lync Server. For example, for each SIP domain found in your installation of Office Communications Server, a corresponding SIP domain will be created in your new installation of Lync Server. But you need to install the Compatibility interfaces package first, because Lync Server no longer relies on WMI as its main configuration storehouse, and thus doesn’t know how to read the WMI data used in Office Communications Server. But the Compatibility interfaces package does know how to read this data.

 

When you finally do run the Merge-CsLegacyTopology cmdlet you'll see that there really isn't too much you need to do; for example:

 

Merge-CsLegacyTopology -TopologyXmlFileName C:\Topologies\New_Topology.xml

 

This command merges your topology, and stores the resulting XML file in a file with the file path C:\Topologies\New_Topology.xml. Note that the TopologyXmlFileName parameter is required: you have to do use that parameter, and create this XML file, because this is the file that contains your new topology.

 

One other thing to note: by default, Merge-CsLegacyTopology will not merge information about your existing Edge Servers. (Why not? Because that information isn't stored in WMI.) If you have Edge Servers that Lync Server needs to know about, you'll need to create an XML file containing the Edge Server data, and then tack on the UserInputFileName to alert Merge-CsLegacyTopology to the existence of that file:

 

Merge-CsLegacyTopology -TopologyXmlFileName C:\Topolgies\New_Topology.xml -UserInputFileName C:\Topologies\EdgeServers.xml

 

Note. Is it hard to create an Edge Server XML file? Nope; all you have to do is follow the instructions in the Migration Guide.

 

See, we told you today was going to be a great day. The sun is out (well, kind of), the current temperature is a balmy 39 degrees, and the Merge-CsLegacyTopology cmdlet is just sitting there waiting to do whatever you ask it to do. What more could you want out of life?