Quantcast
Channel: Lync News
Viewing all 4272 articles
Browse latest View live

Script: Query Front Ends for Specific Event Log ID’s

$
0
0

I was troubleshooting today with my main Lync man “JP” (who chooses to remain nameless). Part of our troubleshooting was checking against 6 (and sometimes 12) front ends to see if a specific Event ID appeared in Event Viewer. This was tedious, going to each server and then a lot of them getting no results.

JP said “there should be a script to do this for us”.

And from that comment this script was born. It’s possible someone has already written this script. We didn’t bother looking since it is a fairly simple script. If someone has written this, then let me know and I will give you credit.

The script – Get-CsEventID – is pretty simple. There are 2 mandatory parameters:

-Pool is the name of your Lync pool which is then sent to Get-CsSite to get the names of each of the servers in your pool

-EventID is the Event ID for which you are looking.

The two optional parameters are:

-LogName By default the script searches in the “Lync Server” log but setting this will let you search against other logs like Application or System

-StartTime If you want to limit your search to the past few hours or days, then set StartTime to the number of hours you want to go back. By default, this is set to 72, so it will search back for the past 3 days.

Here are 2 examples:


.\Get-CsEventID -Pool skypepool.flinchbot.com -EventID 12288

This will search for Event ID 12288 across the skypepool.flinchbot.com pool. It will search for the past 72 hours for this entry.


.\Get-CsEventID -Pool skypepool.flinchbot.com -EventID 6005 -LogName "System" -StartTime 4

This will search the same pool, but now for EventId 6005 in the System log. It will search back the past 4 hours.

Grab the script here.

 


Just a Lync Guy: Microsoft releases MS15-044: Description of the security update for Lync 2013 (Skype for Business): May 12, 2015

$
0
0

This security update resolves a vulnerability in Microsoft Lync that could allow information disclosure if a user opens a specially crafted Lync meeting request.
This security update for Microsoft Lync 2013 includes the new Skype for Business client.

Source:

Download information

Known issues

Improvements and fixes

Q&A From Microsoft:

Q1. Is the Lync UI identical to the Lync 2013 UI? Are there changes or artifacts that administrators must be aware of?

A1. People who use the Lync UI in the new client will have an experience which is very close, but not identical to the old experience. Specifically, while the traditional Lync windows and controls are unchanged, the task tray icon, the menu item in Windows, and several buttons in Outlook reflect the new Skype brand. We unfortunately do not have the ability to change the behavior of these artifacts in Windows and Outlook. There is one additional artifact which is under administrator control, which is whether the Skype for Business first run experience is displayed. This may be suppressed as described below.

Q2. Is it possible to apply the May update and suppress all Skype for Business artifacts?

A2. No. The task try icon, the menu item in Windows, and several buttons in Outlook will reflect the new Skype brand even if the Lync UI is selected. We do not have the ability to change the behavior of these artifacts in Windows and Outlook. This is because, as with any other Microsoft or 3rd party program that integrates with Windows or Office, we must conform to published standards and interfaces covering application interaction. These standards and interfaces do not provide the ability to switch behavior of the noted artifacts.

Q3. Are there any other issues to keep in mind?

A3. Yes. It is important to keep in mind the user>site>global precedence of policy settings when designing and implementing readiness steps. In some cases, setting only a “global” policy will not be sufficient. In addition, if users in an organization use Lync Basic on their personal, unmanaged computers at home, it may be necessary to communicate the changes to those users since policy settings may not apply to those personal, unmanaged computers.

Q4. Why did we add the new UI to the existing Lync 2013 client rather than waiting for the next version of Office?

A4. We added the new UI to the existing Lync 2013 client in order to make it available to customers sooner, and to ensure that current Lync 2013 customers would have the option to use the new UI now rather than later. This allows them to take advantage of the familiar UI to accelerate adoption within their organizations. As noted above, the new Skype for Business client includes both the new UI and the existing UI – this gives customers the choice of delaying adoption if better for their users and processes.


Filed under: Cumulative Update, Lync, Skype for Business Tagged: KB3039779, Lync 2013, MS15-044, Skype for Business

The Lync Insider: Which Skype for Business Product Should You Use?

$
0
0

Skype for Business is looking like a complete ecosystem – software products covering all platforms. Desktops, laptops, phones, tablets, cloud. “Unified Communications” seems to have given way to “Universal Communications”.

Businesses have a real choice for their VoIP phones, chat, conferencing, etc. these days. If you’re going with Skype for Business, you have a decision to make – Skype for Business Server, or Skype for Business Online?

Feature Comparison

In the past, Lync Online had limits. It was missing PSTN connectivity, Enterprise Voice features & Persistent Chat.
Why Doesn’t Lync Online Include Persistent Chat? 4 Reasons
Reader Question: Call Transmission in Lync Server vs. Lync Online

That’s changing with Skype4B Online.
Skype-for-Business-logo-FI

office-365-logo2

Baked-in Enterprise Voice and PSTN Connectivity are coming with Skype for Business Online’s rollout. Which makes Skype4B Online into what many people originally thought Lync Online/Office 365 would become: a full-fledged cloud-based communications platform. UC as a Service.

Lync Online to Become Full-Fledged Hosted UC Service – NoJitter

Feature-wise, this makes the two Skype for Business platforms are very similar. Add in Exchange Online and your users may not be able to tell the difference.

Skype for Business Service Descriptions (Server and Online) – TechNet

The Differences: Support and Scale

All that said, I still think there’s even more value to Skype for Business Server 2015. You have more control over support, features unique to the Server version…and there’s the question of scalability.

Scaling up on Office 365 is pretty easy – have more users? Buy some more Business or Enterprise licenses.
(Note: Skype for Business Online is available with Office 365 Business Essentials, Premium, and Enterprise E1. But it doesn’t have PSTN capability at these levels. If you want to make calls out, you’ll need the ProPlus or Enterprise E3 levels.)

However, you do have to pay for more users this way. You don’t with Skype for Business Server – just add users in Active Directory & enable in Skype4B.

Remember how I mentioned Lync Online didn’t have Persistent Chat? Turns out Skype for Business Online won’t get it either.

According to this plan comparison, Persistent Chat and dial-in audio conferencing are only available in Skype for Business Server 2015. (Enterprise Voice functionality is listed as server-only too, but the NoJitter article talks about Microsoft phasing Enterprise Voice into Skype for Business Online over time.)

I’ve said before that I’m a big fan of Persistent Chat. So this news really disappoints me. Skype for Business Online users are missing out here. Server users aren’t.

Finally, support. All Office 365 plans include phone & web/email support from Microsoft, plus the Office 365 Community. However, if you still need support beyond this, you’ll have to pay for either Premier Support or work with a Microsoft Partner.

Server 2015 support has similar options – Microsoft’s knowledge base, standard Microsoft Support, and working with a Microsoft Partner for advanced support needs.

Either way, you’d end up working with a Microsoft Partner (like us!).

Which Version to Use, by Business Size/Type

All that said, here are my recommendations for who should use which version of the Skype for Business product.

Skype for Business Server 2015:

  1. Enterprises
  2. Multi-Location businesses
  3. Cloud-Cautious businesses (security & uptime are critical, or you must keep data in-house due to regulations).
    1. A hybrid environment is also possible. We’ll discuss these options in a later post.
  4. Businesses who use (or want to use) Persistent Chat, Dial-In Audio Conferencing & E911.

Skype for Business Online:

  1. Small businesses without an Exchange Server
  2. New businesses/startups (until the company grows)
  3. Organizations using a group of online communications tools already – WebEx, Join.Me, Jabber/Google Talk, HipChat

(I reserve the right to modify these recommendations later, as we see more of the rollout!)

While cloud-based services definitely have value – we host our own private cloud for customers, in fact – there’s still plenty of case to use an on-prem version.

Which Skype for Business product are you considering? Please comment or email with your thoughts and reasoning.

The post Which Skype for Business Product Should You Use? appeared first on The Lync Insider.

Quick RegEx Trick

$
0
0

AnientRegExI thought I blogged this but I guess I didn’t. So I am posting this mostly to save myself time finding this the next time I look for it.

I had a regular expression that returned 2 variables. Here is what I wanted:

$1555$2.

However Lync interprets “$1555″ as a variable instead of what I want which is just $1 as the variable. So how do I tell regular expression that it should stop at the first 1 and not continue until the next delimiter ($2)?

Answer:

Use curly braces

Re-writing it in this format got me the desired result:

${1}555$2

The fourth paragraph on this website is what got me the answer – http://www.regular-expressions.info/replacebackref.html

Matt Landis: Microsoft Lync Attendant 2010 Causes Lync SDK to be Unstable

$
0
0

If you having a problem running a Lync SDK based application you may need to uninstall Attendant 2010 and repair Office.

  • Is Attendant 2010 installed on this computer? If it is, please uninstall it.
  • If Attendant 2010 has been installed on this computer in the past, please perform a repair install of Office 2013. You can do this in Programs and Features in the control panel.

Go to Add/Remove Programs (Office) | Change

If Office installed from MSI = Click “Repair”

 

If Office (Office Online) installed ClickOnce = Click “Online Repair”

Att37D9.tmp.tmp

Matt Landis: Skype for Business User QuickTip #36: Everything You need to Know About “Call Monitor”

$
0
0

 

Skype for Business has introduced a new feature called “Call Monitor”. What is it? It is a panel that shows when the active conversation window is minimized and always shows on top so you don’t lose the ability to control an active call.

With Call Monitor you can mute and hang up a call with a click. (now you can always find Mute in time to hide a sneeze!) You can also see the name and picture of the caller and a timer of current call length. (below)imageEver “lose” the active conversation window among your many open windows? Just click anywhere (but the title bar) to bring the active call window to the front and focus. (below)

image

You can’t place a call on Hold from the Call Monitor window, but you can Resume a call that was placed on Hold prior from the active call window. When a call is on hold the timer switches to how long this call has been on hold.image

If you have a video going, the Call Monitor will show the video. The controls (name, timer, mute and hang-up) will only be shown when you mouse over the video (or picture if video has been stopped). I’ve noticed that if you start a video then drop to audio only, the larger/video format remains.

image

You cannot “mute” video from the “Call Monitor”, but you can from the active conversation window. If you do the active speakers’ picture will be shown.

image

In conference calls Call Monitor shows the active speaker.

When you have 2 calls in progress (1 active, 1 on hold), you need to find the conversation window of the call that is on hold (Call Monitor won’t help because it isn’t the active call) and resume the call.

Of course, if you don’t like the new “Call Monitor” feature, you can turn if off by going to Options | General and unchecking “Show call controls when Skype for Business is in the background.

image

 

If you would like a Call Monitor that is focused on making handling voice calls even more efficient, works on Lync and Skype for Business and more features, take a look at the free Technet Gallery “Call Monitor Pro” application:
https://gallery.technet.microsoft.com/office/Call-Monitor-Pro-Community-e30e71b8

https://support.office.com/en-nz/article/Lync-is-now-Skype-for-Business-%e2%80%94-see-whats-new-aba02d7e-c801-4a82-bccd-e7207240f612?ui=en-US&rs=en-NZ&ad=NZ

Just a Lync Guy: How to use the new Key Health Indicators for Skype for Business Server and Lync Server 2013

$
0
0

Microsoft released a new version of the KHI tools on 28-April-2015. this version of the KHI Tools is an update to an earlier version that was introduces as part of the Lync Networking Guide.

Download: Key Health Indicators for Lync Server 2013 and Skype for Business Server 2015

In this post I’ll go through the process of configuring the KHI by using the script and how to analyze the results.

Steps Required to use the KHI:

1. Download the new Key Health Indicators for Lync Server 2013 and Skype for Business Server 2015 and extract it content to a separate folder.

2. Copy the Create_KHI_Data_Collector.ps1 file to every Lync Server you would like to monitor and analyze the data for.

It is recommended to run it on the following servers:

  • Lync Front End Server
  • Lync Backend Servers (SQL)
  • Mediation Servers (If are not collocated)
  • EDGE Server

    Please note

    that if you already used the script from the previous Lync Networking guide, there is no need to run this script again.

3. The script itself contains a list of all Lync related counters and once we run it on the server it created a data collector set in which we need to configure in order to capture the raw data based on those counters and export it to a CSV file which later on can be analyzed by the Excel file Microsoft provided.

image

4. In order to run the script, we need to open any PowerShell windows with Admin rights and run it based on the server we have.

  • Create_KHI_Data_Collector.ps1 –version Skype4B
  • Create_KHI_Data_Collector.ps1 –version LyncServer2013

Another nice option Microsoft added to the script is the ability to run it against remote computer as well:

  • Create_KHI_Data_Collector.ps1 –version Skype4B –computer fe1pool1.contoso.com
  • Create_KHI_Data_Collector.ps1 –version LyncServe2013 –computer fe1pool1.contoso.com

Untitled

5. Once the script is completed, in the Performance Monitor (perfmon.msc) we can see the new Data collector that was created under User Defined container named KHI:

image

6. Now that we have the data collector set with all the right counters created, we need to set an automatic schedule for it in order to have a daily log file of all the counter.
In order to set the setting, right-click on the KHI on left side pane and choose properties:

image

7. On the properties window, we have 5 different tabs we can configure:

image

  • General – General Information on the data collector such as Keywords, Description and the user it runs with
  • Directory – Here we need to set the directory where we want to keep all the daily log files. if this is a small environment you can keep the files on a local folder (C:\KHI) or you can choose write it to a Shared folder where all the servers will report to.
  • Security – The user and groups and the permissions assigned for the specific Data Collector set
  • ScheduleHere we can create one or multiple schedules to set when we want the Data Collector set to start collecting the counters data.
    What I typically configure is a work-day set in order to have relevant data when the system is loaded with users and operations.
  • Stop ConditionThis is important as we don’t have another option on the Schedule tab to actually stop the scheduler if we want co collect data only during working hours. Here you can set the amount of hours you want to collect the logs for.
  • Task – Here we can set additional parameters or arguments we want to add to the data collector.

imageimage

8. Once the schedule is configured, you’ll notice that the Data Collector set will start generating a daily logs files based on the schedule we’ve set.
Please note that for the analyzing part, we need to have all logs from all the different servers within the same working folder, therefore it’s recommended to copy all relevant KHI files to a single folder.

image

9. Once we have the logs collected, we are ready to analyze them with the Key_Health_Indicators_-_Analysis_and_Definitions_Workbook.xlsm file.
Once opened, make sure you’ve eanbled both Editing and Content otherwise you won’t be able to analyze the logs.

image

10. Click on the Start button, and select the folder where you have the CSV file gathered and choose select.
If all files are set correctly the tool will notify us on the amount of files found in the folder and their total size.
In order to start with analyzing the files, choose OK

image

12. Once you clicked on the OK button, you’ll notice in the bottom bar of the Excel file that it notifying upon its progress:

Untitled

13. Once completed, a few additional tabs will appear in the Excel file:

image

  • Charts – Two charts are generated and should be your analysis starting point. The first chart (left-side) is a summary count of how many servers have KHIs beyond threshold per Ring.
    The second chart (right-side) is a view of all the KHIs for each ring across all servers.
  • Timeline – A new metric called “Burst Count” which analyzing the maximum values of the counters to decide if that happened only on a single instance or there were a number of instance causing the maximum burst.
  • Pivots – The provided pivot table can pivot off Rings, Health, Server Role and Server Names. This is a very similar table to what was used in the previous version, with a better view and a few filters which helps determine the key areas which need further troubleshooting.
  • Tables – The actual raw data that was analyzed for manual changes or for further troubleshooting or creation of additional pivots.

An Example of the Counters Pivot Table:

image

That’s it, I highly recommend to read the KHI_Guide.docx document which is provided as part of the KHI download, it contains a great list of explanations and definitions per each counter which helps determine what the counters are used for and what a bad sub-optimal value actually means.


Filed under: Lync, Skype for Business Tagged: Key Health Indicators, KHI, Lync 2013, Skype for Business Server 2015

Lync.geek.nz: Lync 2013 - Online Meetings

$
0
0

Creating a Lync Online Meeting

There are 2 ways in which an Online Meeting can be organised.

  1. Schedule a meeting in Outlook

  • Select a time slot in your calendar and then select “New Lync Meeting”:


  • Add the person you wish to invite to the meeting. Lync will auto populate the meeting join information ready for you to send:


  • To join the meeting using the same link that you just emailed to the customer
  • Start the meeting immediately from Lync
    • From the Lync menu select “Meet Now”:


    • Select the audio experience:


    • Get the meeting join information by selecting the additional options menu (…) at the bottom right of the conversation window:


    • Copy or read out the join information – the meeting can be joined by dialling in to the listed phone number and using the conference ID, or via the web browser for a richer experience via the meeting link:


    What will the customer see?? 

    Once you have provided the meeting join information, the customer can join the meeting in 2 ways:

    1. Over the phone – If this is an audio only conference they can dial-in to the conference using the dial-in number and conference ID.
    2. Online Meeting – If you want to share content such as your screen, the customer should follow the provided meeting link. This will open the following page in a web browser:


    The customer should enter their name and select “Join the meeting”. If this is the first time they have used Lync Online Meeting they also need to install the Lync Web App plug-in as highlighted above.

    To install the Lync Web App the customer should follow the provided instructions which look like this:




    NOTE: Once installed the customer may be prompted by Windows firewall to allow the connection
    Before joining the meeting the customer will be prompted to allow the Lync Web App plugin to run:



    Once the customer has joined the meeting, depending on the meeting configuration (which will be talked about later in this document) the customer may require admission from the meeting lobby. Select “Admit” to enter them in to the conference or “See Lobby” for further information:



    “See Lobby” option:



    Setting Meeting Permissions

    Depending on how you organise the meeting there are 2 ways in which you can change the meeting permissions:

    1. If you are creating the meeting using Outlook -

    Select “Meeting Options”:



    Select the options that you require. Below is a common configuration:



    “A new meeting space” has defined permissions as in the above example. If you don’t require any restrictions on your meeting use the default setting “My dedicated meeting space”.

    Under the “Phone” tab you can specify from list of available calling regions. This calling region will be number displayed for dial-in.



    The participant can still search for local numbers by following the “Find a local number” link in the Outlook meeting request:



    This information can also be accessed from the Lync Meeting Entry Info mentioned in more detail earlier in this document:




    2. If you created the meeting using the Meet Now option -

    Selecting the additional options menu (…) at the bottom right of the conversation window and Select “Lync Meeting Options”:



    Select the options that you require. Below is a common configuration:




    • Lobby – here you can decide who can get directly into the meeting without waiting in the lobby. If a particular attendee is required to wait in the lobby the meeting organiser will have to admit them as mentioned earlier in this document.
    • Presenters – By making an attendee a presenter you give them the ability to control the meeting and its content.




    Lync.geek.nz: Skype for Business 2015 - Client Getting Started

    $
    0
    0

    CONFIGURE AUDIO/VIDEO

    It is very important to understand audio configuration in Skype for Business. This will ensure that you are able to hear your phone ring, and have a good audio experience when in a call.
    Select the “Audio Device Settings” option from the bottom left menu:



    Ensure you have a speaker, microphone and ringer configured. Use the play buttons to test your configuration:



    If you have 2 audio devices you may want to also enable the “Secondary ringer” option. This is particularly useful if your primary device is a headset, and you would like to set your PC speaker as the ringer. It is also advisable to “Unmute” when the phone rings:



    If you have a camera configure this from the “Video Device” options. Select the device from the drop down menu and make sure it is working in the preview window:


    ADDING CONTACTS

    To add a contact to Skype for Business search for them, then right click “Add to contacts list”. Depending on your configuration Skype for Business will also display Outlook contacts:



    There are different privacy levels available that determine who can see what information. To view or change the privacy level right click the contact, select “Change Privacy Relationship”, then choose from the available options:


    SET UP ADDITIONAL PHONE NUMBERS

    To allow your contacts to see your other phone numbers you need to add them to Skype for Business. Select the options cog from the top right:




    Select “Phones” then click the phone number type you would like to add. Use the “Include in my contact card” to make it easily visible to your Skype for Business contacts:



    Note: Your work phone is generally set by the administrator and cannot be changed.


    PHONE SOMEONE

    You can phone someone using one of the following 3 options:

    1. Type (or copy/paste) the phone number, and either press Enter or double-click the highlighted number


    2. Hover over/click the contact picture and use the phone icon



      NOTE: This option will automatically call the last number you used for that contact (i.e. Skype for Business call, work number, mobile number etc)
    3. Reveal a list of available numbers for the contact select the arrow next to the phone icon



      If you would like to leave one of your contacts a voicemail without disturbing them select the “Voicemail” option

    Once the call is initiated a call window will open:



    If you move away from the active call window a compact hovering window will appear so quick access to call controls. Double click to bring up the main call window again:



    ANSWER AN INCOMING CALL

    When you receive an incoming call a notification will pop up. Select the phone icon to answer the call:


    TRANSFER A CALL

    Select the “Transfer” button in the active call window:



    You can select one of your own numbers, search for a contact, or type a number to transfer to:



    Once you have selected the destination for the transfer, select the transfer button:


    If you are transferring to a contact, and you wish to select from one of more listed numbers, right click the contact and select from the menu:


    REDIRECT A CALL

    When you receive an inbound call you have the option to redirect it rather than answer. You may wish that the call to goes straight to voicemail, or you may be out the door and want to redirect it to your mobile.

    Select “Options” from the call notification pop up and select where you want to redirect the call:


    CALL FORWARDING

    There are 3 call forwarding options that can be accessed directly from the call forwarding menu at the bottom of Skype for Business:

    • Turn Off Call Forwarding
    • Forward Calls To
    • Simultaneously Ring

    For more advanced call forwarding options select “Call Forwarding Settings”:



    REDIRECT UNANSWERED CALLS

    By default if voicemail is enabled unanswered calls will be redirected to your voicemail box. You can change these settings from the “Call Forwarding Settings” option mentioned above.


    RETRIEVE VOICEMAIL

    You can retrieve your voicemail in one of 3 ways:

    1. Outlook - Voicemail is delivered to your Outlook inbox and can be played directly from the message


    2. Skype for Business - Voicemail can be retrieved from the Skype for Business client by selecting the phone tab. To play the voicemail hover over the left hand side of the message and then select the play button:


    3. You can also call your voicemail box using the voicemail options menu:


    4. Dial-in – You can dial in using any phone to the dial-in access number. You will need to know your Skype for Business number or extension, as well as your PIN. See the dial-in conferencing section below for information on how to find these details.

    SET UP VOICE MAIL

    Using the voicemail options menu or dial-in option above, you can call in to configure your mailbox:



    The first time you call in to voicemail you will be asked to record your name and a personal greeting.

    VOICEMAIL OPTIONS

    Once you have accessed your Voicemail, you will be prompted to use the default voice recognition system to speak any of the following options:


    PERSONAL OPTIONS


    SET UP AD HOC CONFERENCE CALLS

    A meeting between co-workers and other contacts is easy using Skype for Business.  Simply select “Meet Now” from cog menu:



    To invite people select the participant icon, then “Invite More People”:



    Search people by name or phone number:



    If you are planning to share content with external parties that don’t have Skype for Business, you will need to provide them the meeting link. This can be accessed from the additional options menu (…) by selecting “Meeting Entry Info”:



    NOTE: For more information see the Online Meetings Guide.

    DIAL-IN CONFERENCING

    INTRODUCTION

    Dial-in Conferencing allows you to set up and maintain your own conference room where you can invite anyone to join using Skype for Business or a standard phone.

    REGISTER TO USE DIAL-IN CONFERENCING

    If you intend to host or attend a conference call with external parties, you will need to set your PIN, Passcode and Conference ID in the Dial-in Conferencing system.When you dial in from a phone you will be given the chance to enter your PIN to enter as the leader.

    Please note:  When calling from Skype for Business you will be automatically authenticated so a PIN is not required.  

    To configure Dial-in Conferencing select the cog menu then “Tools” – “Dial-in Conferencing Settings”:



    Click “Sign-in” and enter your Skype for Business credentials:



    If this is the first time you have logged in your will be asked to create a PIN number:



    Note your unique conference information and the available dial-in numbers:



    Use your “Phone Number” or “Phone Extension” to identify yourself when dialing in and your PIN to authenticate:


    SCHEDULE A CONFERENCE CALL

    Online meetings can be scheduled using your Outlook calendar. Open a new appointment and select “Skype Meeting”:



    You will see that the meeting information is automatically included in the appointment body ready for you to send:



    JOIN AN ONLINE MEETING

    To join a scheduled online meeting simply select the “Join Skype Meeting” link included in the appointment:



    If you have Skype for Business installed the meeting will automatically start, otherwise you will be presented with options for joining the meeting. You and your participants can also dial-in using the supplied local number or by searching “Find a local number”:



    When dialling in use the conference ID to enter the meeting. If you are the conference leader you will also need your PIN.

    NOTE: For more information see the Online Meetings Guide.



    Lync.geek.nz: Skype for Business 2015 Migration Step by Step

    $
    0
    0
    If you want to upgrade to Skype for Business Server 2015, and don't have a purely Lync Server 2013 environment, you will have to follow the migration path. The recommended path is to migrate from OCS or Lync Server 2010 to Lync Server 2013, then complete an in-place upgrade.

    If you already have a purely Lync Server 2013 environment, you can skip straight to an in-place upgrade.

    See the following links for more information on the other deployment options:

    To learn how to migrate to Lync Server 2013 see the following links:


    Lync.geek.nz: Skype for Business 2015 Deployment Step by Step

    $
    0
    0
    This step by step guide will walk you through the process of installing Skype for Business Server 2015.

    See the following links for more information on the other deployment options:


    Tip: Click each section to expand and contract its content


    Hardware Prerequisites
    Microsoft recommends the following minimum requirements for Front End Servers, Back End Servers, Standard Edition Servers, Persistent Chat Servers, and Persistent Chat Store and Persistent Chat Compliance Store (Back End Server Roles for Persistent Chat Server):

    • Dual CPU with 6 Cores, 2.26GHz
    • 32Gb Ram
    • 72Gb Disk Space
    • 1GHz Network adapter


    Microsoft recommends the following minimum requirements for Edge Servers, Standalone Mediation Servers, and Directors:

    • Dual CPU with 4 Cores, 2GHz
    • 16Gb Ram
    • 72Gb Disk Space
    • 1GHz Network adapter


    In reality these can be much less depending on the number of users and activity. To give you an example for a deployment of 500 users, a Skype for Business Front End will happily run as follows:

    • Single CPU with 4 Cores, 2.26GHz
    • 12Gb Ram
    • 72Gb Disk Space
    • 1GHz Network adapter



    Software Prerequisites
    In this section you will find the software requirements for Skype for Business Server, including Windows Server and its required prerequisites, and SQL server.


    Server Operating Systems
    Before you get started you will need to decide on and operating system and install some prerequisites. Skype for Business is supported on Server 2008R2, 2012, and 2012R2. It is highly recommend that you choose Server 2012 or newer unless you have good reasons to use 2008R2, such as performing an in-place upgrade from Lync 2013 which is already running on 2008R2. In any case ensure you have the latest service packs and updates applied.

    Why 2012 or newer?
    Windows Fabric v3 is supported on these newer operating systems, which brings some significant improvements over v2. Also Windows Server 2008 R2 reached the end of the mainstream support lifecycle on 1/13/2015.

    Make it easy!
    Keep an eye out for an updated version of Pat Richards prerequisites script for Server 2012 and 2012R2. At the time of writing this had not been updated, but I am sure it wont be far away!

    Prerequisites for all Skype for Business roles
    • Apply all Windows Updates ensuring the following are included:
    • Microsoft .NET Framework 4.5 - Install via Server Manager Features on Server 2012 or Server 2012 R2 or get it here
    • Windows PowerShell 3.0 (included with Server 2012 or Server 2012 R2) - get it here

      Tip: You should be on build version 6.2.9200.0 or greater. Run $PSVersionTable to check
    • Windows Identity Foundation 3.0 - Install via Server Manager Features on Server 2012 or Server 2012 R2 or get it here
    • AD DS and AD LDS tools – install from Server Manager Features (under Remote Administration Tools -> Role Administration Tools)
    Additional Prerequisites for Front End Servers
    • Enable .NET 4.5 WCF Services -> HTTP Activation from Server Manager Features
    • .NET 3.5
      • Installed by default with Server 2008 R2
      • Server 2012 and Server 2012R2 - install from Server Manager Features, and point to the installation media (specifically the \sources\sxs folder) if asked for it (installation media may not be required if you have internet access on your server)
    • Media Foundation/Desktop Experience – install from Server Manager Features
      • Server 2012/2012R2 install Media Foundation
      • Server 2008R2 install Desktop Experience
    • SilverLight (Required for the Skype for Business Control Panel) - get it here
    • IIS
      • Common HTTP Features
        • Default Document
        • HTTP Errors
        • Static Content
      • Health and Diagnostics
        • HTTP Logging
        • Logging Tools
        • Tracing
      • Performance
        • Static Content Compression
        • Dynamic Content Compression
      • Security
        • Request Filtering
        • Client Certificate Mapping Authentication
        • Windows Authentication
      • Application Development
        • .NET Extensibility 3.5
        • .NET Extensibility 4.5
        • ASP.NET 3.5
        • ASP.NET 4.5
        • ISAPI Extensions
        • ISAPI Filters
      • Management Tools
        • IIS Management Console
        • IIS Management Scripts and Tools

    Make it easy!
    If you're installing on Server 2012 or Server 2012R2, run the following PowerShell commands to prepare your Front End Server server:

    Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Dir-Browsing, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Server-Media-Foundation, BITS -Source <source e.g. D:\sources\sxs>

    Tip: If you a have internet access you do not need to specify the BITS source

    Tip: If you are upgrading a Server 2008R2 server you should already have these prerequisites installed



    Additional Prerequisites for Persistent Chat Servers
    • Message Queuing (MSMQ) – Install from Server Manager


    Additional Prerequisites for Directors
    • IIS
      • Common HTTP Features
        • Default Document
        • HTTP Errors
        • Static Content
      • Health and Diagnostics
        • HTTP Logging
        • Logging Tools
        • Tracing
      • Performance
        • Static Content Compression
      • Security
        • Request Filtering
        • Client Certificate Mapping Authentication
        • Windows Authentication
      • Application Development
        • .NET Extensibility 3.5
        • .NET Extensibility 4.5
        • ASP.NET 3.5
        • ASP.NET 4.5
        • ISAPI Extension
        • ISAPI Filters

    Make it easy!
    If you're installing on Server 2012 or Server 2012R2, run the following PowerShell commands to prepare your Front End Server server:

    Add-WindowsFeature RSAT-ADDS, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Scripting-Tools, Web-Mgmt-Compat, BITS -Source <source e.g. D:\sources\sxs>

    Tip: If you a have internet access you do not need to specify the BITS source

    Tip: If you are upgrading a Server 2008R2 server you should already have these prerequisites installed




    Additional Prerequisites for Edge Servers
    Because Edge servers are not domain joined, they require that you manually specify a DNS suffix for the server e.g. SERVERNAME.dnssuffix.com.

    To do this:
    1. Open the servers System Properties (Control Panel\System and Security\System)
    2. Select "Change Settings:
    3. Select "Change"
    4. Select "More"
    5. Under "Primary DNS suffix of this computer", enter the DNS suffix. The server name together with the DNS suffix should match what you have defined in the topology builder. e.g. S4BAE0101.ucgeek.nz





    SQL Server
    A backend SQL Server is required for Enterprise Edition pools as well Monitoring, Archiving, and the Call Quality Dashboard (CQD).
    • Ensure you are running the latest service packs and updates
    • The Monitoring and Archiving role requires SQL Reporting Service
    • The Call Quality Dashboard (CQD) requires SQL Analytics Service
    Overview of SQL high availability options:


    Tip: SQL Server Reporting Services for the Monitoring Server role isn't going to be supported with SQL Always on until post-RTM



    Other Environmental Requirements
    Outside of the hardware and software requirements there are environmental requirements to consider.


    Active Directory

    Supported Domain Controllers:
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • Windows Server 2008

    Domain and Forest Functional Level:
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • Windows Server 2008
    • Windows Server 2003

    Support Active Directory Topologies:
    • Single forest with single domain
    • Single forest with a single tree and multiple domains
    • Single forest with multiple trees and disjoint namespaces
    • Multiple forests in a central forest topology
    • Multiple forests in a resource forest topology
    • Multiple forests in a Skype for Business resource forest topology with Exchange Online



    DNS
    DNS is required to resolve friendly names to IP address and is a requirement for Skype for Business. For more information see here.



    Certificates
    A public key infrastructure (PKI) for transport layer security (TLS) and mutual transport layer security (MTLS) connections. Basically, to communicate securely in a standardized way, Skype for Business Server uses certificates issued by Certificate Authorities (CAs).



    File Share
    Skype for Business Server 2015 is able to use the same file share for all file storage, but you need to keep the following in mind:
    • A file share needs to be on either direct attached storage (DAS) or a storage area network (SAN), and this includes the Distributed File System (DFS)
    • Distributed File System (DFS) is supported
    • The file share for Skype for Business Server shouldn't (but can) be located on the Front End server or the server running SQL Server


    Network Requirements
    • If you are deploying a single Edge Server or an Edge pool using DNS load balancing, you can configure the external firewall to perform network address translation (NAT). You can't configure the internal firewall to perform NAT
    • If you use Internet Protocol security (IPsec), we recommend disabling IPsec over the port ranges used for A/V traffic - details here

    To provide optimal media quality, do the following:
    • 65 kilobits per second (Kbps) per audio stream and 500 Kbps per video stream - A two-way audio or video session uses two streams
    • To cope with unexpected spikes in traffic and increased usage over time, Skype for Business Server media endpoints can adapt to varying network conditions, supporting three times the throughput for audio and video while still maintaining acceptable quality. In an under-provisioned network, the ability of the Skype for Business Server media endpoints to dynamically deal with varying network conditions is reduced
    • For network links where provisioning is very costly and difficult, you may have to consider provisioning for a lower volume of traffic. In this scenario you can let the elasticity of the Skype for Business Server media endpoints absorb the difference at the cost of some reduction in the voice quality
    • Consider disabling video for certain users where bandwidth is limited
    • Provision the network to guarantee a maximum end-to-end delay (latency) of 150 milliseconds (ms) under peak load. Latency is the one network impairment that Skype for Business Server media components can't reduce
    • For servers that are running antivirus software, include all servers that are running Skype for Business Server in the exception list to provide optimal performance and audio quality


    QoS
    Skype for Business Server does not require QoS, but it is strongly recommended. QoS can prioritise traffic and guarantee bandwidth for Skype for Business media endpoints. For more information on network requirements, QoS and bandwidth utilisation in different call scenarios see here.



    Other
    Load balancing requirements - see here
    Ports and protocols for internal servers - see here



    Deployment
    Now that you understand the requirements, lets get deploying!


    Create File Share
    For the purpose for this article we will create a basic file share:
    1. Log on to the computer that will host the file share
    2. Right-click the folder you plan to share, and select Properties

    3. Select the Sharing tab, select "Advanced Sharing", then tick "Share this folder":

    4. Select "Permissions" and make sure the account you will use to publish the topology has "Full Control" permissions:



      When the Topology is published the required NTFS and share permissions will be added



    Install Administration Tools

    The Skype for Business Administration Tools are required to manage your Skype for Business deployment. You don’t have to install these tools on all servers, however you would typically install these on your Front End and management servers. If you are upgrading a Lync 2013 pool you will need to install these tools on a management server that does not contain any other Lync server components. Here's how you install them:
    1. Start setup (Setup\amd64\setup.exe) from your Skype for Business media and follow the prompts to install the Core Components
    2. During installation you can choose whether or not you want to check for product updates before installing:

    3. Once installed run the “Skype for Business Server 2015 Deployment Wizard” and select “Install Administration Tools":

    4. Once installed you should have the following management tools:


    Prepare Active Directory
    Active Directory preparation is required in preparation for Skype for Business. You only need to run this step once per deployment.

     If you are upgrading from Lync 2013 Active Directory preparation is not required (to be confirmed)

    Start the Deployment Wizard and select "Prepare Active Directory":



    There are 3 steps that need to be completed and verified - schema updates, forest prep and domain prep:




    Step 1 - Prepare Schema
    To prepare the Active Directory Schema for Skype for Business, login as a user with Schema Admin rights.

    You can also run this step in PowerShell - Enable-CsAdServerSchema

    Step 2 - Verify replication of schema partition
    • Log on to the domain controller for the domain.
    • Open ADSI Edit from the Tools drop-down menu in Server Manager.
    • On the Action menu, click Connect to.
    • In the Connection Settings dialog box under Select a well known Naming Context, select Schema, and then click OK.
    • Under the schema container, search for CN=ms-RTC-SIP-SchemaVersion. If this object exists, and the value of the rangeUpperattribute is 1150 and the value of the rangeLower attribute is 3, the schema was successfully updated and replicated. If this object does not exist or the values of the rangeUpper and rangeLower attributes are not as specified, the schema was not modified or has not replicated.

    Step 3 - Prepare Current Forest
    To prepare the Active Directory Forest for Skype for Business, login as a user with Enterprise Admin rights.

    You will be asked to specify where you would like to create the security groups for the deployment. Typically this would be in the root domain of the forest.


    You can also run this step in PowerShell - Enable-CsAdForest -GroupDomain <domain to create security groups>

    Tip: By using the parameter GlobalSettingsDomainController, you can indicate where global settings are stored. If your settings are stored in the System container (which is typical with upgrade deployments that have not had the global setting migrated to the Configuration container), you define a domain controller in the root of your AD DS forest. If the global settings are in the Configuration container (which is typical with new deployments or upgrade deployments where the settings have been migrated to the Configuration container), you define any domain controller in the forest. If you do not specify this parameter, the cmdlet assumes that the settings are stored in the Configuration container and refers to any domain controller in Active Directory.



    Step 4 - Verify Replication

    From PowerShell run Get-CsAdForest


    If the result is LC_FORESTSETTINGS_STATE_READY, the forest has successfully been prepared


    Step 5 - Prepare Current Domain
    To prepare the Active Directory Forest for Skype for Business, login as a user with Domain Admin or Enterprise Admin rights.

    You can also run this step in PowerShell - Enable-CsAdDomain –Domain <domain to prepare>


    Step 6 - Verify Replication

    From PowerShell run Get-CsAdDomain



    If the result is LC_DOMAINSETTINGS_STATE_READY, the domain has successfully replicated.


    Once you have completed all steps they should be marked as "Complete":




    Tip: After Active Directory preparation has completed it’s a good time to add the CSadministrator role to user account that will be performing the installation as well as any other account that will require full access to Lync. It is also worth adding RTCUniversalServerAdmins to the installation account.




    Create DNS Records
    Create the DNS records required to support the topology. Ensure that DNS round robin is enabled for DNS load balancing.

    DNS configuration example coming soon.


    Define and Publish Topology
    Before you can install the Skype for Business Server on each of the servers in the topology, you must create a topology and publish it. When you publish a topology, you are loading the topology information into the Central Management Store database.

    • If this is an Enterprise Edition pool, you are creating the Central Management Store database the first time you publish a new topology on an existing backend SQL server.
    • If this is Standard Edition, you will need to run the Prepare First Standard Edition Server process from the Deployment Wizard before you publish a topology. This prepares for Standard Edition by installing a SQL Server Express Edition instance and creating the Central Management Store.

    Important!
    If have another version of Lync installed then you will need to follow the upgrade or migration path, and will need to select “Download Topology from existing deployments”. For more information select one of the following links:

    Prepare First Standard Edition Server
    From the Deployment Wizard select "Prepare first Standard Edition server" and follow the steps:



    Create a new topology
    1. Open the “Skype for Business Topology Builder”
    2. Select New Topology, and click OK:

    3. Select a location and file name for the topology configuration file
    4. On the Define the primary domain screen, enter the primary SIP domain, and click Next. In this example, we are using contoso.local, as shown in the figure:

    5. Add any additional supported SIP domains, and then click Next:

    6. Enter a Name and Description for the first site (location), and then click Next, as shown in the figure:

    7. Enter the City, State/Province, and Country/Region Code for the site, and then click Next:

    8. Click Finish to complete the process of defining a new topology. Make sure "Open the new Front End Wizard when this wizard closes" is ticked so the Front End Wizard launches automatically


    Enterprise Edition Pool or Standard Edition Server
    Skype for Business Server Enterprise Edition can include multiple servers working together to provide the Front End role. When multiple servers are used to fulfill the role, it is called a pool. Standard Edition can include only a single server to provide the Front End role. It is common to refer to the Front End pool even if only a single server is providing the role; the pool FQDN would be the FQDN of the Standard Edition server.

    You can define a Front End server pool from the Topology Builder by right clicking "Standard Edition Front End pools" or "Enterprise Edition Front End pools" and selecting "New Front End Pool":




    You also have the option during the Create New Topology wizard to automatically start Define New Front End Pool wizard. Select the "Open the New Front End Wizard..." tick box:




    The screenshots in the following example are from a Standard Edition deployment, however the process is very similar and the differences will be called out.
    1. Review the wizard prerequisites, and then click Next
    2. Enter the fully qualified domain name (FQDN) of the pool or Standard Edition server and select either Enterprise Edition Front End Pool or Standard Edition Server, and then click Next:

    3. If you chose an Enterprise Edition pool you'll need to enter the FQDN's of all computers in the pool, and then click Next
    4. Select the features that will be included in this topology, and then click Next:

    5. On the Select collocated server roles page, you can choose to collocate the Mediation server on the Front End server, or you can deploy it as a standalone server later:

    6. If you want to associate an Edge server now you can define it now (see below to learn more about this process)
    7. Next, you will define the SQL Server store that will be used with the topology. In this example, we don't need to do anything since we are using a Standard Edition server which hosts its own SQL server locally. For Enterprise Edition pools we would select or define a backend SQL server. For more information about SQL Server features see here.

    8. Define the file share that you want to use. The file share needs to be preconfigured before you publish the topology as discussed in the prerequisites section (Other Environmental Requirements -> File Share. Define a new file share, in the File Server FQDN box, enter the FQDN of the existing file server where the file share is to reside, and then enter a name for the file share in the File Share box:

    9. Specify the internal and external Web Services URL
    • For an Enterprise Edition pool you must decide if you need to override the internal Web Services Base URL. The reason for this override has to do with load balancing; If you do not override the URL, both SIP traffic and HTTP(S) web traffic will use the pool FQDN. SIP traffic can be load balanced using DNS load balancing, however web services must use a supported Hardware or Software load balancing solution, and thus you must override to separate the DNS load balanced components from the web services
    • For a Standard Edition server there is no need to override the internal URL since there is only one server
    • The External Base URL is the FQDN for the externally available web services which will be published via the reverse proxy

  • If you selected Conferencing on the Select Features page, you will be asked to select an Office Web Apps server. Click New to launch the dialog box:

  • In the Define New Office Web Apps Server dialog box, type the FQDN of your Office Web Apps.
    • If the Office Web Apps server is installed on-premises, and in the same network zone as Skype for Business Server, do not select the "Office Web Apps Server is deployed in an external network (that is, perimeter/Internet)"
    • If the Office Web Apps server is deployed outside your internal firewall, select the option "Office Web Apps Server is deployed in an external network (that is, perimeter/Internet)":

  • If you chose to enable Archiving you will be asked to select or define a SQL server store

  • Select New if you need to define a new SQL server store

  • If you chose to enable Monitoring you will be asked to select or define a SQL server store. You can use the same SQL server store define for Monitoring, or select New to define one as we did in the step above:

  • You should now be a the end of the wizard, select "Finish" to complete the process.



  • Edge Server
    Like Front End servers, Edge servers can be pooled together with a pool FQDN, or can be standalone.

    You can define an Edge server pool from the Topology Builder by right clicking "Edge pools" and selecting "New Edge Pool":



    You also have the option during New Front End Pool wizard to automatically start New Edge Pool wizard. Select the "Enable an Edge pool..." tick box:



    Then select the "New" button":




    Defining Edge Server
    1. Start the New Edge Server wizard using one of the methods noted above

    2. Enter the fully qualified domain name (FQDN) of the pool or Edge server and select whether you will be defining a multi-server or single server pool, then select "Next:



    3. If you chose a multi-server pool you'll need to enter the FQDN's of all computers in the pool, and then click Next
    4. Enable the federation features that you require

    5. Choose whether you will use single or multiple public IP addresses

      Tip: If you have 3 public IP addresses available, I would strongly recommend the multiple IP option. Choosing this option allows you to run Access Edge, Conferencing Edge and Audio Video Edge on port 443. If you choose a single IP this is not possible, and could cause issues communicating with companies that have strict outbound firewall policies.

    6. Select IPv4 and IPv6 options (IPv4 is covered by this article) and whether you require NAT on the public side:

    7. Define your externally resolvable FQDN's for the Access Edge. Conferencing Edge and Audio Video Edge services.

      If you chose to use multiple IP's you can define all 3 of these distinctly. Port 443 is recommended for all services:



      Otherwise you only need define the Access Edge FQDN and ports. The default ports are a good compromise if you only have a single IP address:

    8. Define your Edge servers internal IP address (this must not use NAT!):

    9. Define the public IP addresses for each service

      If you are not using NAT enter the public IP addresses:



      If you are using NAT enter the private IP address that the public IP will be NAT'ed to:



      If you are using NAT you will also need to enter the actual Public IP address of the Audio Video service:

    10. Select the Front End server pool that will be the next hop for the Edge server pool:

    11. You may also be asked to associate the Edge server pool to any Mediation Pools you have:

    12. You should now be at the end of the Wizard, select "Finish"


    Configure Simple URL's
    Simple URL's will be configured by default, however you may wish to make changes to these to meet you specific requirements. Additionally it can be useful to define an Administrative access URL to make it easy to remember the URL to the Skype for Business Control Panel.
    1. In Topology Builder, right-click the Skype for Business Server top node, and then click Edit Properties, as shown in the figure
    2. In the Simple URLs pane, select either Phone access URLs: (Dial-in) or Meeting URLs: (Meet) to edit, and then click Edit URL
    3. Update the URL to the value you want, and then click OK to save the edited URL. You should configure the simple URL using the external SIP domain so that external users can join meetings, for example, contoso.com, which is external, as opposed to contoso.local, which is an internal domain. Thus, the SIP domain should be able to be resolved by external DNS
    4. Edit the Meet URL by using the same steps, if necessary
    5. In the Administrative access URL box, enter the simple URL you want for administrative access to Skype for Business Server Control Panel, and then click OK.


    Publish Topology
    Now we are ready to publish the topology to the Central Management Store.

    When you publish the topology for the first time the databases are created – This would be a backend SQL server for an Enterprise pool or a local SQL instance on a Standard Edition server. One of these databases, named XDS, holds data for the Central Management Store (CMS). This is an important database because it holds Lync Servers Topology, policy and configuration information. A replica copy of the XDS database is located locally on each Lync Server role as an instance of SQL Server Express named "RTCLOCAL"'.

    Permissions required to publish the topology

    • Permissions required to publish the topology - see here
    • Delegate Setup Permissions (if you do not want to grant the setup account Domain Admin rights) - see here
    • Permissions required for SQL - see here
    Publish the Topology


    1. From the Topology Builder right click the top node of the tree and select "Publish Topology":

    2. Select "Next"
    3. Select the Front End pool that will host the Central Management Store:

    4. You can optionally select the "Advanced" button if you need to define the database instance or file locations:

    5. Next you will be presented with an option create your databases. Make sure you have the required permissions to run this step. If you don’t untick this option and ask someone who does to run this step later:

    6. Select Next to start publishing the topology:




    Install Servers
    Once the topology has been published you are ready to install the Skype for Business Server roles on your pre-built servers. One of the nice things about Skype for Business Server is the ease in which this is done. All you need to do is run the installer and work through the wizards. Each server will contact the Central Management Store (CMS) to learn the role it lays in the topology. With this information the required components will be installed.

    Install Servers
    For each server in the topology you need to install the Core Components and run the Deployment Wizard.
    1. Start setup (Setup\amd64\setup.exe) from your Skype for Business media and follow the prompts to install the Core Components
    2. During installation you can choose whether or not you want to check for product updates before installing
    3. Once installed run the “Skype for Business Server 2015 Deployment Wizard” and select “Install or Update Skype for Business Server System":

    There are 4 key steps that are required to install Skype for Business



    Step 1 - Install Local Configuration Store
    Running the first step installs the Local Configuration Store (a local copy of the Central Management Store).

    Tip: For this step to work, the servers FQDN must match its role as defined in the topology. Because Edge servers are not domain joined you'll need to make sure you have given the server a DNS suffix as described in the prerequisites section for Edge Servers (Software Prerequisites -> Server Operating Systems -> Additional Prerequisites for Edge Servers).
    • For the internal domain joined servers select "Retrieve directly from the Central Management Store...".
    • For the Edge servers select "Import from a file...". You will need to export the topology to file, then copy it across to the Edge server. To export the the topology run Export-csconfiguration -filename c:\topology_export.zip from PowerShell.


    Step 2 - Setup or Remove Skype for Business Components





    Step 3 - Request, Install or Assign Certificates
    You need to create a server certificate and OAuth certificate.
    1. Highlight the certificate you wish to create and then select "Request":

    2. Complete the certificate request form:

    3. Select "Next", then "Next" again
    4. You will be presented with an option to assign the certificate. Select this option to assign the requested certificate:

    5. Select "Next" then "Finish"
    6. Repeat for the OAuth certificate

    7. You should now have met the certificate requirements for the server



    Step 4 - Start Services
    You are now ready to start your Skype for Business services. Open Skype for Business Server Management Shell and run the following command:

    Start-CsPool -PoolFQDN <pool FQDN>



    Open Services and check that all services are in a running state:






    Lync.geek.nz: Skype for Business 2015 In-Place Upgrade Step by Step

    $
    0
    0
    If you have a purely Lync Server 2013 environment you can upgrade to Skype for Business Server 2015 using the new In-Place Upgrade feature. In-place upgrade provides a one-click solution that backs up certificates, uninstalls server components, upgrades local databases, and installs the Skype for Business Server 2015 roles. In-place upgrade seeks to preserve existing hardware and server investments, reducing the overall cost to deploy Skype for Business Server 2015.

    If you have Lync 2010 or OCS you will first need to migrate to Lync 2013, then decommission the old servers. To learn more about the other deployment options see the following articles:

    In-Place Upgrade Summary

    Upgrade from Lync Server 2013 to Skype for Business Server 2015 using the following steps:
    1. Ensure you have recent backups of your servers and SQL databases
    2. Make sure all services that are to be upgraded are in a running state
    3. Upgrade and publish the topology file using the topology builder
    4. Stop all services on all Front End servers
    5. On each Front End server, start the In-Place Upgrade
    6. When the upgrade is complete, restart all services:
    • For the Front End pool, restart services using the command Start-CsPool
    • For non-Front End servers, use Start-CSWindowsService.
    Important!
    • If you have paired pools, do not unpair them before the upgrade
    • Once you start to upgrade a server pool, you must complete the upgrade of the entire pool. Skype for Business Server doesn't support having only a portion of the pool upgraded
    • Upgrade the topology from the inside to the outside. Upgrade all your pools first, then the edge servers, and finally the Central Management Store (CMS) pool
    • If you use Kerberos authentication for Web Services, you must reassign Kerberos accounts and reset the password after the In-Place Upgrade is complete. To learn how to do this, see Setting up Kerberos authentication
    • Be sure to uninstall LRS Admin tool for Lync Server 2013 before running In-Place Upgrade. The LRS Admin Tool for Lync Server 2013 cannot coexist with Skype for Business Server 2015. After running In-Place Upgrade install the new LRS Admin tool
    • Support for coexistence - You can run Skype for Business Server in the same topology as Lync Server 2013 or Lync Server 2010. But you can't run both Lync Server 2013 and Lync Server 2010 in the same topology as Skype for Business Server

    • Skype for Business Server 2015 doesn't support an In-Place Upgrade of a Lync Server 2010 or Lync Server 2013 Survivable Branch Appliance (SBA), however they can coexistence (learn more below)

    Tip: In-place upgrade does not support high availability or disaster recovery for Skype for Business Server. To avoid interrupting users' services, use the Move users method to upgrade.


    In-Place Upgrade Options
    In-place upgrade involves taking the Lync Server 2013 pool offline and upgrading it to a Skype for Business Server 2015 pool. There are two options for In-Place Upgrade:
    • The Move User method, which requires no downtime for users
    • The Offline method, which requires downtime

    Move User Method
    The Move User method allows you to upgrade a Lync 2013 server pool without any user downtime. This is achieved by first moving all users from the pool to be upgraded to another pool in the topology, then taking the pool offline and performing the upgrade:
    1. Move users to another pool before you start the upgrade
    2. As part of Move Users you also will need to migrate the global conference directories associated with the primary pool. PSTN dial-in conferencing will still resolve ConferenceID to the pool being upgraded, instead of the paired pool. So you need to move Conference Directories, if you still want PSTN conferences scheduled in the pool to be accessible during upgrade
    3. Follow the In-Place Upgrade Process outlined below
    4. Move users back



    Offline Method
    The Offline Method takes the pool and users offline to perform the upgrade.


    Upgrade Prerequisites

    Install Server Prerequisites
    Before you start the upgrade process you will need to prepare your Lync 2013 environment. The following prerequisites are in addition to what should already be in place to support Lync 2013.

    On each server that is servicing the pool that you're going to upgrade:
    • Install the latest Lync Server 2013 updates - see here (at a minimum you require CU5 5.0.8308.738 but the latest is always best)
    • Apply all Windows Updates ensuring the following are included:
    • Windows PowerShell 3.0 (included with Server 2012 or Server 2012 R2) - get it here
    • SQL server 2012 should be at SP1
    • All other prerequisites should have already be met when Lync 2013 was deployed

    Install Administration Tools
    In order to upgrade your Lync 2013 topology to Skype for Business you will need to install the Administration Tools. These tools cannot be installed on a server running Lync Server 2013 or any server that the Lync Core Components installed.
    1. Start setup (Setup\amd64\setup.exe) from your Skype for Business media and follow the prompts to install the Core Components
    2. During installation you can choose whether or not you want to check for product updates before installing:

    3. Once installed run the “Skype for Business Server 2015 Deployment Wizard” and select “Install Administration Tools":

    4. Once installed you should have the following management tools:


    Upgrade Topology

    Important!
    Before you upgrade your topology, all services must be running for the pools you plan to upgrade. This is so the topology changes will be replicated to the local database of the servers in the pool.
    1. Open the Skype for Business Server Topology Builder
    2. Right-click a Lync Server 2013 pool (this could be a Front End or Edge Pool etc), select Upgrade to Skype for Business Server 2015, and follow the steps
    3. From the Topology Builder right click the top node of the tree and select "Publish Topology"
    4. If you have Archiving or Monitoring enabled for the Front End pool you are upgrading, choose to install the databases
    5. Verify that the changes to the topology have replicated to your environment. You can do this by running the PowerShell command -> Get-CsManagementStoreReplicationStatus

    For more information and additional upgrade options see here.

    Tip: Save a copy of your topology file before you upgrade. After you upgrade, you will not be able to downgrade the topology.

      Upgrade Server
      On each server that is servicing the pool that you're going to upgrade i.e the pools you have already upgraded in the Topology Builder:
      1. Stop all Lync services
      • Run the PowerShell command Disable-CsComputer -Scorch to stop and disable services. This ensures services don't start after a reboot.
    • Run the In-Place Upgrade by starting setup (Setup\amd64\setup.exe) from your Skype for Business media, and follow the prompts
    • If you are promoted to reboot the installer will continue where it left off
    • When the In-Place Upgrade completes successfully, you see the following message:

    • Remember to repeat for ALL servers in the pool!
    • Once you have upgraded all your servers you can start you services:
      • For Front End pools run the PowerShell command -> Start-CsPool
      • To start servers in all other pools run the PowerShell command -> Start-CsWindowsService

      Tip: If you don't want to upgrade your existing Archiving and Monitoring databases, remove the dependency before you upgrade the topology. If you want to create new Archiving and Monitoring databases, during the upgrade, you can create a new SQL store and associate it with the pool. You can find the steps on how to do this in the topic, Upgrade to Skype for Business Server 2015


      About Survivable Branch Appliances
      Skype for Business Server 2015 doesn't support an In-Place Upgrade Survivable Branch Appliance (SBA) or Survivable Branch Server (SBS), however they can coexist with Skype for Business Server.

      Use this process if you want to use your existing Lync Server 2010 or Lync Server 2013 SBA/SBS when you upgrade your Front End pool to Skype for Business Server 2015.

      1. Move branch users that are on SBA/SBS to another pool
      2. Remove SBA/SBS from your topology to disassociate the existing Front End pool as the backup registrar
      3. Use the In-Place Upgrade to upgrade the Lync Server 2013 Front End pool to Skype for Business Server 2015. If you're running Lync Server 2010 on your Front End pool, we recommend that you first upgrade to Lync Server 2013, and then upgrade to Skype for Business Server 2015 by using the new In-Place Upgrade feature. For more information, see Migration from Lync Server 2010 to Lync Server 2013
      4. Add your existing SBA/SBS back into your topology
      5. Associate the upgraded Front End pool to the SBA/SBS as a backup registrar
      6. Move the branch users back into the SBA/SBS.



      Lee Desmond: Update Digest: Lync Phone Edition, Room System Cumulative Update (Apr/May 2015)

      $
      0
      0
      Lync Phone Edition (all versions 4.0.7577.4463) May 2015 Cumulative Update for Lync Phone Edition for Aastra 6721ip and Aastra 6725ip telephones (KB3050585) May 2015 Cumulative Update for Lync Phone Edition for HP 4110 and HP 4120 telephones (KB3050587) May 2015 Cumulative Update for Lync Phone Edition for Polycom CX500, Polycom CX600, and Polycom CX3000 (KB3050588) May 2015, Cumulative Update [...]

      Paul's UC and Dev/Ops Blog:Classifying Phone Numbers

      $
      0
      0

      What an exiting week last week. I was in Chicago for Microsoft Ignite 2015. I had the opportunity to attend several very interesting sessions as well as walk the expo floor and meet with other great people in the PowerShell and Skype for Business community.

      You might also notice from the tags above that I’m going to start using the SkypeForBusiness instead of the Lync tag. Both tag pages cross link to each other so in case you end up in one, you’ll have a friendly reminder to check the other as well.

      The Inspiration

      One of the sessions I attended was called “Save Time! Automate Phone Number Management in Skype for Business” by @StaleHansen. It was a great talk and I encourage you to check it as since it talks about similar topics that I’ve spoken about and it mentions both my Managing Your Lync Phone Numbers and Keeping Lync Unassigned Numbers Updated posts.

      In this talk, he spoke about classifying numbers to keep nice numbers for certain use cases (IVRs, main numbers, senior executives, etc). There was an excellent slide that had rules he proposed:

      Phone Number Classes

      In speak with him afterwards he mentioned that he hadn’t had time yet to implement the classification using regular expressions and I offered to help.

      The Regular Expressions

      I’ve created the following script to take a number and return a classification of Gold, Silver, Bronze or Ordinary based on his rules plus one more of my own (Silver numbers can have repeated patterns, like ending in 1212). It uses the following regular expressions to classify the numbers

      ClassReasonRegEx
      GoldDouble Triple(\d)\1(\d)\2{2}$
      GoldDouble Double 0(\d)\1(\d)\2{1}0$
      GoldTriple 0(\d)\1{2}0$
      GoldSame 4(\d)\1{3}$
      GoldSequential 4(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){3}\d$
      SilverDouble 0(\d)\1{1}0$
      SilverJames Bond007$
      SilverTwo Digit Pattern(\d{2})\1$
      BronzeDouble(\d)\1$
      BronzeEnds in 00$

      Anything else is classified as Ordinary.

      A couple quick notes on the regular expressions:

      • $ matches the end of the line
      • \d matches any number
      • * means match the preceding item 0 or more times
      • ? means match the preceding item 0 or 1 times
        • means match the preceding item 1 or more times
      • {#} means match the preceding item exactly # times
      • any statement within () creates a capture group with some exceptions
        • if the capture group starts with ?: that means don’t capture
        • (?x) isn’t a capture group but says the regular expression should ignore comments and unescaped whitespace; this makes large complex expressions more readable
        • (?=…) means match as long as the next item matches the group …, but it doesn’t capture this next item
      • groups can have multiple options separated by
      • \1 (or any \#, etc) matches the 1st (or #th) capture group

      You may have noticed that I used {1} in some of the regular expressions. You don’t normally need to do this (the default is to match one), but I do this when I want to match 0 afterwards since I need to break up the numbers, otherwise if I wrote (\d)\10 (for example) it would want to match a digit followed by the value of the 10th capture group. This could be written other ways, like (\d)\1[0] or (\d)\1(?:0) or even (\d)\1 0 (if you’re using (?x)), all of which are identical.

      The Complicated One

      The Sequential 4 is probably the most complex so I’ll take a moment to describe it.

      (?:
          0(?=1)| # match a 0 as long as a 1 comes after
          1(?=2)| # match a 1 as long as a 2 comes after
          2(?=3)| # match a 2 as long as a 3 comes after
          3(?=4)| # match a 3 as long as a 4 comes after
          4(?=5)| # match a 4 as long as a 5 comes after
          5(?=6)| # match a 5 as long as a 6 comes after
          6(?=7)| # match a 6 as long as a 7 comes after
          7(?=8)| # match a 7 as long as a 8 comes after
          8(?=9)| # match a 8 as long as a 9 comes after
          9(?=0)  # match a 9 as long as a 0 comes after
      ){3} # do that 3 times\d   # and also capture the last digit

      So the only way for it to be able to capture a 2 (for example) is if a 3 comes next. If that’s the case then it would also match the 3, but only if a 4 came next, and so on. It has to do this 3 times, which means there have to be 4 sequential numbers. Because the look forward ?= doesn’t capture that digit it ensured was there, I’ve included a \d at the end to capture it.

      Slow and Fast

      Some of these regular expressions are a little complex so I’ve implemented it two ways so that people can see different ways it could be done.

      The first way is using an array simple regular expressions that are tested one after another.

      
      $CLASSES = @{
          Gold = @{
              doubleTriple = "(\d)\1(\d)\2{2}$";
              doubleDouble0 = "(\d)\1(\d)\2{1}0$";
              triple0 = "(\d)\1{2}0$";
              same4 = "(\d)\1{3}$";
              sequential4 = "(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){3}\d$"
          };
          Silver = @{
              double0 = "(\d)\1{1}0$";
              bond = "007$";
              twoDigitPattern = "(\d{2})\1$"
          };
          Bronze = @{
              double = "(\d)\1$";
              endsIn0 = "0$"
          }
      }
      
      function ClassifySlow($number) {
          Write-Verbose "Classifying $number (slow)"
          $class = "Ordinary"
          $reason = ""
          foreach($c in @("Gold","Silver","Bronze")) {
              $CLASSES[$c].GetEnumerator() | foreach {
                  if($number -match $_.Value) {
                      $class = $c
                      $reason = $_.Key
                      break
                  }
              }
          }
          @{Number = $number; Class = $class; Reason = $reason}
      }
      
      

      The second is by combining all of the regular expressions together and allowing the regular expression engine to optimize the parsing.

      
      $CLASS_RE = "(?x)
      (?:
          (?<Gold_doubleTriple>(\d)\1(\d)\2{2})
          |
          (?<Gold_doubleDouble0>(\d)\3(\d)\4 0)
          |
          (?<Gold_triple0>(\d)\5{2}0)
          |
          (?<Gold_same4>(\d)\6{3})
          |
          (?<Gold_sequential4>(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){3}\d)
          |
          (?<Silver_double0>(\d)\7 0)
          |
          (?<Silver_bond>007)
          |
          (?<Silver_twoDigitPattern>(\d{2})\8)
          |
          (?<Bronze_double>(\d)\9)
          |
          (?<Bronze_endsIn0>0)
      )$"
      
      function ClassifyFast($number) {
          Write-Verbose "Classifying $number (fast)"
          $class = "Ordinary"
          $reason = ""
          if($number -match $CLASS_RE) {
              $class,$reason = $($matches.Keys | ? { $_ -notmatch "^[0-9]+$" }) -split '_'
          }
          @{Number = $number; Class = $class; Reason = $reason}
      }
      
      

      Since these two alternate methods are driven by performance, I’ve included a -Test flag you can use to experience the differences between the two. In test runs on my computer, the normal fast option using the combined all-in-one regex runs about 3x faster than the slow option. There are some additional optimizations that make it possible for the slow option to run similar to the fast option but the it requires unwinding the nicely maintainable hash into arrays and using 53 lines instead of 10. Actually the code difference is event larger when you take into consideration that the all-in-one regular expression really is just 2 core lines of if(-match) and finding and splitting out the class and reason from the group capture name.

      Get-PhoneNumberClass.ps1

      Coming up next is testing scripts with Pester. If you want a sneak peak, checkout the test script for this script here: Get-PhoneNumberClass.Tests.ps1.

      Doug Deitterick's Blog: How to Verify if Skype for Business Server 2015 Database Updates Completed Successfully

      $
      0
      0

      After applying the back end database updates, you can use the Test-CsDatabase cmdlet to make sure that the databases are up-to-date.

      The cmdlet will show you the expected version and the installed version, as well as whether or not the database is up-to-date:

       

      The tables below list the back end database versions for RTM as well as each cumulative update: 

      Cumulative UpdateBack End Databases
       rtcxds rtcshared rtcabrgsconfig  rgsdyn cpsdyn LcsLogLcsCDR  QoEMetrics xdslis
      RTM15.13.95.0.162.42.125.5.12.2.11.1.224.40.239.85.1062.93.810.15.43.1.1

       

      Cumulative
      Update
      Back End Databases
      mgcmgccomp
      RTM1.42.11.7.0

      Just a Lync Guy: Microsoft releases May 2015 Cumulative Update for Lync Phone Edition

      $
      0
      0

      … and I thought I saw a 2: Lync Phone Edition Update – May 2015

      $
      0
      0

      We have a new update for Lync Phone Edition and it includes some great fixes! This LPE firmware update takes us from 4.0.7577.4445 to 4.0.7577.4463.

      Fixes

      Quoting from the KB: This cumulative update resolves the following issues:

      • Kb3062287 Moscow time on a telephone plus one hour after you apply an October 2014 update for Lync Phone Edition
      • Kb3061582 Lync Phone Edition for Aries telephones does not connect to Exchange Web Service through an HTTP proxy server
      • Kb3061581 Users cannot sign in to Lync Phone Edition by using Aries or Tanjay telephones after they are migrated to Office 365
      • Kb3050594 Lync Phone Edition crashes and then prompts you for PIN credentials or phone numbers in a Lync conference room
      • Kb3050592 Lync Phone Edition signs out and then signs back in when it is in idle state
      • Kb3027682 Lync Phone Edition restarts when all replica servers are shut down
      • Kb3014922 Date format and ring tone are reset to the default value after you apply an update for Lync Phone Edition
      • Kb3014921 Lync Phone Edition cannot automatically sign in when the primary front-end server that you register is shut down

      Download

      Download the relevant CAB files from here:

      And don’t forget Pat’s great “New-CsFirmware.ps1″ script will do all the hard work downloading AND uploading the new CABs for you.

       

      – G.

      Phyler's Blog: Skype4B In-place Upgrade and LRS Admin Portal

      $
      0
      0

      While reading through the In-place Upgrade docs, I spied this little nugget:

      Be sure to uninstall LRS Admin tool for Lync Server 2013 before running In-Place Upgrade. The LRS Admin Tool for Lync Server 2013 cannot coexist with Skype for Business Server 2015. After running In-Place Upgrade install the new LRS Admin tool, see Microsoft Lync Room System Administrative Web Portal for Skype for Business Server 2015

      I haven’t tested this but the fact that they say to Uninstall the Lync Server 2013 LRS Admin Portal was the big catch. Make sure you read all of the docs a few times before you start the upgrade process.


      The UC Architects: Episode 52: Just Reboot It

      $
      0
      0

      We’re back with a bang. Your latest episode of the world’s greatest Exchange, Lync and Office 365 podcast is now online. In this week’s show…

      Title Episode 52: Just Reboot It
      Published 2015-05-01
      Topics Exchange Topics
      1. Exchange 2013 Performance Health Check Script
      2. Upgrade to Office Configuration Analyzer Tool (OffCAT) version 2
      3. Apple releases iOS 8.3 which fixes additional Exchange related Issues
      4. Must-knows for migrating Public Folders to Exchange 2013
      5. Using the Hybrid Configuration Wizard in Exchange Server 2013 (Part 4)
      6. IIS Exploit can reboot your Windows 2008 Server R2 and up; install patch KB3042553 ASAP
      7. Exchange 2013 CPU Sizing Checker

      Office 365

      1. Office 365 now supports larger email messages—up to 150 MB
      2. Office 365 datacenter map
      3. Announcing “Office 365 for Exchange Professionals” (ebook)! | Michael ‘Van Hybrid’ / Van Horenbeeck

      Q&A Topic

      None

      Lync Topics

      1. Potential impact on Lync and Skype for Business meeting join experience when Google Chrome is the default browser
      2. PBX Replacement secret sauce… How to do a Loud Ringer in Lync / Skype for Business
      3. Skype for Business client awareness and readiness resources
      4. Skype for Business Server 2015 documentation now Live on TechNet
      5. Lync Meeting Update Tool (32 bit) (UPDATED)
      6. Skype for Business 2015 Protocol Workloads Poster
      7. Federation Call Flow Skype for Business and Lync clients
      8. Client Tool Available to download

      Reviews

      None

      Events

      Host Pat Richard
      Co-hosts: Exchange Dave Stork
      Co-hosts: Lync Tim Harrington
      Guests: Exchange
      Guests: Lync
      Producer
      Editor Andrew Price
      Episode # 52
      Length 01:04:15

      This episode is sponsored by Event Zero. The Dossier Lync product family is an integrated suite of functionality designed specifically to enable organization-wide analytics for Microsoft Lync environments. Create actionable intelligence for the organization about the Lync environment and its utilization. Check them out at eventzero.com

      Listen

      Listen to the podcast immediately using the player below

      Download This Episode

      Download the mp3: Episode 52: Just Reboot It (01:04:15)

      Doug Deitterick's Blog: Issue Updating WsFedPassiveMetadataUri for Passive Authentication in Lync Server 2013

      $
      0
      0

      I had a customer recently where we were setting up passive authentication for Lync Server 2013 and we needed to change the ADFS server that we were using.  That seemed like an easy enough task, however, once we changed to the new ADFS server, we were still being redirected to the old ADFS server.  The process for updating the URL is simple enough.  Running Get-CsWebServiceConfiguration returns the current configuration:

      All you need to do to update to a new ADFS server is to run the Set-CsWebServiceConfiguration cmdlet with the WsFedPassiveMetadataUri parameter.  Rerunning the Get-CsWebServiceConfiguration cmdlet shows the change:

      After verifying that CMS replication had succeeded:

      We were still being redirected to the old ADFS server.  We tried restarting the Lync services and the server, but the PassiveAuth.aspx page kept redirecting us to the old ADFS server.  We verified that the configuration change actually made it to the local CMS replica on the server by running the following:

      Export-CsConfiguration -LocalStore -FileName config.zip

      Opening the zip file and double-clicking on the DocItemSet.xml file:

      You can search for the new ADFS FQDN in the topology document:

      So the change is making it to the server and the is in the local CMS replica, but still not taking effect.  We decided to turn on some logging and see if that could shed any light on what was happening.  In the Lync Server 2013 Logging Tool, we turned on logging for WebInfrastructure:

      After going to the PassiveAuth.aspx page again and still being redirected to the old ADFS server, the interesting bit from the log file is below:

      TL_NOISE(TF_COMPONENT) [0]0DC0.1768::05/11/2015-01:41:53.346.00000193 (WebInfrastructure,WebAuthServiceConsumer.BuildOriginAllowedList:webauthserviceconsumer.cs(307))Enter
      TL_NOISE(TF_COMPONENT) [0]0A34.1708::05/11/2015-01:41:54.424.00000194 (WebInfrastructure,WebAuthServiceConsumer.OnWebServiceSettingsChanged:webauthserviceconsumer.cs(855))(00000000020D9396)Enter
      TL_INFO(TF_COMPONENT) [0]0A34.1708::05/11/2015-01:41:54.424.00000195 (WebInfrastructure,WebAuthServiceConsumer.OnWebServiceSettingsChanged:webauthserviceconsumer.cs(886))(00000000020D9396)Firing WsFedAdfsMetadataUriChanged event with value https://newadfs.lab.deitterick.com/federationmetadata/2007-06/federationmetadata.xml
      TL_NOISE(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.424.00000196 (WebInfrastructure,LiveIDCertSync.OnWsFedMetadataUriChanged:liveidcertsync.cs(339))(00000000007A637A)Enter
      TL_INFO(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.439.00000197 (WebInfrastructure,LiveIDCertSync.LiveIDTokenUpdateAndSchedule:liveidcertsync.cs(603))(00000000007A637A)Enter
      TL_NOISE(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.439.00000198 (WebInfrastructure,LiveIDCertSync.UpdateLiveIDTokens:liveidcertsync.cs(428))(00000000007A637A)Enter
      TL_INFO(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.439.00000199 (WebInfrastructure,LiveIDCertSync.CheckTempStore:liveidcertsync.cs(702))(00000000007A637A)<file, \\LAB-W15-SE2.lab.deitterick.com\share\1-WebServices-4\WebAuthStore\Cache_Adfs_FederationMetadata.xml>
      TL_INFO(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.455.0000019a (WebInfrastructure,LiveIDCertSync.CheckTempStore:liveidcertsync.cs(711))(00000000007A637A)opened \\LAB-W15-SE2.lab.deitterick.com\share\1-WebServices-4\WebAuthStore\Cache_Adfs_FederationMetadata.xml
      TL_INFO(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.486.0000019b (WebInfrastructure,LiveIDCertSync.UpdateLiveIDTokens:liveidcertsync.cs(468))(00000000007A637A)<now, 5/11/2015 1:41:54 AM>, <lastUpdate, 5/11/2015 1:26:29 AM>, <updateThreshold, 1434.6 minutes>
      TL_INFO(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.486.0000019c (WebInfrastructure,LiveIDCertSync.UpdateLiveIDTokens:liveidcertsync.cs(525))(00000000007A637A)<lastUpdate, 5/11/2015 1:26:29 AM>, <updateTime, 5/11/2015 1:41:54 AM>
      TL_INFO(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.486.0000019d (WebInfrastructure,LiveIDCertSync.ScheduleNextUpdate:liveidcertsync.cs(569))(00000000007A637A)Enter: <nextUpdate, 5/12/2015 1:26:29 AM>
      TL_NOISE(TF_COMPONENT) [1]0A34.1708::05/11/2015-01:41:54.486.0000019e (WebInfrastructure,LiveIDCertSync.ScheduleNextUpdate:liveidcertsync.cs(585))(00000000007A637A)Exit

       

      So as you can see from the log file, we actually cache the ADFS FQDN in a file on the file store and only update it once a day.  If you browse out to that file location:

      There is the Cache_Adfs_FederationMetadata.xml mentioned in the log file.  If you open it:

      You can see that the old ADFS server is referenced.  So there are two options.  We could either wait until the cache file updates itself, or we could force an update.  Since we wanted to test with the new ADFS server and didn't want to wait, we went with the second option.  In order to get Lync Server 2013 to start using the new ADFS server, you will need to delete the Cache_Adfs_FederationMetadata.xml file from the file store and then run an iisreset:

      Going to the PassiveAuth.aspx page again will create a new Cache_Adfs_FederationMetadata.xml file.  This time if you open it:

      You'll see that the new ADFS server is listed and the PassiveAuth.aspx page will redirect you to the new, and correct, ADFS server.

       

      This was an interesting problem that had us scratching our heads for awhile.  Luckily the WebInfrastructure logging pointed us in the right direction.

      Viewing all 4272 articles
      Browse latest View live