Lync Server 2010 / 2013 – SQL Server updaten

Bei der Lync Server Installation wird ein lokaler SQL Server 2012 Express installiert. Da mittlerweile das Service Pack 4 für SQL Server 2012 erschienen ist, werde ich die Installation beschreiben.

SQL Server 2012 Service Pack 4 Download: https://www.microsoft.com/de-DE/download/details.aspx?id=56040 Es muss darauf geachtet werden, dass immer die englische Variante heruntergeladen wird, da auch diese automatisch mit dem Lync Server installiert wird, selbst wenn dieser auf einer anderen Sprache beruht.

Installation SQL Server Service Pack 4 auf Lync Server

Die Installation kann einfach über die GUI durchgeführt werden. Nachdem der Server auf Kompatibilität geprüft wurden, werden die SQL Server Express Instanzen angezeigt, die geupdatet werden können.

Nachdem diese ausgewählt wurden, verläuft der Rest automatisiert. Nach der Installation sollte ein vollständiger Neustart durchgeführt werden.

Lync Server 2010 / 2013 (Skype Server) – Installation Cumulative Updates

Microsoft veröffentlicht regelmäßig Cumulative Updates für den Lync Server 2010 / 2013 (beim Skype Server funktioniert dies aber ähnlich), die aber nicht per Windows Updates verteilt werden, sondern manuell installiert werden müssen. Die Installation erfordert allerdings Aufgaben, die manuell ausgeführt werden müssen.

Zum Zeitpunkt des Beitrags war das Cumulative Update Juli 2018 grade erschienen, welches hier heruntergeladen werden kann: https://support.microsoft.com/de-de/help/4295705/july-2018-cumulative-update-5-0-8308-1001-for-lync-server-2013-front

Installation Cumulative Update

Der heruntergeladene Installer „LyncServerUpdateInstaller.exe“ kann einfach per GUI ausgeführt werden oder mit folgenden Parametern, deren Bedeutungen sich aus den Namen erschließen:

/Silentmode 
/Silentmode /Forcereboot 
/Extractall

Die Installation mit GUI muss einfach nur mit „Install Updates“ bestätigt werden. Die Komponenten die ein Update benötigen, werden automatisch ermittelt.

Lync 2010 / 2013 Datenbanken

Die Datenbanken auf den Lync Servern müssen nach der Installation manuell aktualisiert werden. Ob dies nötig ist, verraten folgende Powershell CMDLets:

Test-CsDatabase -ConfiguredDatabases -SqlServerFqdn sqlserver.domain.local | FT DatabaseName, ExpectedVersion, Installedversion
Test-CsDatabase -CentralManagementDatabase | FT DatabaseName, ExpectedVersion, InstalledVersion

Hier sieht man, dass in dem Fall alle Datenbanken auf dem aktuellen Stand sind.

Install-CsDatabase -Update -LocalDatabases -Verbose
Install-CsDatabase -Update -CentralManagementDatabase -SqlServerFqdn sqlserver.domain.local -Verbose
Install-CsDatabase -Update -ConfiguredDatabases -SqlServerFqdn sqlserver.domain.local -Verbose
Enable-CsTopology

Um die Unified Communications Web API (UCWA) zu aktivieren, muss noch der Bootstrapper ausgeführt werden:

%ProgramFiles%\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe

Exchange Server – EWSEditor

Heute möchte ich mal das Tool EWSEditor vorstellen. Der kleine (große) Helfer kann sehr nützlich sein, wenn man in einer Exchange-Umgebung mit EWS arbeitet, da man auf die Root-Struktur der jeweiligen Mailbox zugreifen kann. Man kann nicht nur sämtliche Elemente einsehen, sondern diese auch editieren. Außerdem stehen einige Tools zur Verfügung.

Das Tool EWSEditor ist unter folgendem Link zum offiziellem Download bereitgestellt: https://github.com/dseph/EwsEditor

Lync / Skype for Business automatisch starten per Gruppenrichtlinie

Unsere Nutzer beenden Skype for Business regelmäßig und manche sind sogar so schlau, dass sie den Autostart deaktivieren. Das wollen wir aber nicht, da sonst die Presence Funktion, die an die Telefonanlage angebunden ist, für den Benutzer nicht mehr sichtbar ist.

Leider findet sich in den offiziellen ADMX-Dateien zu Office 2013 / Office 2016 keine Konfiguration für den Autostart. Es gibt zwar einige inoffuielle Erweiterungen, die aber mit Vorsicht zu genießen sind. Alle die ich ausprobiert hatte, haben einfach einen Key im Ordner Run erzeugt, der aber keinen Bezug zur installierten x32/x64 Version hatte. Demnach wird der Key für x32 Systeme falsch gesetzt. Das Gleiche gilt für andere Office Versionen: Wenn z.B. Office 2016 installiert ist, stimmt der Pfad auch nicht mehr.

Beispiel Skype for Business mit Office 2016 in x64 installiert auf x64 Windows

"C:\Program Files\Microsoft Office\Office16\lync.exe" /fromrunkey

Beispiel Skype for Business mit Office 2016 in x32 installiert auf x64 Windows

"C:\Program Files(x86)\Microsoft Office\Office16\lync.exe" /fromrunkey

Beispiel Skype for Business mit Office 2013 in x64 installiert auf x64 Windows

"C:\Program Files\Microsoft Office\Office15\lync.exe" /fromrunkey

Beispiel Skype for Business mit Office 2013 in x32 installiert auf x64 Windows

"C:\Program Files(x86)\Microsoft Office\Office15\lync.exe" /fromrunkey

Aus diesem System kann man alle anderen Office, Lync, Skype for Business und x32 / x64 Varianten ableiten.

Gruppenrichtlinie erstellen

Nun kann man diesen Registry Schlüssel einfach per GPO erzeugen oder man benutzt folgende Variante: Benutzerkonfiguration -> Administrative Vorlagen -> System -> Anmelden -> Diese Programme bei der Benutzeranmeldung ausführen und benutzt dann den zuvor erstellten Pfad. Beispiel für Office 2013 in 32 bit installiert, auf einem 64 bit Windows: C:\Program Files(x86)\Microsoft Office\Office15\lync.exe

Lync Server 2013 – Skype for Business aktivieren

Mit den aktuellen Lync Client Updates wird automatisch Skype for Business installiert. Beim ersten Start sieht nach dem Updates von Lync, sieht man sogar schon die neue Oberfläche. Damit das auch so bleibt, müssen ein paar Konfigurationsänderungen vorgenommen werden.

Skype for Business aktivieren

Als erstes muss das aktuelle Februar Update installiert werden: Lync Server 2013 Comulative Update Februar 2015

Lync Server 2013 Comulative Update installieren

Als erstes muss der Installer (LyncServerUpdateInstaller.exe) ausgeführt und installiert werden. Im Anschluss müssen dann noch die Datenbanken aktualisiert werden.

Backend Datenbank

Die Datenbanken werden nicht automatisch aktualisiert. Dies muss manuell gemacht werden. Bei mir war es noch nötig, den Datenbankpfad manuell zu definieren: -DatabasePaths c:\csdata

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <SE.FQDN> -Verbose

Central Mangement Datenbank

Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <CMS.FQDN> -SqlInstanceName <DBInstanceName> -Verbose

Unified Communication Management API

Um die UCM API zu aktivieren, muss folgendes Befehl ausgeführt werden:

%ProgramFiles%\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe

Skyüe for Business Client Policy

Set-CsClientPolicy -Identity Global -EnableSkypeUI $true

Beim ersten Start wird automatisch die Skype for Business Oberfläche geladen. Sollte diese aber im Lync Server nicht aktiviert worden sein, wird diese beim nächsten Start wieder zurückgesetzt. Um das zu verhinder, kann ein Registry Key ausgerollt werden:

HKEY_CURRENT_USER\Software\Microsoft\Office\Lync\EnableSkypeUI als Binären Wert mit den Daten "00 00 00 00" anlegen

Lync 2013 Skype Federation

Seit einem Update kann die Lync 2013 Infrastruktur nun auch mit dem Skype Netzwerk federieren.

Was muss erfüllt sein:

  • Öffentliches Zertifikat einer bekannten Zertifizierungsstelle auf dem Lync 2013 Edge Server
  • Zugang zum Skype-Netzwerk auf der Webseite https://pic.lync.com/ beantragen
  • Skype Provider im für Lync 2013 hinzufügen und konfigurieren

Alte Provider für den MSN Messenger entfernen

Da diese Funktion mit einem Update hinzukam, sind die alten Provider noch vorhanden. Die sollten gelöscht werden:

Remove-CsPublicProvider -Identity Messenger
Remove-CsPublicProvider -Identity MSN

Skype Provider erstellen

Nun kann der neue Provider für das Skype-Netzwerk angelegt werden:

New-CsPublicProvider -Identity Skype -ProxyFqdn federation.messenger.msn.com -IconUrl “https://images.edge.messenger.live.com/Messenger_16x16.png” -VerificationLevel 2 -Enabled 1

Skype Provider konfigurieren

Nun muss der Skype Provider noch konfiguriert werden. Es muss beispielsweise definiert werden, ob die generell Kommunikation erlaubt ist oder beispielsweise nur mit Kontakten in der eigenen Kontaktliste.

Skype Federation beantragen

Auf der Webseite https://pic.lync.com/ muss man die Lync 2013 und Skype Federation beatragen. Ohne diesen Antrag kann der Lync Edge Server 2013 keine Verbindung zum Skype-Netzwerk aufbauen. Danach erhählt man eine E-Mail mit der Bestätigung. Dieser Antrag kann bis zu 30 Tage dauern. Bei mir waren es aber nur wenige Stunden.

E-Mail 1

Dear Manuel **********,

Organization Name: ********

Access Edge Service FQDN: sip.********.de
Tracking Number: **********************

Thank you for submitting a request for provisioning of Microsoft Lync Server and Skype Connectivity.

We are reviewing and validating your provisioning request. When validation is complete, we will forward your request to our partners for provisioning.

When provisioning is complete, we will send you an email notification to let you know that you can connect to the public IM service providers. If we cannot validate your provisioning request, we will notify you by email.

Note: The provisioning process can take up to 30 days. If you have not received an email indicating the status of your provisioning request, it is still being processed. During the provisioning process, we cannot provide information about the status of your request. After 30 days, if you have not received email about the status of your provisioning request, please let us know.

For more information about the provisioning process, see the Microsoft Lync Server and Skype Connectivity Provisioning Guide at http://go.microsoft.com/fwlink/?LinkId=155970 If you have questions or concerns about your provisioning request, you can contact us at lcsvlops@microsoft.com. When contacting us, please include all tracking numbers listed above.

Sincerely,

Microsoft Corporation

================================================
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052
USA

Microsoft Lync Server
http://go.microsoft.com/fwlink/?LinkId=157702
================================================

E-Mail 2

Dear Manuel **********,

Organization Name: ********

Access Edge Service FQDN: sip.********.de
Tracking Number: **********************

Your provisioning request for Microsoft Lync Server and Skype Connectivity has been successfully completed. You should now be able to connect to the public IM service providers. If you have any questions or concerns about your new Lync Server and Skype Connectivity service, or if you wish to stop the service, please contact us at lcsvlops@microsoft.com.

Thank you for using Microsoft Lync Server and Skype Connectivity service.

Sincerely,

Microsoft Corporation

================================================
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052
USA

Microsoft Lync Server
http://go.microsoft.com/fwlink/?LinkId=157702
================================================

Reverse-Proxy – Exchange Server & Lync Server

Nach dem offiziellem aus für das Threat Mangement Gateway 2010 war lange Zeit nicht klar, wie die Veröffentlichung der Exchange & Lync Webdiensten geandhabt werden soll. Nun gibt es sogar zwei kostenlose Möglichkeiten:

  • IIS mit ARR und URL Rewrite
  • Windows Server 2012 mit Web Application Proxy

IIS mit ARR und URL Rewrite

Eine einfache und auch gute Möglichkeit für die Veröffentlichung ist die Proxy-Funktion im IIS, mit den Zusatzkomponenten Application Request Routing und URL Rewrite Modul. Die Installation kann sogar mit dem Web-Plattform Installer gemacht werden, so dass nicht ein Setup ausgeführt werden muss. Die Komponenten müssen dann nur noch konfiguriert werden.

lync_2013_topology(1)

Die Exchange Server 2013 Entwickler haben dazu ein gutes Tutorial erstellt:

Ich habe sehr gute Erfahrungen mit dieser Technik und kann diese Art der Veröffentlichung nur empfehlen. Unsere Exchange Server 2013 / Lync Server 2013 werden hierüber veröffentlicht und dies funktioniert absolut problemlos.

Windows Server 2012 R2 WAP

Zur Web Application Proxy Rolle im Windows Server 2012 R2 gibt es noch nicht so viele Informationen und Erfahrungeberichte. Auf jeden Fall soll auch diese Veröffentlichungsmethode eine gute Alternative zum TMG 2010 darstellen.

Office Web Apps 2013 – Installation

Der Office Web Apps Server 2013 wird gleich von mehreren Microsoft Produkten benötigt:

  • Lync Server 2013: Zum rendern der PowerPoint Präsentationen in allen Clients
  • Exchange Server 2013: Stellt alle kompatiblen Dateiformate in Office Web App da (Word, Excel, PowerPoint, OneNote, PDF)
  • Sharepoint Server 2013: Stellt die Schnellansicht bei Dokumenten bereit

Das Anzeigen von Dokumenten sollte kostenlos sein, das Bearbeiten benötigt allerdings eine kostenpflichtige Lizenz.

Voraussetzungen

Windows Rollen und Features

Add-WindowsFeature  Web-Server, Web-Mgmt-Tools, Web-Mgmt-Console, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Static-Content, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filtering, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext45, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Includes, InkandHandwritingServices

Office Web Apps 2013 – Installation

Die generelle Installation ist sehr einfach. Einfach nur durchklicken:

Office Web Apps 2013 – Konfiguration

Auch wenn nur ein Server vorgesehen ist, muss immer eine Office Web Apps Farm erstellt werden:

New-OfficeWebAppsFarm -InternalURL "http://wac.domain.local" -ExternalURL "http://wac.domain.de" -AllowHttp -EditingEnabled:$False -SSLOffload

Office Web Apps 2013 – Optionale Einstellungen

Man kann den Office Web Apps Server 2013 so einstellen, dass dieser beim Aufruf der URL ein Formular anzeigt, mit dem man jedes Office Dokument im Browser darstellen kann:

Set-OfficeWebAppsFarm -OpenFromUrlEnabled -OpenFromUncEnabled -OpenFromUrlThrottlingEnabled

Hinweise zur Installation der Updates

Direkt nach der Installation gibt es mindestens ein Update das direkt angewendet werden kann. Nach der Installation kann es vorkommen, dass der Office Web Apps Server 2013 nicht mehr funktioniert und sich auch nicht reparieren lässt. Hier hilft das Löschen der Office Web Apps 2013 Farm und das erneute Anlegen. Ist ja nur ein Powershell-Befehl, den man dokumentieren sollte.

Exchange Server 2013 – Konfiguration

Nun kann der neue Office Web Apps 2013 Server im Exchange Server aktiviert werden:

Set-OrganizationConfig -WACDiscoveryEndpoint https://wac.domain.de/hosting/discovery
Get-OWAVirtualDirectory | Set-OWAVirtualDirectory -WacViewingOnPublicComputersEnabled $true -WacViewingOnPrivateComputersEnabled $true

Sharepoint 2013 – Konfiguration

Auch die Sharepoint 2013 Konfiguration für Office Web Apps ist sehr einfach. Es muss nur der Server bekannt gegeben und ggf. die Zone auf HTTPS definiert werden.

New-SPWOPIBinding -ServerName wac.domain.local
Set-SPWOPIZone –zone “external-https”

Lync Server 2013 – Konfiguration

Die Konfiguration im Lync Server 2013 ist noch einfacher: Hier muss man nur den Topologiebuilder ausführen und eine neue Outlook Web Apps Ressource erstellen, mit den eben erstellen Parametern.

Lync Server 2013 – Integration in Outlook WebApp

Der Lync Server 2013 kann in die Outlook WebApp integriert werden. So ist es möglich, nach der Anmeldung in Outlook WebApp, auch Instand Messaging zu nutzen oder seine Kontakte zu verwalten. Dieser Weg funktioniert zwischen Lync 2013 und Exchange 2013 nicht mehr. Hier wurdedas Design grundlegend geändert.

Exchange Server 2010

Vorraussetzungen

Für Lync 2013 steht kein eigenständiger WebServiceProvider zur Verfügung. Daher muss der Vorgänger des OCS 2007 R2 verwendet werden. Dieser wird auch offiziell von Microsoft supportet.

Auf den Exchange CAS Servern müssen einige Pakete/Updates nachinstalliert werden, um die Integration zu unterstützen.

Lync Server 2013

Vertrauenswürdiger Applikations Pool

Damit der Exchange Server mit dem Lync Server „reden“ darf, muss ein Vertrauensverhältnis aufgebaut werden. Hier müssen alle Exchange 2010 CAS Server definiert und der externe Outlook WebApp FQDN konfiguriert werden.

New-CsTrustedApplicationPool -Identity Name.local -ThrottleAsServer $true -TreatAsAuthenticated $true -ComputerFQDN ExchangeServerCAS.local -Site Berlin -Registrar LyncPoolFQDN.local -RequiresReplication $false

Vertrauenswürdige Applikation

Jetzt wird die eigentliche Applikation in ein Vertrauensverhältnis gebracht.

New-CsTrustedApplication -ApplicationId OutlookWebApp -TrustedApplicationPoolFqdn ExchangeServerCAS.local -Port 4789

Topologie für Vertrauensverhältnisse

Nun können die eben getätigten Vertrauensverhältnisse aktiviert werden.

Enable-CsTopology

Konfiguration – Exchange Server 2010

Outlook WebApp – Virtuelles IIS Verzeichnis

Zertifikat

Damit keine erneute Authentifizierung nötig wird muss das Zertifikat, dass auf dem virtuellen OWA Verzeichnis liegt, definiert werden. Dazu muss man die ID auslesen:

Get-ExchangeCertificate | fl serial*,subject,issuer

Zertifikat festlegen

Get-OwaVirtualDirectory -server ServerName | Set-OwaVirtualDirectory -InstantMessagingCertificateThumbprint "Zertifikats ID"

Dies muss für jeden Exchange CAS Server getätigt werden.

Lync Server 2013 angeben

Jetzt muss dem Exchange Server mitgeteilt werden, welchen Pool er für die Integration von Lync benutzten soll.

Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingServerName LyncPoolFQDN

Instand Messaging Typ definieren

Es kann z.B. auch ein externe MSN oder Yahoo Server definiert werden. Wir integrieren natürlich unseren Lync Server 2013.

Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingType OCS

Instand Messanging Policy aktivieren

Set-OwaMailboxPolicy -Identity Hypoport -InstantMessagingType OCS

Pfad zur UCWeb.dll anpassen

Durch die Installation des OCS WebServiceProvider wurden alle nötigen Bibliotheken installiert. Die UCWeb.dll muss registriert werden.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSExchange OWA\InstantMessaging\ImplementationDllPath"="C:\\Program Files\\Microsoft\\Exchange Server\\V14\\ClientAccess\\Owa\\Bin\\Microsoft.Rtc.UCWeb.dll"

Instand Messaging aktivieren

Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingEnabled $true

Lync Client 2013 – Adressbuch Reset

Ab und an passiert es, dass der Lync 2013 Client keine Suche im Adressbuch zulässt oder nur Suchergebnisse von Kontakten aus der eigenen Kontaktliste angezeigt werden. Folgendes Script resetet das Lync 2013 Client Adressbuch und behebt diese Probleme.

Lync Client 2013 – Adressbuch Reset Script

Was macht das Script?

  • Regestry Keys setzen: GALDownloadInitialDelay = 0 (Jetzt wird das Adressbuch sofort nach dem Start von Lync Client 2013 heruntergeladen)
  • Lokale Adressbuch Dateien löschen
  • Lokale Adressbuch Caches löschen

Script

@echo off
tasklist /fi "IMAGENAME eq lync.exe" | find "lync.exe" >nul
If %errorlevel%==0 goto LyncOffen
reg add HKCU\Software\Wow6432Node\Policies\Microsoft\Office\15.0\Lync\ /v GALDownloadInitialDelay /t REG_DWORD /d 0 /f >nul
reg add HKCU\Software\Policies\Microsoft\Office\15.0\Lync\ /v GALDownloadInitialDelay /t REG_DWORD /d 0 /f >nul
If %errorlevel%==1 goto Fehler1
Set USERAPPDATA=%USERPROFILE%\AppData\Local
dir "%USERAPPDATA%\Microsoft\Office\15.0\Lync\sip_*" /b > gal.txt
FOR /F "tokens=1" %%i in (gal.txt) do (
If Exist "%USERAPPDATA%\Microsoft\Office\15.0\Lync\%%i\gal*.*" del "%USERAPPDATA%\Microsoft\Office\15.0\Lync\%%i\gal*.*"
If Exist "%USERAPPDATA%\Microsoft\Office\15.0\Lync\%%i\abs*.cache" del "%USERAPPDATA%\Microsoft\Office\15.0\Lync\%%i\abs*.cache"
)
del gal.txt
echo Erfolgreich: Registry Key hinzugefuegt und Adressbuch Dateien geloescht...
goto End
:Fehler1
echo Fehler: Das Script muss als Administrator ausgeführt werden...
echo.
goto End
:LyncOffen
echo Fehler: Lync Client 2013 muss zuerst beendet werden...
:End

Einfach als .bat Datei speicher und als Administrator ausführen.