Home > Lync Server/Skype for Business Server > Changelog: Set-CsFeatures.ps1

Changelog: Set-CsFeatures.ps1

This is the changelog page for Script: Set-CsFeatures.ps1 – Easily Install Prerequisites and Tools for Lync Server 2013 and Skype for Business Server 2015. You will find a complete list of released versions, their dates, and the features and issues addressed in each. Please refer to the script’s main page for more information including download links, installation details, and more.

v4.40 – 11-12-2017

  1. Added more bugs to fix later. 🙂
  2. Bypass of the 32/64 bit PowerShell process check when using -DownloadOnly or -DownloadAll – NEEDS TESTING
  3. Updated Silverlight to v5.1.50907.0
  4. Updated WireShark to v2.2.10
  5. Added 80-17 – Skype for Business Basic Client (32 and 64 bit) v16.0.4417.1000 and Lync Basic Client (32 and 64 bit) v15.0.4420.1017 [DOWNLOAD ONLY]
  6. Added 80-18 – Skype Room System Administrative Web Portal v1525.1 [DOWNLOAD ONLY]
  7. Added 80-19 – Key Health Indicators for Lync Server 2013 and Skype for Business Server 2015 v2.0 [DOWNLOAD ONLY]
  8. Fixed an issue with option 9 (Create a file share) to deal with the user selecting a root drive instead of an existing or new subfolder. If a root drive is selected, a folder called SkypeShare (or LyncShare if running in Lync mode) is created and it is shared. Thanks to @JDubyaeber for reporting the issue.
  9. Option 50-19 updated to also block .NET v4.7.1 (in addition to v4.7). MS hasn’t released guidance into how to block v4.7.1 yet, but this apparently works to block this version for Windows Updates. I can verify this method does NOT block manual installation. Both versions are still unsupported for Skype for Business Server 2015.
  10. Option 50-5 (Set recovery of SfB/Lync/OOS services to restart) updated to also include the SfB Statistics Manager (“statsman”) agent service.
  11. Added warning to 50-23 (Enable Enhanced Experience for Meetings Hosted on Skype for Business On-premises) to rerun option if more front end servers are deployed in the environment.
  12. Added option 50-24 – MS Teams PowerShell module.

v4.30 – 10-11-2017

  1. Added a prompt if more than 1 NIC is detected in servers other than Edge.
  2. Fixed check for edge domain name before forcing it to be changed (like when script is run a second time after the domain name is set).
  3. Changed from using netdom.exe for some of the edge config changes to directly making the changes in the registry.
  4. Set ‘Set recovery of SfB/Lync/OOS services to restart’ (Option 50/5) to only set the first two failures to restart, and leave the subsequent failures to ‘take no action’. This should prevent issues where problematic services get stuck in a perpetual restarting loop.
  5. Added some code to detect if FIPS is enabled. This is based on some feedback around issues that arise when FIPS is enabled and you try to install some of the prereqs. More will be added later. Thanks to Sean for bringing it up.
  6. Added option 80-14 – Call Quality Dashboard [DOWNLOAD ONLY].
  7. Added option 80-15 – Real-Time Statistics Manager (StatsMan) [DOWNLOAD ONLY].
  8. Added option 90-10 – Configure longer Diffie-Hellman ephemeral (DHE) key shares for TLS servers. This option sets it to 2048 (from the default 1024). See https://technet.microsoft.com/en-us/library/security/3174644.aspx for more info. This should help get higher scores at sites such as https://www.ssllabs.com/ssltest. Thanks to @greiginsydney & Mike S. for the info.
  9. Added option 90-11 – Disable PCT 1.0.
  10. Added option 90-12 – Disable other weak ciphers – includes NULL, DES 56/56 and RC2. Tons more security options coming soon.
  11. Updated option 50-11 – Edit hosts file – to ensure it opens notepad elevated.
  12. Fixed option 15 – Lync Connectivity Analyzer – MS has killed the download page for it. I fixed it so it grabs from an alternate source, and removed the restriction that the option only work when the script is in ‘Lync’ mode.
  13. Added option 80-16 – IIS Crypto [DOWNLOAD ONLY].
  14. Bypass the virtualization function code when the script is called with either the -downloadall or -downloadonly options. This is because that code can cause exception errors when run on a Win 10 machine. I’ll make this a little more graceful in the future. Thanks to @JDubyaeber for the heads up.
  15. Re-added the admin/elevated check when -downloadall or -downloadonly options are used. This is because some of the logging code needs elevated access to right to the registry, such as when the script starts/finishes.

v4.20 – 09-04-2017

  1. Minor corrections to the edge NIC configuration code. Thanks to @JapNolt for pointing it out and supplying a solution for one of the issues.
  2. Now log the number of NICs that are enabled. This will be used in the future to throw some alerts, if needed.
  3. Added NET-WCF-HTTP-Activation45 to the list of Windows Features installed for OOS (option 5).
  4. Added detection for Visual C++ 2013 when using OOS (option 5). If it’s not detected, it will install it. This resolves an issue where OOS servers could show ‘unhealthy’.
  5. Updated WireShark to 2.2.9.
  6. Added ‘Enable Enhanced Experience for Meetings Hosted on Skype for Business On-premises‘ (50-23).
  7. Fixed some minor error message text that mentioned ‘Lync Server’ instead of ‘Skype for Business Server’.
  8. Tweaked the code for ‘Add Trusted Root Certification Authorities to Edge Servers’ (50-22) to deal with that option being selected before the initial IE configuration prompts are dealt with. Also added some more certification authorities.
  9. Added detection code and related error to determine if the script is running in an x86 PowerShell session – Thanks to Brennan.
  10. Fixed a minor logging issue when using options in the ‘Third Party’ menu.
  11. Fixed an issue where the WireShark installer macro would try to run even if the WireShark exe file failed to download.
  12. Fixed an issue where the script would exit to allow downloading a new version, but wouldn’t clear the ‘running’ flag. Thanks to @greiginsydney for noticing.
  13. Fixed an issue where the script would throw an unintended error if the rtclocal SQL instance failed, and the script tried to apply the firewall exceptions for the Get-CsConnections script. Thanks to @greiginsydney for the heads up.
  14. Fixed an issue where the pick list for internal edge NICs was sometimes blank. Thanks to Korbyn for pointing it out.
  15. Fixed a minor logging issue when removing the Windows Store App from the taskbar (50-12).
  16. Updated option to temporarily block the installation of .NET (option 50-19) to block version 4.7 (from 4.62) as 4.7 is not supported for Skype for Business Server (yet). Script will also stop if 4.7 is installed.
  17. Added -DisableAutoUpdates switch to bypass the prompt about disabling auto windows updates when installing roles. When specified for any role (1-6), automatic updates are disabled, and not prompt is displayed. When not specified, a prompt will be displayed.
  18. Added -IncludeLanguagePack switch to bypass the prompt about installing the english language pack when building OOS servers (option 5).
  19. Included the June, 2017 security update for OOS servers (option 5).
  20. Added -SkipEdgeNicConfig option to skip the NIC config when building edge servers (option 2). If you use this option, understand that you must manually configure those components on the server. Thanks to @greiginsydney for the suggestion.
  21. Disabling SSL3 (option 90-2) now disables both the server and client components.
  22. Disabling SSL2 (option 90-1) now disables both the server and client components.
  23. Added security option 90-7 – Set LmCompatibilityLevel to 5 (NTLMv2 only). See https://technet.microsoft.com/en-us/library/cc960646.aspx for more info. Also, the LmCompatibilityLevel when the script is started is also logged.
  24. Added security option 90-8 – Disable Link-Local Multicast Name Resolution (LLMNR).
  25. Re-engineered some of the code around how the script reboots and restarts. This was due to some limitations in the RunOnce registry key in Windows.
  26. Fixed the problem with the latest Skype for Business Debugging Tools (option 12). It now requires Visual C++ 2015, whereas the previous builds required Visual C++ 2013, so the script was updated to install that if needed.
  27. Some minor updates to what gets logged at the beginning of the log file.
  28. Added support for Windows Server 2016.
  29. Fixed an issue where the script would throw an error when restarting after a reboot if a menu option hadn’t been selected initially.
  30. Fixed URL for Skype Adoption Portal.

Known issues

  1. Looks like pinning of shortcuts to the taskbar & desktop are not working in Windows Server 2016.

v4.10 – 05-15-2017

  1. Write-Log function upgraded to v3.1
  2. fixed logic in 90-6 (disable SMBv1)

v4.09 – 05-13-2017

  1. Minor menu cleanup
  2. Added a reboot check after Wireshark is installed, and before the config macro runs. Two people have reported spontaneous server reboots at that point. It’s not the script – it’s WireShark.
  3. Upgraded SQL Server Management Studio to v17.
  4. fixed a couple of typos – thanks to @greiginsydney for pointing them out.
  5. fixed an issue with disabling NetBIOS over TCP/IP
  6. option 50-22 (Add Trusted Root Certification Authorities to Edge Servers) added. See https://www.ucunleashed.com/3029 for more info.
  7. Minor adjustments to basic function code

v4.08 – 04-19-2017

  1. Added Lync Edge Server Replication failed FALSE with red cross (option 90-5)
  2. added Disable SMBv1 (option 90-6). See https://technet.microsoft.com/en-us/library/security/ms17-010.aspx for more info.
  3. Fixed issue with Windows Source files when installing prereqs for Persistent Chat servers. Thanks to Steve for sending me the bug report.

v4.07 – 04-14-2017

  1. added Meeting Migration Tool (option 80-11) to the download menu. This option downloads both the 32 and 64 bit versions. Because both versions have the same file name, they are downloaded to individual sub folders.
  2. added Cloud Center Edition v1.4.2 (option 80-12) to the download menu
  3. Substantial code optimization utilizing PsScriptAnalyzer and PsSharper (literally like 2000 lines of code tweaked)
  4. removed Test-ScriptUpdate function since it was replaced with the newer update method
  5. updated Test-InvalidCert function to v1.3 (adds checking of Intermediate Store & moves certs in the incorrect store to the correct store). Note that this function runs automatically when the script is started. Results are written to the log file.
  6. updated Write-Log function to v3.0 (adds a verbose level)
  7. fixed a typo in the virtualization detection code (how did I miss THAT?)
  8. Updated download URL for network assessment download
  9. removed download URL for RASK Resources file, as it seems to no longer be available for download
  10. updated .NET check to only throw an error if the detected version is > v4.6.2, since v4.6.2 is now supported (assuming CU 4)
  11. Updated Wireshark (option 30-1) to v2.2.6
  12. Updated Windows Features required for Director role. Thanks to @greiginsydney for pointing it out.
  13. added Windows Features for Skype for Business 2015 stand-alone Mediation server. Thanks to @greiginsydney for the info.

v4.06 – 02-05-2017

  1. Added some additional code for OOS (option 5) to deal with (& log) potential issue where OOS ISO image isn’t mounted, or takes a while to mount.
  2. Added option 80-10: Skype for Business Adoption Portal [DOWNLOAD ONLY]
  3. Re-enabled the static route section of the edge server config (option 2). I forgot this was disabled. This has always been a real pain to deal with. This is because sometimes, when you programmatically remove the gateway on the internal NIC and reboot the machine, Windows will clear ALL of the config for that NIC. This usually means that when the machine is back up and running, you can’t connect to it. I have yet to find a rhyme or reason as to what causes this. If you can’t RDP to the edge server once it reboots, check the internal NIC config.
  4. Added option 90-4 to disable the RC4 Ciper. See https://support.microsoft.com/en-us/kb/2868725 and https://support.microsoft.com/en-us/kb/245030 for more info.
  5. Updated option 5 (OOS) to November 2016 build
  6. Added option 70-13 – WireShark taskbar shortcut
  7. Fixed an issue with 50-19 (Block install of .NET 4.6.1) that would thow an error when checking for specific registry values
  8. Updated option 6 (Persistent Chat) for Skype for Business Server 2015
  9. Fixed an issue in option 6 (Persistent Chat) where if a reboot was required, and the user chose to reboot, the server wouldn’t reboot automatically.
  10. Updated option 30-1 (WireShark) to prompt if you want a taskbar shortcut created for WireShark.
  11. Updated option 50-18 (Skype federation) to ensure that the provider config is enabled if it already exists.
  12. Minor tweaking to Write-Log (logging function)
  13. Minor tweak to detection of last boot time
  14. Updated option 30-1 (WireShark) to v2.2.4
  15. Updated Get-UpdateInfo function to v1.2
  16. Updated 50-14 (Install Skype for Business Online Admin components) to include all requirements for management of Skype for Business in O365, including “Microsoft Online Services Sign-in Assistant”, “Windows Azure Active Directory Module for Windows PowerShell”, and “Skype for Business Online, Windows PowerShell Module”
  17. Updated 80-6 (Download Skype for Business Online Admin components) to include all requirements for management of Skype for Business in O365, including “Microsoft Online Services Sign-in Assistant”, “Windows Azure Active Directory Module for Windows PowerShell”, and “Skype for Business Online, Windows PowerShell Module”

v4.05 – 11-04-2016

  1. Updated GUID for Message Analyzer as MS rolled out a new version (4.0.8112.0), and the script was hanging looking for the old GUID.
  2. Fixed an issue where the SMB file share would get the wrong share name when not specifying -skype4b option, and choosing “yes” on the prompt.

v4.04 – 11-02-2016

  1. Fixed some URL references that still pointed to the old version of the script & its related downloads. No functionality changes as a result of this. More of just a housekeeping issue. Added a variable that will eliminate this issue going forward.
  2. Fixed an issue where a file download fails (for any reason), and the retry fails because the filename has a space in it. Stupid missing quotes….
  3. Fixed an issue where the SQL Express code wouldn’t run when using -skype4b and selecting options 1, 2, 4, or 6.
  4. Updated .NET warning to include a link to Jeff Guillet’s article on removing .NET framework 4.6.1
  5. Updated SQL Express 2014 and SQL Server Management Studio to SP2 (from RTM). Dunno why I didn’t see that earlier. – Thanks to @pilzi for pointing it out to me.
  6. The usual code optimization as I find better, faster, more efficient/consistent ways of doing things.
  7. Preliminary work around supporting Windows Server 2016 – NOTE: Lync Server 2013 and Skype for Business Server 2015 are NOT supported on Windows Server 2016. Yet.

v4.03 – 11-01-2016

  1. Fixed issue with option 60-6 in Skype4b mode not recognizing resource kit installed (it was looking for the old executable name)
  2. Changed -Win2012Source parameter to -WindowsSource (in anticipation of Windows 2016 support for Skype for Business Server 2015)
  3. Created option 30 – Third Party Tools menu, and moved WireShark and Customized PortQryUI to it
  4. Code optimization
  5. Moved option 24 (UCMA) to the Misc Server Config menu (50)
  6. Moved option 16 (Windows Update) to the Misc Server Config menu (50)
  7. fixed URLs in comment help for the script (they were still pointing at the old version)
  8. added the SQL Express and SQL Server Management Studio (SSMS) code for -Skype4B. Selecting appropriate options will now install the SQL Express 2014 instances and/or SSMS. -SQLPath works as intended, as well.
  9. Updated the function that checks for an update. It should now properly show the changelog info in the popup message.
  10. minor changes to some test functions

v4.02 – 10-28-2016

  1. Added option: 40-4 – Show Response Groups with no agents
  2. Added option: 50-19 – Temporarily block the installation of .NET Framework 4.6.1 – this does not remove any existing installation of .Net 4.6.1. See https://support.microsoft.com/en-us/kb/3133990 for more info on the method used, and http://www.expta.com/2016/02/how-to-uninstall-net-framework-461.html for info on how to remove .NET Framework 4.6.1.
  3. Fixed main menu not displaying option 40 (reports)
  4. Fixed issue with some downloads not working – Thanks to Martijn for pointing it out

v4.01 – 10-25-2016

  1. Fixed a minor display issue when submitting bug reports.
  2. Fixed a minor issue when the script can’t connect to the web site to retrieve update info.
  3. Fixed an issue where errors would occur if the person running the script isn’t a Domain Admin.
  4. Added option 40 to main menu for reports, and added:
    1. 40-1) Show AD disabled accounts that are still enabled in Lync/SfB
    2. 40-2) Show elevated accounts that are enabled in Lync/SfB
    3. 40-3) Show users whose SMTP address doesn’t match their SIP address

v4.0 – 10-24-2016

  1. Initial version
  1. No comments yet.
  1. No trackbacks yet.