Script: Lync QoS (Quality Of Service) Configuration Report

Update: Zachary Loeber did an excellent job writing a similar script which gather more information about the QoS, including Registry and EDGE settings which give you a more detailed picture of the current QoS settings in Lync. Download his script here

Recently I had to configure a customer Lync 2013 environment for QoS after upgrade it from Lync 2010.

Before running all of the configuration scripts by following Microsoft guidance, I wanted to know how is the current environment is configured for QoS and if any changes were made.

To do so, I found myself running a lot of manual commands and putting the results into excel:

  • Get-CsService -ConferencingServer | fl Identity,*port*
  • Get-CsService -ApplicationServer | fl Identity,*port*
  • Get-CsService -MediationServer | fl Identity,*Port*
  • Get-CsMediaConfiguration | fl
  • Get-CsUCPhoneConfiguration | fl
  • Get-CsConferencingConfiguration | fl

Those commands help me to find out what are the current configurations and if they were different from the default ones Lync 2013 is set with.

Running all command, arranging the data and comparing between the different policies took me a lot of time, that was the trigger for writing the following script with the help of @y0avb.

This script will generate an HTML report which contains all Lync QoS related configurations.
This script will also notify about the following:

  • If QoS is enabled or not for Lync (Based on Get-CsMediaConfiguration)
  • If any of the settings is different from the default values Lync 2013 is set with (based on the following table)


Download: TechNet Gallery | OneDrive

Additional Notes:

  • Please note that even if Lync is enable for QoS on the server side, it still requires GPO’s for both Lync Servers and Clients.
  • The report does not contain Lync EDGES QoS configurations


  1. Pingback: Weekly IT Newsletter – May 26-30, 2014 | Just a Lync Guy

  2. Pingback: NeWay Technologies – Weekly Newsletter #97 – May 29, 2014 | NeWay

  3. Pingback: NeWay Technologies – Weekly Newsletter #97 – May 30, 2014 | NeWay

  4. LuisR

    Great Report !!
    One improvement suggestion: instead of identify default configuration, maybe highligthing the ports numbers in Color to identify which is not the Default.
    In get-csconfiguration, could be important to view/warn about the Setting of ClientMediaPortRangeEnabled

    Keep up with the excelent work

    1. LuisR

      Sorry, just noticed that the ClientMediaPortRangeEnabled is there

    2. Guy Bachar (Post author)

      Great feedback, thank you Luis, i’ll definitely update that as well.

    3. Guy Bachar (Post author)

      Updated the script:
      Let me know what do you think…

      1. LuisR

        That’s a fast Service 🙂
        But on the Conferencing Configuration Policy, I have it Show Default as false, but doesn’t identify the ports… but maybe it should not be necessary

        1. Guy Bachar (Post author)

          If you run the following command in your environment:
          Get-CsService -ConferencingServer | fl Identity,*port*

          Does you see any kind of ports or it’s empty?

          1. LuisR

            The conferencing server is OK.
            I was refering to the conferencing configuration policy

          2. Guy Bachar (Post author)

            and when you running the:
            Get-CsConferencingConfiguration | fl
            You don’t any ports specified?

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.