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.

Lync 2013 – Outlook AddIn Fehler

Nach der Migration auf Lync 2013 hatten wir Probleme mit dem Outlook AddIn für Lync, mit dem man aus Outlook heraus Lync Online Besprechungen planen kann. Folgende Fehlermeldung wurde generiert:

„Lync Besprechung konnte nicht erstellt werden. Stellen Sie sicher, dass Microsoft Lync ausgeführt wird und Sie angemeldet sind, und versuchen Sie es erneut.“

Es handelt sich um ein know issue von Microsoft. Wenn EnableEnterpriseCustomizedHelp = $true ist, dann muss die CustomizedHelpUrl einen Wert ungleich $Null haben.

Lösung

Set-ClientPolicy -EnableEnterpriseCustomizedHelp $false

Lync 2013 – AutoDiscover und EWS

Lync AutoDiscover und Exchange AutoDiscover müssen von intern und extern richtig konfiguriert sein, damit der Lync 2013 Client alles automatisch konfigurieren kann.

Lync 2013 Client – Lync Autodiscover

Der Lync 2013 Client fragt folgende DNS Records in dieser Reihenfolge ab, um den Lync Server 2013 automatisch einzurichten:

  • lyncdiscover.domain.de Externer AutoDiscover Dienst
  • _sipinternaltls._tcp.domain.de Interne TLS Verbindungen
  • _sipinternal._tcp.domain.de Interne TCP Verbindungen
  • _sip._tls.domain.de Externe TLS Verbindungen
  • sipinternal.domain.de Interner Frontend Pool
  • sip.domain.de Interner Frontend Pool oder externe Edge Server
  • sipexternal.domain.de Externe Edge Server

Lync 2013 Client – Exchange Autodiscover

Der Lync 2013 Client fragt folgende DNS Records in dieser Reihenfolge ab, um Exchange EWS automatisch einzurichten:

  • autodiscover.primäre-exchange-smtp-domain-des-benutzers.de

Lync 2013 Client – Autodiscover Abfrage Fehler

Wenn der DNS A Record für die primäre Exchange SMTP Domain nicht gesetzt ist, kommt folgendes Login-Fenster:

asdasdasdasd

Lync 2013 Client – Autodiscover Fehler im Traffic

Im Netzwerk Traffic sieht man gut wie die Abfrage verläuft:

90ß90ß

Lync 2013 Client – Konfiguration

Danach sollten die Konfigurationinformationen so aussehen:

asd

DNS Splitting

Es empfiehlt sich auf jeden Fall teilweise DNS Splitting zu betreiben.

  • _tcp.sipdomain.de DNS Zone erstellen und SRV Record (_sipinternaltls._tcp.sipdomain.de, _sipinternal._tcp.sipdomain.de, _sip._tcp.sipdomain.de) erstellen auf internen Pool weiterleiten
  • sip.sipdomain.de DNS Zone erstellen und A Record auf internen Pool anlegen
  • lyncdiscoverinternal.sipdomain.de DNS Zone erstellen und A Record auf internen Pool anlegen

Zertifikatswarnungen

Wenn man verschiedene Namespaces hat, wie z.B. domain.local und domain.de, wird eine Zertifikatswernung angezeigt. Die kann man mit diesem Registry Key umgehen:

HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Office\15.0\Lync\TrustModelData

TrustModelData muss in dem Fall den Wert domain.local erhalten, wenn das Zertifikat domain.local ausgestellt ist und die SIP Domäne domain.de heißt.

Lync 2013 – Adressbuch

Lync 2013 Server

Active Directory -> Lync Server Syncronisation

Syncronisation zwischen Server und AD auf 1 Minute festlegen. Die Daten werden aus dem AD in die SQL Datenbank geschrieben.

Set-CsUserReplicatorConfiguration -ReplicationCycleInterval 00:01:00

Adressbook Service

Der Addressbook Service ruft die Daten vom SQL Server ab und schreibt diese in die Adressbuch Dateien.

SynchronizePollingInterval

Der Service abserver.exe checkt alle 30 Sekunden, ob es ausstehende Syncronisations Events gibt.

set-CsAddressBookConfiguration -SynchronizePollingInterval 00:00:30

RunTimeOfDay

Definiert, wann das Update ausgeführt wird. Momentan um 13:30.

set-CsAddressBookConfiguration -RunTimeOfDay 00:01:30

Lync Server Adressbuch updaten

Update-CsAddressBook läd die Datena aus dem Active Directory in die Lync SQL Datenbank und schreibt sie dann in die Adressbuch Dateien, die sich die Clients laden.

Update-CsAddressBook

Lync 2013 Client

GalDownloadInitialDelay

Wenn dieser Wert auf 0 gesetzt ist, wird sofort nach dem Lync Client 2013 Start, das Adressbuch syncronisiert. Diese Registry Key lässt sich wunderbar per Gruppenrichtlinie ausrollen.

32 Bit
reg add HKCU\Software\Policies\Microsoft\Office\15.0\Lync /v GalDownloadInitialDelay /t REG_DWORD /d 0 /f
64 Bit
reg add HKCU\Software\Wow6432Node\Policies\Microsoft\Office\15.0\Lync  /v GALDownloadInitialDelay /t REG_DWORD /d 0 /f

Client Adressbuch Update erzwingen

Wenn es probleme mit dem Lync Client 2013 Adressbuch gibt, kann man folgendes tun:

  • Lync Client 2013 beenden
  • GalDownloadInitialDelay Registry Einträge setzen
  • Im Order „%userprofile%\AppData\Local\Microsoft\Office\15\Lync\sip_\“ die Dateien GalContacts.db und GalContacts.db.idx löschen
  • Lync Client 2013 neustarten

Nun startet das Adressbuch Update sofort.

Lync 2013 – Privacy Controls und Offline Status

Offline Status

Durch eine Konfigurationsanpassung wird es möglich, als Status beim Lync Client „Als Offline anzeigen“ auszuwählen. Man kann diese Option in der Client Policy anpassen. Wenn man nur eine globale Policy hat (Ansonsten muss man bei Get-CSClientPolicy die richtige auswählen), reicht dieser PowerShell Befehl:

Get-CSClientPolicy | Set-CSClientPolicy -EnableAppearOffline $true

Das Ganze sieht dann so aus:

appear_offline1_b

Privacy Controls

Durch das Aktivieren des „PrivacyMode“, werden die Privacy Controlls aktiviert. Es ist nun möglich, die Funktion auf dem Screenshot ausuwählen. Diese bewirkt, dass nur diejenigen den Status des Lync Clients sehen können, die man auch selber als Kontakt in seiner Kontaktliste hinzugefügt hat.

Set-CsPrivacyConfiguration -EnablePrivacyMode $true

Das Ganze sieht dann so aus:

Lync2010Privacy03

Office 2010 – Umstieg von Office 2003 erleichtern

Microsoft stellt auf seiner Webseite Interaktive Leitfaden für alle Office Anwendungen wie Word, Excel, PowerPoint, Outlook, usw. zur Verfügung, mit deren Hilfe, der Umstieg deutlich erleichtert werden kann. Diese Handbücher kann man entweder über die Microsoft Webseite aufrufen oder aber auch eine lokale Installation durchführen. Um die Webseite benutzen zu können, wird Microsoft Silverlight benötigt.

Auf der einen Seite sieht man die Bedienoberfläche von Office 2003 Anwendungen und beim Klick auf eine Funktion, wird die Stelle der Oberfläche in der entsprechenden Office 2010 Anwendung gezeigt.

Office - Interaktive Anleitung zum Umstieg

Online Version

Wo befinden sich die Befehle aus den Menüs und der Symbolleiste in Office 2010 und den zugehörigen Produkten?

Installierbare Versionen

PowerShell – WebAccess Installation/Konfiguration

Windows Server 2012 bringt ein neues Feature mit sich: PowerShell Web Access. Damit kann man in so gut wie jedem Browser, eine PowerShell Session öffnen. Das tolle an diesem Feature ist, dass man beim Login jeden Computer/Server zur Anmeldung auswählen kann. Somit muss nicht nicht extra eine Remote Session aufbauen.

PowerShell WebAccess Instalieren

Um die Funktion benutzen zu können, muss ein Windows Feature installiert werden.

PowerShell WebAccess Instalieren – Windows Feature

Mit dem folgendem Befehl, wird das Windows Feature installiert:

Install-WindowsFeature -Name WindowsPowerShellWebAccess -ComputerName localhost -IncludeManagementTools -Restart

PowerShell WebAccess Instalieren – Einrichtung des Gateway

Sollte bereits ein gültiges SSL Zertifikat dem IIS zugeordnet sein, kann folgender Befehl zur Konfiguration ausgeführt werden:

Install-PswaWebApplication

Sollte noch kein SSL Zertifikat dem IIS zugeordnet sein, kann folgender Befehl zur Konfiguration ausgeführt werden und es wird ein selbstsigniertes Zertifikat erstellt:

Install-PswaWebApplication -UseTestCertificate

PowerShell WebAccess Instalieren – Autorisierungsregel

Dem Usernamen * und dem Computernamen * wird der Zugriff erlaubt. Man kann natürlich auch nur einem bestimmten Benutzer/Computer den Zugriff erlauben.

Add-PswaAuthorizationRule -UserName * -ComputerName * -ConfigurationName microsoft.powershell

Beispiel

Das ganze sieht dann so aus:

Lync 2013 – Exchange Server 2010 – EWS Probleme

Im Lync Client kann man kontrollieren, ob die EWS Verbindung zum Exchange erfolgreich hergestellt wurde:

asd

Bei diesem Beispiel war die Verbindung Fehlerhaft.

Problemlösung

Es muss eine neue DNS-Zone erstellt und zwei SRV Records angelegt werden. Diese Zone muss den Namen der externe Domäne haben.

Zonen-Namen: _tcp.hypoport.de

1. SRV Record: _autodiscover._tcp 0 0 443 fqdn des internen Exchange Client Access Server oder Array
2. SRV Record: _sipinternaltls._tcp 0 0 5061 fqdn des internen Lync FrontEnd Servers

Exchange Server 2010 – Throttling Policy Tutorial und iOS Bug in 6.1.1

Die Throttling Policy wacht über die Verbindungen eines Benutzers zum Exchange Server und erkennt Unregelmäßigkeiten. Wenn beispielsweise ein Postfach angegriffen wird und Unmengen an Last erzeugt werden soll, wird diese Verbindung von der Throttling Policy ausgebremst und beendet. Im Regelfall sorgt sie aber dafür, dass alle Benutzer eine stabile und schnelle Verbindung erhalten und niemand auf Kosten anderer, Ressourcen bindet.

Apple Iphone Bug in iOS 6.1.1

Ein Bug in iOS verursacht eine Schleife beim Synchronisieren von Kalendereinträgen und Einladungen. Bis Apple ein Update herausbringt, sollte man folgende Einstellungen ausrollen:

Fix

[code]Set-ThrottlingPolicy -EASPercentTimeInCAS 10 -EASPercentTimeInMailboxRPC 10 -EASPercentTimeInAD 10[/code]

Offizielle Informationen von Microsoft: http://support.microsoft.com/kb/2814847

Exchange Server 2010 – Throttling Policy Konfigurations Möglichkeiten

Throttling Policy – Active Sync

Name Standard Beschreibung
EASMaxDevices 10 Max Anzahl angebundener Smartphones/Tablets eines Benutzers
EASMaxConcurrency 10 Max Anzahl gleichzeitiger Verbindungen zu Smartphones/Tablets
EASMaxDeviceDeletesPerMonth NULL Max Anzahl gelöschter Smartphones/Tablets im Monat
EASPercentTimeInAD NULL Prozentuale Anzahl an LDAP Anfragen aller Verbindungen
EASPercentTimeInCAS NULL Prozentuale Anzahl an Client Access Anfragen aller Verbindungen
EASPercentTimeInMailboxRPC NULL Prozentuale Anzahl an RPC Anfragen aller Verbindungen

Throttling Policy – Outlook WebApp

Name Standard Beschreibung
OWAMaxConcurrency 5 Max Anzahl geöffneter Outlook WebApp Sitzungen
OWAPercentTimeInAD 30 Prozentuale Anzahl an LDAP Anfragen aller Verbindungen
OWAPercentTimeInCAS 150 Prozentuale Anzahl an Client Access Anfragen aller Verbindungen
OWAPercentTimeInMailboxRPC 150 Prozentuale Anzahl an RPC Anfragen aller Verbindungen

Throttling Policy – RPC

Name Standard Beschreibung
RCAMaxConcurrency 20 Max Anzahl gleichzeitiger Verbindungen zum Exchange Server per Benutzer
RCAPercentTimeInAD 50 Prozentuale Anzahl an LDAP Anfragen aller Verbindungen
RCAPercentTimeInCAS 205 Prozentuale Anzahl an Client Access Anfragen aller Verbindungen
RCAPercentTimeInMailboxRPC 200 Prozentuale Anzahl an RPC Anfragen aller Verbindungen

Throttling Policy – Allgemein

Name Standard Beschreibung
MessageRateLimit NULL Max Anzahl der E-Mails die ein Benutzer innerhalb von 24 Stunden verschicken kann

RecipientRateLimit NULL Max Anzahl von Empfängern innerhalb von 24 Stunden, die von diesem Benutzer angeschrieben werden können

ForwardeeLimit NULL Max Anzahl an Weiterleitungen von E-Mails innerhalb von 24 Stunden

Throttling Policy – Exchange Web Service

Name Standard Beschreibung
EWSMaxConcurrency 10 Max Anzahl gleichzeitiger Verbindungen eines Benutzers
EWSMaxSubscription 5000
EWSFindCountLimit 1000
EWSfastSearchTimeoutInSeconds 60
EWSPercentTimeInAD 50 Prozentuale Anzahl an LDAP Anfragen aller Verbindungen
EWSPercentTimeInCAS 90 Prozentuale Anzahl an Client Access Anfragen aller Verbindungen
EWSPercentTimeInMailboxRPC 60 Prozentuale Anzahl an RPC Anfragen aller Verbindungen

Throttling Policy – Blackberry Enterprise Server

Der Blackberry Server führt alle Syncronisationen unter seinem eigenen Benutzer aus. Dieser Benutzer syncronisiert daher alle Postfächer von den Benutzern und trifft regelmäßig an die Grenzen der Standard Throttling Policy. Darum muss für diesen Account eine eigene Policy erstellt werden, die keine Einschränkungen hat.

Throttling Policy – Blackberry Enterprise Server – Konfiguration

New-ThrottlingPolicy BES
Set-ThrottlingPolicy BES -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null
Set-Mailbox "BESAdmin" -ThrottlingPolicy BES

Exchange Server 2010 – Öffentliche Ordner – Zombie User entfernen

Wenn ein Benutzer vollständig gelöscht oder nur die Mailbox gelöscht wird, erscheint dieser als „NT User:xxxxxxxxxxxxxxxxxxxxxxxxxx“ in den Berechtigungen des Öffentliches Ordners. Diese Berechtigungen sind eigentlich nicht per Exchange Console oder Powershell entfernbar und verbleiben an dem Ordner. Mit ExFolders kann man diese händisch löschen, was aber sehr viel manueller Aufwand bedeutet. Ich habe ein Script geschrieben, dass diese Zombie Benutzer löschen kann:

Get-PublicFolder "\" -recurse -resultsize unlimited | Get-PublicFolderClientPermission | Where { $_.User.ToString().Contains("NT User:") -eq $true } | Remove-PublicFolderClientPermission -confirm:$false

Es werden alle Zombie User gelöscht, die Berechtigungen in der gesammten öffentlichen Ordner Struktur hatten.