Migrating your Terminal Server License Server from Windows Server 2003 to 2008

I've had a couple of customers in the last 6 months migrate their Terminal Server License Server (TSLS) from Windows Server 2003 to Windows Server 2008 R2 and they have all been extremely nervous about it. I can completely understand why - TSLS stop working and 10s/100s/1000s of users stop being able to connect to the Citrix farm definitely does not a good day maketh! I also appreciate that TS License server 'stuff' always seemed quite arcane and poorly documented. Is the answer to everything to call the Microsoft Clearinghouse?. I spent a year supporting this technology 5-6 years ago so I do understand how confusing it is.

Anyway, here is a collection of stuff that has helped my customers successfully make these migrations go seamlessly:

Move TS Licensing to a New Server
https://technet.microsoft.com/en-us/library/cc730776(WS.10).aspx

Remote Desktop Services (Terminal Services) Team Blog : Migrating a Windows Server 2003 TS License Server
https://blogs.msdn.com/rds/archive/2009/03/06/migrating-a-windows-server-2003-license-server.aspx

There always a request of "how do I know the new TSLS is working?" and, of course, me saying "well, get a client that has never connected before (i.e. no cached TS license) to try and connect and that will prove it" just never seems to inspire confidence...  so... if you are using 'per user CALs' here's a neat script that will dump some info to show that smoke & mirrors is actually working:

Generate Per User CAL Report
https://gallery.technet.microsoft.com/ScriptCenter/es-es/9739eaee-fb8a-4cb8-8456-7f138d175934

Note: when using a Windows Server 2003 TSLS, you can run the tsctst.exe command to verify that a license has been received when using ‘per device CALs’. This no longer works when the TSLS is running Windows Server 2008/R2 (you’ll get an error message ‘the client does not have a license’).