Le Cloud de Christophe BOUCETTA

Voici le blog sur les communications unifiées et la collaboration Microsoft par un MVP nominé depuis 11 ans
  • [Microsoft Lync Server 2013] Mise à jour client Lync 2013

    Microsoft vient de publier une nouvelle mise à jour pour le client Lync 2013.

    Correction:

    After you wake up the computer from hibernation mode, Lync 2013 becomes very slow and unusable.

    Version: 15.0.4517.1504

    Téléchargement 32 bits: http://www.microsoft.com/en-us/download/details.aspx?id=39901

    Téléchargement 64 bits: http://www.microsoft.com/en-us/download/details.aspx?id=39905

    KB: http://support.microsoft.com/kb/2817621/en-us

  • [Microsoft Lync Server 2013] Support Clustering SQL

    Important changement dans la politique de support SQL pour le backend.

    Pour assurer une haute disponibilité SQL, la seule option possible dans le cadre d'un projet Lync Serveur 2013 était le SQL mirroring.

    La mise en place du SQL mirroring implique la prise en compte des points suivants:

    • Lync Server 2013 becomes mirroring aware.
    • In-site deployment supported only.
    • Deploy an optional witness for automatic failover.
    • Can be added after initial deployment.

    Dans le cas d'une migration d'un environnement Lync Serveur 2010 et si vous utilisez actuellement le clustering SQL, les actions possibles étaient les suivantes:
    Migrer vers SQL en miroir
    Continuer à utiliser votre investissement de clustering SQL mais sans réel support

    Depuis lundi, Microsoft (re) supporte officiellement le clustering SQL, mais toujours pas le mode Always-On: http://technet.microsoft.com/fr-fr/library/gg398990.aspx?goback=.gde_4573275_member_265920104

  • [Microsoft Lync Server 2013] MCSE Communication

    Validation aujourd'hui du MCSE Communication:

  • [Microsoft Lync Server 2013] KEMP HA

    J'ai eu l'occasion au mois de Juillet de déployer un environnement Kemp VLM-1000 HA pour un client d'envergure dans le cadre d'un projet Microsoft Lync Serveur 2013.

    La configuration HA est très simple, je viens de la reproduire dans mon laboratoire pour test, les copies d'écrans proviennent de cette environnement.

    Dans le cadre d'un déploiement haute disponibilité, les deux unités sont dans un mode active/standby, une est active, l'autre est passive.

    Mon lab:

    Prérequis:

    • LoadMasters must be located on the same subnet in order to be in a HA pair
    • Must be in the same physical location
    • A layer 2 connection (Ethernet/VLAN) is required
    • Ensure to have more than one interconnection between the 2 LoadMasters to avoid data or availability inconsistency
    • The 2 LoadMasters need the same default gateway
    • Use Network Time Protocol (NTP) to keep times on LoadMasters up-to-date. This ensures that the times will be correct on any logs.
    • Ensure that any switches do not prevent MAC spoofing
    • Latency must be low enough
    • Multicast traffic is required
    • The appropriate LoadMaster license should be in place

    La configuration:

    Connexion sur le serveur que l'on souhaite configurer en tant que master (actif) 10.0.0.214

    Activation du mode HA:

    Si vous souhaitez que cette machine virtuelle redevienne le master suite à un basculement, précisez le paramètre: Prefer First HA

    La version haute disponibilité de base est "CARP" qui est l'option par défaut.

    CARP: provides shared-IP or shared-MAC mode, improvements to support prolonged time to link, and supports cryptographic hashing to validate HA communication

    Suite à l'activation, vous allez surement voir apparaître ces deux avertissements:

    Procédons maintenant à la configuration réseau:

    HA Shared IP address vous permet d'administration et de configurer l'environnement

    HA Partner IP address est la deuxième machine virtuelle de l'environnement HA

    Un reboot est nécessaire.

    Même configuration sur la deuxième unité sauf que pour cette dernière, la configuration HA est:

    Configuration réseau:

    Et un reboot!

    On peut constater ensuite en se connectant directement sur les deux unités l'état de la configuration:

    10.0.0.214:

    10.0.0.217:

    Place aux tests, avant l'arrêt de l'unité 1:


    après l'arrêt de l'unité 1, on constate que la deuxième unité est devenu master et à pris le relais pour assurer les fonctionnalités requises pour l'environnement:

    KEMP Faq: http://kemptechnologies.com/faq

  • [Microsoft Lync Server 2013] UM Call Router not working

    Ayant quelques disponibilités cette semaine, j'en ai profité pour migrer mon environnement Exchange 2010 vers 2013.

    Lors de mes tests entre Lync et Exchange 2013, j'ai rencontré une problématique lors des appels vers UM.

    Logs Lync:

    L'élévation du niveau de log Exchange Um sur le serveur me donne un peu plus d'informations:

    Get-EventLogLevel “MSExchange Unified Messaging\*” | Set-EventLogLevel –Level Expert


    On connait maintenant la raison.


    Pour résoudre cette problématique, il suffit de lancer la commande: setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms

    Si vous avez déjà installé les packs de langues, vous devez les désinstaller avant de procéder à cette correction:

    Setup.exe /RemoveUmLanguagePack:fr-FR
    Setup.exe /RemoveUmLanguagePack:fr-CA

  • [Microsoft Lync Server 2013] Test-CsExStorageConnectivity - Echec

    Vous faites des tests entre Exchange et Lync 2013 et vous obtenez l'erreur suivante lors de la commande Test-CsExStorageConnectivity?

    PS C:\Users\administrateur.NISSARTE> Test-CsExStorageConnectivity -SipUri christ
    ophe@nissarte.ca -binding NetTCP -deleteItem -HostNameStorageService poolync.nis
    sarte.ca -Verbose
    COMMENTAIRES : Une connexion au service de stockage a été correctement ouverte
    au niveau de poolync.nissarte.ca à l'aide de la liaison : NetTCP.
    COMMENTAIRES : Créer le message.
    COMMENTAIRES : Exécuter la commande de stockage Exchange.
    Test-CsExStorageConnectivity : Désolé... Nous n'avons pas pu procéder à
    l'opération Exchange ExCreateItem: code=5, motifs=
    StoreContext{traceId=[18446744073300779815],
    activityId=[8f6de37f-afcf-4022-90d3-c7bfefb5437a]}Access Denied
    , exception=System.ServiceModel.FaultException:
    StoreContext{traceId=[18446744073300779815],
    activityId=[8f6de37f-afcf-4022-90d3-c7bfefb5437a]}Access Denied
    Server stack trace:
       à
    System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime
    operation, ProxyRpc& rpc)
       à System.ServiceModel.Channels.ServiceChannel.EndCall(String action,
    Object[] outs, IAsyncResult result)
       à System.ServiceModel.Channels.ServiceChannelProxy.InvokeEndService(IMethodC
    allMessage methodCall, ProxyOperationRuntime operation)
       à System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    Exception rethrown at [0]:
       à System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    reqMsg, IMessage retMsg)
       à System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
    msgData, Int32 type)
       à
    Microsoft.Rtc.Internal.Storage.IStorageService.EndExecuteCommand(IAsyncResult
    asyncResult)
       à Microsoft.Rtc.Management.Lyss.Cmdlets.LyssCmdletCommon.ExecuteExCommand(St
    oreOperation operation, String sipUri, BaseRequestType ewsRequest, Nullable`1
    autoCreateParentFolder, IStorageService& client, Boolean reAuthorize),
    exception interne=. Veuillez consulter le journal des événements et suivre les
    informations pertinentes.
    Au caractère Ligne:1 : 1
    + Test-CsExStorageConnectivity -SipUri christophe@nissarte.ca -binding NetTCP
    -del ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~
        + CategoryInfo          : InvalidOperation : (:) [Test-CsExStorageConnecti
       vity], FaultException
        + FullyQualifiedErrorId : ErrorExecuteExchangeCommandFailedWithFaultExcept
       ion,Microsoft.Rtc.Management.Lyss.Cmdlets.TestExStorageConnectivityCmdlet

    COMMENTAIRES : La commande Is a réussi : False.
    Le test a échoué.


    Résolution:

    The reason could be that the user running the cmdlet is not member of the local group "RTC Local User Administrators". Membership of the domain group RTCUniversalUserAdmins will automatically give you membership of the needed local group.


    Merci à ce blog: http://blogs.technet.com/b/jenstr/archive/2012/11/09/access-denied-when-running-test-csexstorageconnectivity.aspx

  • [Microsoft Lync Server 2013] Application de présence pour Lync

    Vous avez pu remarquer que depuis la dernière mise à jour pour votre client Lync, le status de présence ne s'affiche plus dans l'icône de barre des tâches:

    En attendant que les développeurs de Microsoft veuillent bien nous rétablir cette fonctionnalité dans la prochaine cumulative update, vous pouvez utiliser cette application très sympathique modifiant la couleur de votre barre des tâches en fonction de votre présence:

    http://laura.codeplex.com/

    Description:

    LAura checks the presence status of the currently signed in User and colorizes the Windows Window Color.

    Lync Presence status is an important information in very many environments.
    Since the most of the users is unable to check if their Lync status is always correct LAura checks the presence status of the currently signed in user and colorizes the Windows Window Color.

    This is even more useful since from version Lync 2013, CU2 the presence status is no longer available in the taskbar icon set - replaced by the Lync Icon.

    Requires Lync 2010 / Lync 2013 on Windows 7 / 8, .net 4.5
    Please refer to the wiki for further details.

    Vidéo de démonstration:

  • [Microsoft Lync Server 2013] Utiliser Kemp comme reverse proxy

    Avec la fin de Microsoft TMG 2010 et le non support par UAG des fonctions de mobilités, il est nécessaire de trouver des solutions pour assurer la publication des services web externes de Lync ainsi que les URL nécessaires au bon fonctionnement.

    J'ai récemment travaillé sur des projets utilisant des technologies comme fortinet, Citrix NetScaler ou Astaro déjà existante chez le client pour assurer ces fonctions, dans le cadre d'un de mes derniers projets, le choix d'utiliser Kemp avec une VLM-100 fut choisi.

    Comment configurer Kemp pour assurer ces fonctions?

    C'est très simple, un HLB est de base un reverse proxy, il n'est pas nécessaire d'utiliser le nouveau module ESP avec Lync.

    Dans cette configuration, nous utilisons une architecture de type "two-armed":

    (Source document Kemp)

    Dans notre cas, cela donne ce type de configuration, les adresses ip et les noms de domaines sont modifiées pour ne pas divulguer des informations confidentielles:

    Configuration:

    - Vérifier que le paramètre "Global SNAT" est activé:

    - L'architecture ne comporte qu'un seul serveur Front-End, mais si vous en avez plusieurs, il faut activer le paramètre "Drop Connections on RS failure" et augmenter la valeur du champ "L7 Connection Timeout":

    - Il faut maintenant configurer les services virtuels pour la publication services web https Lync et Office Web Apps 2013

    Régle pour Lync Serveur 2013:

    Dans virtual service - faire Add New

    Préciser l'adresse IP: 192.168.1.10 et le port d'écoute: 443

    Déclarer le ou les serveurs Lync Front-End avec comme port d'écoute 4443

    Importer le certificat public, dans notre cas, on utilise le certificat wilcard. L'importation s'effectue avec un fichier au format PFX.

    Vous pouvez ensuite affecter le certificat avec le champ "VS to Add" à cette nouvelle règle. Ne pas oublier de cocher la case "reencrypt" dans la règle.

    Il faut ensuite reproduire le même type de configuration pour Office Web Apps 2013:


    Information documentation Kemp:

    Configuring a Virtual Service for External HTTPS based services for the Front-End servers.

    1. Connect and log in to your LoadMaster.

    2. Create a Virtual Service. Click Virtual Services and then click Add New.

    3. Enter the Virtual Address of the Lync Server External Base Webservices URL using the format ###.###.###.### (10.84.10.33).

    4. Enter 4443 as the Port.

    5. Select tcp as the Protocol.

    6. Click Add this Virtual Service.

    7. Select the Force L7 check box.

    8. Unselect the L7 Transparency check box.

    9. Select HTTPS Protocol in Real Server Check Parameters, type 4443 in Checked Port. Click Set Checked Port. Enter /abs/handler in URL and click Set URL.

    10. Enter a Service Nickname. This is for display purposes only. For example, “FE WEB EXT”. Click Set Nickname.

    11. For Persistence Options, select Super HTTP as the Mode. Use the Timeout drop down list to select 20 minutes and the Netmask drop down list to select/32.

    12. Select Least Connection as the Scheduling Method.

    13. For Idle Timeout enter 1800 (30 minutes). Click Set Idle Timeout.

    14. Click Enable for SSL Acceleration.

    15. Select the Reencrypt option and Click OK to close the certificate warning about the selfsigned certificate popup. Reencryption is required. SSL Offloading is not supported for Lync Web Services.

    16. Click Add New to import the exported certificate with private key (can be the same certificate as installed on the Front-End Server)

    17. Click Browse for the IIS Certificate and select the exported certificate in .PFX format that includes the private key. Enter the Pass Phrase which is the password you configured in the .PFX file when exporting the certificate.

    18. Add Real Servers. Click Add New…

    19. For each Front-End server, input its IP address (10.84.10.14 & 10.84.10.13) as the Real Server Address on Port 4443. Click Add This Real Server.

    20. Click OK in response to the confirmation that the Real Server was added.

    21. You have now completed your configuration of LoadMaster for Lync 2010 Internal Web Services. If you wish to view, modify, or delete any Real Servers that have been added, click View/Modify Services.