Lync Client Policies
Auf der Seite Lync Policies habe ich die verschiedenen Richtlinien von Lync aufgezählt. Die Lync Client Policies sind aber etwas besonders, da sie sehr viel umfangreicher sein können und zudem individuell erweitert werden können
Achtung: Beachten Sie die Reihenfolge auf Lync Provisioning
Standard Richtlinien
Bis auf die Client Richtlinien können Sie alle anderen Richtlinien über die grafische Verwaltung anlegen, ändern und löschen. Die Client Richtlinien übernehmen die Funktion, die früher über Gruppenrichtlinien an den Client durchgesetzt wurden. Da aber immer mehr Clients nicht mehr in der Domäne sind (z.B. beim Einsatz von Lync Online in der Cloud, Lync Telefone und Mobilfunkclients oder Private PCs zu Hause), kann Lync die Einstellungen als "Inband Provisioning" über SIP an den Client senden. Über entsprechende "Client Version Policies" können Sie dann sicherstellen, dass ältere Clients, die eine solche Steuerung nicht unterstützen, ausgesperrt werden. Die Konfiguration der Richtlinie erfolgt aber per PowerShell. Hier die Ausgabe der Default Richtlinie
[PS] C:\Get-CsClientPolicy Identity : Global PolicyEntry : {} Description : AddressBookAvailability : WebSearchAndFileDownload AttendantSafeTransfer : AutoDiscoveryRetryInterval : BlockConversationFromFederatedContacts : CalendarStatePublicationInterval : ConferenceIMIdleTimeout : CustomizedHelpURL : CustomLinkInErrorMessages : CustomStateURL : DGRefreshInterval : DisableICE : DisableCalendarPresence : DisableContactCardOrganizationTab : DisableEmailComparisonCheck : DisableEmoticons : DisableFeedsTab : DisableFederatedPromptDisplayName : DisableFreeBusyInfo : DisableHandsetOnLockedMachine : DisableMeetingSubjectAndLocation : DisableHtmlIm : DisableInkIM : DisableOneNote12Integration : DisableOnlineContextualSearch : DisablePhonePresence : DisablePICPromptDisplayName : DisablePoorDeviceWarnings : DisablePoorNetworkWarnings : DisablePresenceNote : DisableRTFIM : DisableSavingIM : DisplayPhoto : AllPhotos EnableAppearOffline : EnableCallLogAutoArchiving : EnableClientMusicOnHold : False EnableConversationWindowTabs : EnableEnterpriseCustomizedHelp : EnableEventLogging : EnableExchangeContactSync : True EnableExchangeDelegateSync : EnableFullScreenVideo : EnableHotdesking : EnableIMAutoArchiving : EnableNotificationForNewSubscribers : EnableSQMData : EnableTracing : EnableURL : EnableUnencryptedFileTransfer : EnableVOIPCallDefault : False ExcludedContactFolders : HotdeskingTimeout : 00:05:00 IMWarning : MAPIPollInterval : MaximumDGsAllowedInContactList : 10 MaximumNumberOfContacts : MaxPhotoSizeKB : 30 MusicOnHoldAudioFile : P2PAppSharingEncryption : Supported PlayAbbreviatedDialTone : SearchPrefixFlags : ShowRecentContacts : True ShowManagePrivacyRelationships : False ShowSharepointPhotoEditLink : False SPSearchInternalURL : SPSearchExternalURL : SPSearchCenterInternalURL : SPSearchCenterExternalURL : TabURL : WebServicePollInterval :
Sie sehen hier eine ganze Menge von Einstellungen, die nicht gesetzt (= default) sind und für jede Einstellungen gibt es auf der Microsoft Seite eine kurze Beschreibung.
- Set-CsClientPolicy
Lync2013: http://technet.microsoft.com/de-de/library/gg398300.aspx
Lync2010: http://technet.microsoft.com/de-de/library/gg398300(v=ocs.14).aspx - Get-CsClientPolicy
Lync2013: http://technet.microsoft.com/de-de/library/gg398830.aspx
Lync 2010: http://technet.microsoft.com/de-de/library/gg398830(v=ocs.14).aspx - Grant-CsClientPolicy
Lync2013: http://technet.microsoft.com/de-de/library/gg412942.aspx
Lync 2010: http://technet.microsoft.com/de-de/library/gg412942(v=ocs.14).aspx - New-CsClientPolicy
Lync2013: http://technet.microsoft.com/de-de/library/gg425949.aspx
Lync 2010: http://technet.microsoft.com/de-de/library/gg425949(v=ocs.14).aspx - Remove-CsClientPolicy
Lync2013: http://technet.microsoft.com/de-de/library/gg425772.aspx
Lync 2010: http://technet.microsoft.com/de-de/library/gg425772(v=ocs.14).aspx
Daher erspare ich mir die Auflistung der einzelnen sichtbaren Punkte.
Policy Scope
Sie können neben der "Global"-Policy noch Richtlinien auf der Ebene der "Site" und für Benutzer anlegen. für den Benutzer gilt effektiv dass die Richtlinie, die am nächsten an ihm dran ist, d.h. wen Sie ihm eine Benutzerrichtlinie vergeben haben, dann wirkt auch nur diese
Wenn dem Benutzer keine Richtlinie direkt zugewiesen wurde, dann wird eine eventuell vorhandene SITE-Policy angewendet und wenn diese nicht definiert ist, dann kommt die globale Richtlinie zum Tragen.
Es kann also immer nur genau eine GLOBAL-Policy geben, pro Site immer nur genau eine SITE-Policy aber durchaus mehrere Benutzer-Policies. Diese werden mit Grant-CSClientPolicy den Benutzer zugewiesen:
- Grant-CsClientPolicy
Lync 2013: http://technet.microsoft.com/de-DE/library/gg412942(v=ocs.15).aspx
Lync 2010: http://technet.microsoft.com/de-DE/library/gg412942(v=ocs.14).aspx
Policies auf dem Client
Die Polices ersetzen ja seit Lync 2010 die früheren Gruppenrichtlinien. Die Einstellungen werden nun "Inband" im SIP-Paket mit gesendet und angewendet. Dies kann per Snooper auf dem Server aber viel einfacher noch auf dem Client kontrolliert werden. Schalten Sie auf dem Client einfach das Logging ein und schauen Sie in %LOCALAPPDATA%\Microsoft\Office\15.0\Lync\Tracing\Lync-UccApi-0.UccApilog. Sie sollten die Anfrage des Clients sehen
INFO :: SUBSCRIBE sip:frank.carius@netatwork.de SIP/2.0 From: <sip:User1@msxfaq.net> To: <sip:User2@msxfaq.net> CSeq: 1 SUBSCRIBE Event: vnd-microsoft-provisioning-v2 Accept: application/vnd-microsoft-roaming-provisioning-v2+xml Supported: com.microsoft.autoextend Content-Type: application/vnd-microsoft-roaming-provisioning-v2+xml <provisioningGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisioninggrouplist" subnet="192.168.100.0"> <provisioningGroup name="publicProviders"/> <provisioningGroup name="UserSetting"/> <provisioningGroup name="ServerConfiguration"/> <provisioningGroup name="groupChatConfiguration"/> <provisioningGroup name="locationPolicy"/> <provisioningGroup name="persistentChatConfiguration"/> <provisioningGroup name="mediaConfiguration"/> <provisioningGroup name="meetingPolicy"/> <provisioningGroup name="privacyPublicationGrammar"/> <provisioningGroup name="presencePolicyV2"/> <provisioningGroup name="ucPhoneSettings"/> <provisioningGroup name="ucPolicy"/> <provisioningGroup name="publicationGrammar"/> <provisioningGroup name="endpointConfiguration"/> </provisioningGroupList>
Dieser "SUBSCRIBE" fordert vom Server die verschiedenen Provisioning-Groups an. Interessant ist hier dann die Antwort. Der Header ist noch recht einfach zu verstehen. Es ist ein "200 OK" auf den vorherigen "SUBSCRIBE". Hier habe ich aber nur den Teil der "endpointConfiguration" der XML-Antwort zitiert
SIP/2.0 200 OK Contact: <sip:NAWLYNC001.netatwork.de:5061;transport=tls> Content-Length: 53268 From: "Carius, Frank"<sip:frank.carius@netatwork.de>;tag=ecb1b080e7;epid=2385f4c267 To: <sip:frank.carius@netatwork.de>;tag=0A030080 CSeq: 1 SUBSCRIBE Content-Type: application/vnd-microsoft-roaming-provisioning-v2+xml Event: vnd-microsoft-provisioning-v2 <provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplist-notification"> ..... <provisionGroup name="endpointConfiguration" > <propertyEntryList > <property name="ShowRecentContacts" >true</property> <property name="ShowManagePrivacyRelationships" >false</property> <property name="MaxPhotoSizeKB" >30</property> <property name="DisableMusicOnHold" >false</property> <property name="MusicOnHoldAudioFile" >\\lyncfe\Ansagen\03_Warteschleife_mono_1.wma</property> <property name="PhotoUsage" >AllPhotos</property> <property name="AbsUsage" >WebSearchAndFileDownload</property> <property name="HotdeskingTimeout" >300</property> <property name="SPSearchInternalURL" >https://intranet.msxfaq.net/_vti_bin/search.asmx</property> <property name="SPSearchExternalURL" >https://intranet.msxfaq.net/_vti_bin/search.asmx</property> <property name="SPSearchCenterInternalURL" >https://intranet.msxfaq.net/Suche/Seiten/peopleresults.aspx</property> <property name="SPSearchCenterExternalURL" >https://intranet.msxfaq.net/Suche/Seiten/peopleresults.aspx</property> <property name="EnableExchangeDelegateSyncUp" >true</property> <property name="EnableContactSync" >true</property> <property name="ShowSharepointPhotoEditLink" >true</property> <property name="EnableVOIPCallDefault" >false</property> <property name="MaximumDGsAllowedInContactList" >10</property> <property name="P2PAppSharingEncryption" >0</property> <property name="EnableHighPerformanceP2PAppSharing" >false</property> <property name="EnableHighPerformanceConferencingAppSharing" >false</property> <property name="TracingLevel" >Light</property> </propertyEntryList> </provisionGroup> </provisionGroupList>
Wer gerne eine komplette Version sehen will, kann gerne selbst mit Snooper oder dem Client Logging seine eigene Datei auslesen. Wer kein Lync hat, kann gerne folgende Musterantwort analysieren.
Beispiel XML einer SUBSCRIBE Antwort mit sehr
vielen Client Einstellungen
lyncclientpolicies.txt
Custom Entries mit PolicyEntry
Wer sich genau die Client Policy angesehen hat, dem wird an der zweiten Zeile der Eintrag "PolicyEntry" aufgefallen sein, der per Default leer ist:
PS] C:\Get-CsClientPolicy Identity : Global PolicyEntry : {} Description : AddressBookAvailability : WebSearchAndFileDownload Attend...
Diese Einträge können Sie selbst füllen, z.B. mit folgendem Beispiel
# Neuer Policyeintrag vorbereiten $CsPolicyEntry = New-CsClientPolicyEntry ` -Name MSXFAQPolicy1 ` -Value $true # zu aendernde Policy holen $currentClientPolicy=Get-CsClientPolicy -Identity Global # Eintrag addieren $currentClientPolicy.PolicyEntry.Add($CsPolicyEntry) # Policy aktualisieren Set-CsClientPolicy -Instance $currentClientPolicy
In der Antwort des Servers auf einen Provisioning Request steht dann:
03/03/2014|21:11:02.331 16B8:16D0 INFO :: SIP/2.0 200 OKContact: <sip:NAWLYNC001.netatwork.de:5061;transport=tls;received=192.168.100.100;ms-received-cid=21AF601>From: "Carius, Frank"<sip:frank.carius@netatwork.de>;tag=c3fe6ea730;epid=2385f4c267To: <sip:frank.carius@netatwork.de>;tag=BE180080CSeq: 1 SUBSCRIBEContent-Type: application/vnd-microsoft-roaming-provisioning-v2+xmlEvent: vnd-microsoft-provisioning-v2 <provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplist-notification"> <provisionGroup name="endpointConfiguration" > <propertyEntryList > <property name="MSXFAQPolicy1" >True</property> </propertyEntryList> </provisionGroup> </provisionGroupLis
Nun liegt es natürlich an dem Client diese Werte auch auszuwerten und sich danach zu richten. Folgende Werte habe ich bislang gesehen, die alle mit dem Wert "true" verbunden waren
Wert | Beschreibung und Links |
---|---|
AllowAdalForNonLyncIndependentOfLync |
|
EnableContactResolutionWithTelUriAndEmailOnly |
Interessanterweise kann die gleiche Wirkung auch mit einem Eintrag in der lokalen Registrierung erzielt werden. Ich weiß aber nicht, ob das für andere Parameter ebenso funktioniert. Action: Create Hive: HKEY_CURRENT_User Key path: Software\Policies\Microsoft\Office\16.0\Lync Value name: EnableContactResolutionWithTelUriAndEmailOnly Value type: REG_DWORD Value data: 1 Base: Decimal |
EnableTraceRouteReporting |
Option um den Client dazu zu bringen einen Traceroute des Weg der Audio/Video-Daten zu machen. # Vorbereiten des Policy-Eintrags $Policyentry = New-CsClientPolicyEntry -Name "EnableTraceRouteReporting" -Value "TRUE" # Addieren des Eintrags an alle Client Policies foreach ($Policy in get-csclientpolicy) { $policy = get-csclientpolicy -identity $Policy.identity $policy.PolicyEntry.Add($Policyentry) set-csclientpolicy -instance $policy } # Kontrolle Get-CsClientPolicy | fl identity,pol* |
EnablePresencePhotoOptions |
Siehe nächstes Kapitel
|
Praktischer Einsatz: Lync Photo
Seit Lync 2013 werden die Bilder per Default im Exchange 2013 Postfach abgelegt. Mit Lync 2010 konnte der Anwender im Client immer noch eine URL hinterlegen. Das ist mit mit Lync 2013 seit dem Update November 2013 auch wieder möglich. Allerdings ist die Einstellung per Default nicht freigeschaltet und auch nicht per GUI oder andere Tricks erreichbar. Der Lync-Administrator muss dies auf dem Server über die Policy den Benutzer zuweisen. Hier die relevanten Befehle:
# Neuer Policyeintrag vorbereiten $CsPolicyEntry = New-CsClientPolicyEntry ` -Name EnablePresencePhotoOptions ` -Value $true # zu aendernde Policy holen $currentClientPolicy=Get-CsClientPolicy -Identity Global # Eintrag addieren $currentClientPolicy.PolicyEntry.Add($CsPolicyEntry) # Policy aktualisieren Set-CsClientPolicy -Instance $currentClientPolicy
Und hier dann die Ansicht vorher:
Und nach der Anwendung der Richtlinie
Hier erscheint unten dann die Funktion eine URL zu hinterlegen und damit wieder auch externen Personen zuzuweisen.
- Lync Photo
- Configuring picture from a
web site in Lync 2013
http://blogs.technet.com/b/jenstr/archive/2013/11/12/configuring-picture-from-a-web-address-in-lync-2013.aspx - Lync 2013 client and and
pictures from custom URL
http://www.lynclog.com/2013/11/lync-2013-client-and-and-pictures-from.html - Lync Client CU3 (November Update) – Show a picture from a
website!!!
http://masteringlync.com/2013/11/11/lync-client-cu3-november-update-show-a-picture-from-a-website/ - Lync 2013 client
improvements in the November Update
http://exchangepro.dk/2013/11/13/lync-2013-client-improvements-in-the-november-update/
Praktischer Einsatz: Snom
Ein zweiter Einsatz dieser "Custom Policies" können Sie bei SNOM-Telefonen sehen. Die SNOM-Firmware akzeptiert einige Parameter auch als Lync Policy.
- Using Lync Server CsClientPolicyEntry für Inband Snom Setting Provisioning für IP Phones
http://windowspbx.blogspot.de/2013/05/using-lync-server-csclientpolicyentry.html
Wir zu gegebener Zeit erweitert
Weitere Links
- Lync Inband Provisioning
- In-Band Provisioning and
Microsoft Lync Server 2010
http://blogs.technet.com/b/csps/p/cmgmtprovisioning.aspx - Set-CsClientPolicy
http://technet.microsoft.com/de-de/library/gg398300.aspx - http://www.shudnow.net/2010/10/28/lync-2010-client-policies/
- Customizing the Lync 2010
Help menu
http://technet.microsoft.com/en-us/library/gg412885.aspx -
Communicator 2007 R2-Gruppenrichtlinie
http://technet.microsoft.com/de-de/library/dd637140(office.13).aspx - Voice Policies
http://technet.microsoft.com/en-us/library/gg412891.aspx - PSTN usage Records
http://technet.microsoft.com/en-us/library/gg412878.aspx - Voice Routes
http://technet.microsoft.com/en-us/library/gg412757.aspx - Update: Configuring Lync
Client Access Capabilities to
Meet Client Access License
Requirements
http://blogs.technet.com/b/nexthop/archive/2012/09/20/configuring-lync-client-access-capabilities-to-meet-client-access-license-requirements.aspx - Lync 2010 Client Policies
http://www.shudnow.net/2010/10/28/lync-2010-client-policies/