Lync 2010 Server - Problemi nella personalizzazione dei campi di ricerca
In Lync Server 2010 le impostazioni a livello di Group Policy, usate in precedenza dal client OCS, sono state sostituite da policy definite in-band provisioning.
Tali impostazioni sono gestite direttamente dal Server Lync, utilizzando la Lync Server Management Shell.
Con queste nuove impostazioni è possibile agire a livello globale, di sito oppure a livello di utenti/gruppi.
I principali benefici di questa tipologia di provisioning delle policy sono molteplici:
- Gli amministratori possono gestire tutte le policy relative a Lync in un singolo server, utilizzando una singola interfaccia.
- Le policy possono essere definite livello globale, di sito oppure a livello di utenti/gruppi.
- Le policy sono server-based, ovvero sono distribuite successivamente alla fase di register del client sull’infrastruttura Lync. Questo è molto utile in quanto permette, anche a client non joinati ad un dominio, di sottostare a determinate policy.
- Le impostazioni hanno effetto immediato.
Come non tutti sanno, in Lync Server 2010, è possibile abilitare / disabilitare alcuni campi che solitamente sono utilizzati dal client Lync durante la fase di ricerca di un contatto.
Il parametro che permette di definire queste personalizzazioni è SearchPrefixFlags.
Tale parametro rappresenta quale gli attributi della Address Book devono essere utilizzati ogni volta che il client ricerca un contatto.
Il valore di questo campo è ricavato dalla conversione in numero decimale, partendo da un numero binario simile a 1110111, dove gli “1” identificano gli attributi ricercabili dal client.
Tali attributi corrispondono a:
- Primary email address
- Email alias
- All email addresses
- Company
- Display name
- First name
- Last name
Se consideriamo, ad esempio, il seguente valore 1110111 stiamo dicendo al client che devono essere utilizzati tutti gli attributi eccetto l’attributo company, durante la ricerca.
NB: Gli attribuiti devono essere considerati partendo da destra verso sinistra. Se quindi dobbiamo rendere possibile la ricerca solo per nome, cognome e nome visualizzato, il numero binario generato sarà 1110000.
Come già accentato pocanzi il valore dell’attributo SearchPrefixFlags è il risultato della conversione del numero binario in un numero decimale. Per eseguire questa conversione è possibile utilizzare la seguente cmdlet [Convert]:: ToInt32.
Se ad esempio consideriamo di voler abilitare la ricerca per tutti gli attributi, il numero binario generato sarà 111111, e utilizzando il comando [Convert]:: ToInt32("1111111", 2) verrà restituito 127 che è il numero che imposteremo tramite il comando Set-CsClientPolicy –Identity “<nome client policy>” – SearchPrefixFlags 127.
Per maggiori informazioni vi rimando al seguente articolo del TechNet.
Set-CsClientPolicy
http://technet.microsoft.com/en-us/library/gg398300.aspx
Una volta effettuato queste impostazioni il comportamento atteso è quello che il client riesca a eseguire ricerche usando l’attributo company.
In realtà non è così.
Malgrado l’impostazione venga correttamente passata al client LYNC, come possiamo vedere dalla seguente screeshoot, non viene applicata.
Attualmente non ancora stata rilasciata una soluzione ufficiale, ma è possibile effettuare un Workaround che permette di utilizzare questa features.
E’ necessario aggiungere una chiave SearchPrefixFlags all’interno del percorso HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator\ e impostare il valore desiderato.
E’ possibile utilizzare un semplice script VBS che permette di distribuire tale policy mediante una GPO.
Set WshShell = WScript.CreateObject("WScript.Shell")WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator\SearchPrefixFlags", 127, "REG_DWORD"
In questo modo è possibile aggirare la problematica risolvendo il problema.
Stefano Ceruti
Support Engineer
Microsoft Enterprise Exchange Support