Backing up Lync Archiving Data to FTP

The Archiving server role in Lync 2010 does a pretty decent job of living up to it’s namesake in archiving messaging data. Whether on a SAN or locally attached, disk space is not infinite. This means we can’t keep data in SQL forever, even if we need to keep the data around. One option natively built into the Lync PowerShell Cmdlets is Export-CSArchivingData which does exactly what it says and exports archiving data to EML format for backup or viewing. My problem is that this is a manual process and needs human intervention and/or interaction. To fix this, I did what I tend to do best and automated it via PowerShell.

Continue reading


Edging Out the OCS Client

Microsoft’s recommended order for deployment when moving from OCS to Lync is to migrate you’re internal services (Front-End pools, mediation, archiving, etc) first, and then to migrate your Edge services to the new Lync servers last. As I found out, there’s a good reason for the order they suggest. With Lync came the ability to create external access policies, which  among other things control who can login remotely. Funny thing though, OCS clients don’t respect these policies because they don’t know anything about them. And even if Microsoft created an update for the client OCS to enable it to use Lync policies, you would still be able to get around it by using a non-updated version of the OCS client.

Now, I hear what you’re saying, “Isn’t this why Microsoft created the ‘Client Version Filter’ in Lync to control this behavior?” Yes, but what about during the migration process where you may still have users on the OCS client? That’s why Microsoft recommends moving Edge services last. But sometimes this isn’t always possible, especially if there were no OCS Edge servers within the existing deployment. This is where I found myself last week. No way to block OCS clients from connecting externally without interfering with internal OCS users during the migration process. After some Googling I came across a blog post from Mark King over at UnplugThePBX which explains the whole scenario and can be found here http://tinyurl.com/em2501

Checkout my solution after the break.

Continue reading


Making sense of a TBXML

One of the things that intrigued me the most when I first started working with Lync was the Topology Builder and it’s TBXML files. Whenever I walk into a new Lync environment one of the first things I do is to open the Lync Topology Builder and pull up the existing topology to get an idea of the deployment environment, it’s configuration, and any servers present within it. I’ve always heard from the people I talked to that the TBXML files were not readable or usable without the Topology Builder because they just didn’t make sense for anyone trying to look at them.

If you open a TBXML file within a text editor you’ll notice pretty quickly that its just like most other standard XML documents, a little hard to read but it contains a great deal of information if you know what you’re looking for. This got me started on developing a way to parse this information into a usable format. I started this thinking I would be done in a couple weeks tops, and yet here I sit almost six months later hoping that whats I’m posting is ready for prime-time. Originally I wanted to be able to parse all of the topology information into a Visio Diagram, but I just couldn’t get all the information in without making it cluttered. So I chose a different route, what if I could parse the TBXML data and then output a Visio VSD for a graphical representation of the topology and then layout the rest of the information into an Excel spreadsheet that contained all the details? I started building the solution as two different scripts, but it didn’t make sense to do duplicate work so I combined them.

Enter Get-LyncTopologyInfo! Below you’ll find all the information needed to run it and a copy of the script for download.

Continue reading


Exchange 5.5 to Exchange 2010 – Is such a thing even possible?

Haven’t been able to get any updates posted for a little while now, been busy with that whole day job thing. I know promised more Lync tools, they’re coming and soon I hope. If I can scratch out the time to put the finishing touches on them and do the finalized testing; I’d like to get the Topology Documenter and Topology Mapper posted by this weekend. I’ve had other things on my plate and figure it might make an interesting post. So… onto other things.

Officially, there is no Microsoft supported migration from Exchange 5.5 to Exchange 2010. The oldest supported environment you can upgrade to Exchange 2010 is Exchange 2003. So that normally leaves you with a two step method, 5.5 to 2003 and then 2003 to 2010. And if you’re lucky, Exchange 5.5 will be running on Server 2000 so you at least get Active Directory to make the process easier. No such luck for me. Mine was Exchange 5.5 on NT 4.0 to Exchange 2010 SP1 on Server 2008 R2 SP1. I know what you’re thinking, “Sounds like fun!” Luckily we were moving from one NT domain, OldDom, to another 2003 AD domain, NewDom, so that made it a little easier.

Continue reading


Lync 2010 VCFG Converter

One of my colleagues approached me a couple of weeks ago about creating a scripted solution to extract the data from a Lync VCFG Voice Configuration File. Traditionally the time and work involved in documenting a Lync voice deployment was a manual process, and I like to automate these things where I can. I’ve been working with VBScript and JavaScript in Windows Environments for a few year now. I had toyed around with Powershell, but this was the first real script that I’ve built. This is also my first chance to work with Powershell integration with Excel and XML data structures. I tried to keep it as clean and simple as possible. So here we go…

  • Export your VCFG from the Lync Control Panel.
  • Place the VCFG in the same folder as the LyncVCFGConverter.ps1 file.
  • Open the Powershell Command Windows and navigate to the directory where you have the files stored.
  • The syntax for running the script is .\LyncVCFGConverter.ps1 ConfigFileName.VCFG
  • The script will automatically start processing the VCFG file and extract the data from it.
  • Upon completion it will save the Excel spreadsheet and open it.
  • The information is separated into the following tabs: Location Profiles, PSTN Usages, PSTN Routes, Voice Policies, and Trunk Configuration

It’s a pretty simple straight forward process, and it includes status updates along the way. I will get some screen shots posted with more information later today.

Download LyncVCFGConverter.ps1



I almost forgot how much I preferred MDT and SCCM over vanilla Sysprep Windows deployments. OSD is so much easier when you don’t have to modify the reference image, and you can just use the install.wim from the disk. meh


That thing he did…

I’ve started a blog once before and it didn’t do so well. So, hopefully with a new year, a new job, and a new domain I can keep committed to this now. I’m gonna try to keep this updated with what I’m working on and new things I’m learning. More a personal record if nothing else. As it is now, I’m working on my Microsoft Exchange 70-662 certification exam. I’m also working on Lync Enterprise Voice to try to get up to speed. I want to start with a couple of posts covering building a test lab. I’ve had to gather information from all over the web to build mine (best practices, gotchas, etc), so hopefully I can bring this all together in one place that makes it easier for me and might help someone else.