Sunday, February 27, 2011

Lync 2010 Deployment Guide (Before we start Topology Buider)

With Lync, Microsoft introduced many new concepts in functionality, topology and terminology. As always, the best practice for the Network/Lync administrator would be to get familiar with the Lync Server documentation published on TechNet: http://technet.microsoft.com/en-us/library/gg398616.aspx. If you accept advices, here is one: NEVER blindly trust ANY guide out there (including this one ) While those might be correct for THEIR particular case, we all know - there are no two environments with the exact same layout and specifics. Always have in mind what have you see here and compare to your environment before click “Next”…

We are now ready to proceed with the installation. As I said earlier, I am planning to install Lync Standard Edition Server which consists of:

 -A collocated SQL Server database
 -A collocated Mediation Server and collocated A/V Conferencing Server on the Standard Edition server

Let’s start by running Setup from our installation media. Because we already installed all prerequisites, the startup screen appears (almost) immediately. Leave the default “Installation Location” and click “Install”. This step will install the Core Components necessary for the Deployment Wizard to run.


Accept the license agreement and click OK. Wait until the Core Components are installed and Deployment Wizard appear.



***Note the check mark in “Prepare Active Directory” section:



…this is because in the previous step we have completed it successfully. Fact is – you cannot proceed with the installation if this condition was not satisfied.

First, Install “Topology Builder”. This is the “wizard-driven user interface that you use to create and edit your Microsoft Lync Server 2010 topology” as per TechNet description (but of course you already know that… if you followed my advice above and spent quality time with the documentationJ)


***If you are planning to run Lync in mixed OCS/Lync environment (which we will not do in this guide), now is a good time to install “Microsoft Lync Server 2010, WMI Backwards Compatibility” utility (OCSWMIBC.msi), found in the installation media, for example:” D:\Setup\amd64\Setup”.


 If, however, this is new Lync install in a lab and OCs is not present, skip this step.

Because THIS server will be our first Lync Server in the deployment, we must run “Prepare first Standard Edition Server” task form the Deployment Wizard. This will prepare the SQL storage for our Central Management Store. CMS description can be found here: http://technet.microsoft.com/en-us/library/gg398089.aspx.




***As you can see, the Wizard installs SQL 2008 Express edition which will hold our Lync deployment configuration (hence “Central Management Store”). Be patient and do not fiddle with your server while installing. Now is a good time to grab a beer, have a smoke or whatever your vice is…


Once again my heart is full with joy - “Task status: Completed.”


Next we will run Topology Builder for first time and begin to build our first server… late next week. My lovely wife calling me to help her packing for our trip to Enterprise Connect conference in Orlando. It never stop amazes me how big her shoe collection is… Sometime I think Imelda Marcos finally found a match…

Meanwhile, watch the "First run videos":

Lync 2010 Deployment Guide (Prepare our first Lync Server)

Before we proceed with our first
Lync server deployment, prerequisites must be installed as described here:
http://technet.microsoft.com/en-us/library/gg412778.aspx

I will begin by running Windows Update on my server as many times as necessary until “Windows is up to date” appears.


***I will even install .NET Framework 4 just to see if will affect our Lync installation down on the road.
The easiest way to install prerequisites (at least for me) is to run the following commands from command prompt:
servermanagercmd -install Net-Framework Net-Framework-Core Net-Win-CFAC Net-HTTP-Activation NET-HTTP-Activation WAS WAS-Process-Model WAS-Net-Environment WAS-Config-ApIs

servermanagercmd.exe -install Web-Server Web-Asp-Net Web-Windows-Auth Web-Metabase Web-Mgmt-Compat Web-WMI Web-Lgcy-Scripting Web-Client-Auth Web-Http-Redirect Web-Log-Libraries Web-Http-Tracing Web-Basic-Auth Web-Scripting-Tools
servermanagercmd -install MSMQ MSMQ-Services MSMQ-Server MSMQ-Directory



Install the Rewrite module. You will find it on your Lync installation media, for example: D:\Setup\amd64

…and since we are here already, why don’t we install VC++ Redistributable…


Now run the following from command prompt:

pkgmgr.exe /ip /m:"C:\Windows\servicing\Packages\Microsoft-Windows-Media-Format-Package~31bf3856ad364e35~amd64~~6.1.7600.16385.mum"
***ATTENTION! The above command applies to Windows Server 2008 R2. If you will install Lync on W2K8 R2 SP1, here is the proper command:

pkgmgr.exe /ip /m:"C:\Windows\servicing\Packages\Microsoft-Windows-Media-Format-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum"
***At this point, the system will restart! When you login back, go to Server Manager -> Features and add “Desktop Experience”. I found that later - if or when you enable “Music On Hold” on your
Lync server, the log will register an error that “either the file is not present (while it is there) or is unknown format (huh, WMA is unknown?!?)


…and indeed, a reboot is required… again.
Now our first Lync server is ready for some serious work.

Lync 2010 Deployment Guide (Prepare Forest and Domain)

First we need to prepare our Active Directory Forest and Domain for Lync 2010. The steps are described here: http://technet.microsoft.com/en-us/library/gg398869.aspx.

I will do it by using Setup on my Domain Controller from Lync installation media as described here: http://technet.microsoft.com/en-us/library/gg412729.aspx.

First, we are prompted to install Visual C++ 2008 Redistributable.



Once installed, Setup dialog box appears.


Click Install and accept the License Agreement on the next screen and click OK. At this point, Lync Server Code Components will be installed and the deployment wizard will appear.



Click “Prepare Active Directory”



***As you can see, some options are “dimmed”. This is because the preparation requires strict order and the wizard help us to follow it.

Click the only available option to prepare the Schema.






***Have patience. It might take minute or two. Wait until the “Finish” button is available. I strongly advise you - always examine the result of the any action you perform via the wizard. In our case, the schema preparation was successful.


***In my case I have only one Domain Controller and will not worry about Replication. However, if you are deploying Lync in Production (which means you have more than one DC), always wait/check if the replication was completed.

Now “Prepare Current Forest” button is available. Click “Run”.








***In my case, I will prepare the “Local Domain”, since it is the only domain in the forest.
Verify the successful completion and click “Finish”. Prepare Current Domain is now available. Click “Run”.





***Shall you see an error on any of the above steps, do not run to Google and apply every “fix” you might find. Ask the community first: http://social.technet.microsoft.com/Forums/en-US/category/ocs. Here you will find first hand help and the risk to wreak havoc in your production environment is much lower.

Exit the “Deployment Wizard” and eject the media from your Domain Controller – we are now done.

***Another advice: Right now, use “Active Directory Users and Computers” console and add your account to CSAdministrator” group. By doing so, later you will spare yourself the question “Why I cannot access Lync CP (Control Panel)”




Saturday, February 26, 2011

Lync 2010 Deployment Guide

Sometimes I consider myself “the luckiest man alive” for at least two reasons -  I am married for the same woman for 25 years (and still in love as I was the day I met her on a bus station) and…  because I have never experienced most or any of the problems other UC enthusiasts have had and requested help from the Lync community (http://social.technet.microsoft.com/Forums/en-US/category/ocs). I almost feel obligated to do once again a complete Lync 2010 installation, while taking a screenshots and inserting my comments with hope others can use it as a guide and/or point of reference.
Because I have more confidence in my Lync knowledge than English language skills, any comments will be greatly appreciated.

While I am waiting “Windows Server 2008 R2 Standard, Enterprise, Datacenter, and Web with Service Pack 1) installation media to download from TechNet, let’s talk about what is that we want to achieve.

I have public domain “drago.ws”. I am planning to install new domain controller on my virtual host machine “dc01.drago.local” where Windows 2008 R2 Service Pack 1 will be used as OS (this is, to see the possible impact, if any) Service pack one will have on our future Lync 2010 installation.
Because I have never done installation of “split domain” environment, this will be a good learning curve for me as well – I will learn how to do it and the final result will be published here. Also, I will “play” with two scenarios – using singe IP address for the public Edge interface and later – three separate IP addresses (NAT will be used in both, since direct public routable IP address setup cannot be easier and straightforward).

Here is our table:





My domain controller will also be my Domain Certificate Authority for drago.local domain.

Step 1 – Prepare Active Directory Forest for Lync 2010
Step 2 - Prepare our first Lync Server for deployment
Step 3 - Before we start Topology Buider