PI Services

Le blog des collaborateurs de PI Services

Lync 2013 – Meeting personnalisés

Lors de la création d’un meeting Lync (via Outlook), le contenu de la demande peut paraitre très simpliste. Surtout quand l’intégration à la téléphonie n’est pas réalisée:

image Dans lync 2013, de nouvelles options sont disponibles pour rendre la demande de meeting plus personnalisé et adapté via des “meeting configuration” particulière. Voici les 4 nouveaux paramètres:

    • Logo URL
    • Help URL
    • Legal Text URL
    • Custom Footer Text

      Pour configurer ses élément il suffit d’éditer la configuration des meeting par default ou encore de certaines politiques appliquer a un partie des utilisateurs:

      image
    Il est aussi possible d’utiliser le Lync Management Shell via la commande:

      set-CsmeetingConfiguration avec les paramètres –LogoURL –Legalurl –helpURL –CustomFooterText.
      Une fois la configuration réaliser, les champs sont appliquer et les demandes de meeting prennent en compte les paramètres fixés:
    image Vous pouvez stocker les images directement sur le server FrontEnd Lync Server.

Windows Server 2012–Evaluer l’impact de la déduplication

Windows Server 2012 intègre la notion de déduplication des données. Cette nouvelle fonctionnalitée permettrait d’economiser de l’espace disque, mais combien?

Pour cela Microsoft a intégrer un outil d’analyse permettant de prendre une décision sur l’activation ou non de la déduplication sur certains volume. Cet outils se nomme ddpeval.exe.

L’outil est automatiquement installer lors de l’ajout de la fonction déduplication.:

image

Une fois l’outil installer, il se trouve dans le répertoire c:\Windows\system32

L’outils peut etre copier sur d’autre serveur afin de réaliser les test.

L’outils peut etre copier sur d’autre serveur afin de réaliser les test.

Lancer une invite de commande puis lancer l’outils suivi du chemin a analyser:

Attention ddpeval.exe ne peut pas etre éxécuté sur un disque system, de démarrage ou encore un volume surlequel la déduplication est deja activée. L’analyse peux prendre plusieurs heures en fonction de la volumétrie:

image

Une fois l’analyse finie un compte rendu est affiché. Dans cet exemple 25% de l’espace peut etre economisé si la compression est activée.

Pour plus de détail sur la déduplication:

http://technet.microsoft.com/fr-fr/library/hh831700.aspx

Lync Server 2010 : Installation Failed wmf2008R2

 

Lors de l’installation de Lync Server 2010 sur un serveur exécutant Windows Server 2008 R2 SP1, un erreur peut se produire sur le composant Wmf2008R2:

clip_image002

Pour cibler cette erreur, vous pouvez explorer le fichier de log mais ce dernier ne nous avance pas sur la raison de cette erreur:

clip_image001

Apres quelques recherches, il s’avère que l’installeur Lync server 2010 n’arrive pas a localiser Microsoft Windows Média Format et de ce fait ne réussi pas a l’installer.

Afin de palier a cette erreur vous devez installer manuellement Windows Media Format. Pour cela suivez les étapes suivantes:

              1. Server Manager
            1. Add Features
            2. Select Desktop Experience option
            3. Click Next, and then click Install

 

clip_image003

Une fois l’installation réaliser, le redémarrage du serveur est nécessaire.

Une fois le serveur redémarrer, relancer l’installation de lync Serveur. L’erreur est maintenant corriger et l’installation peut se poursuivre.

clip_image004

Microsoft a répertorié cette erreur sous la KB2522454

http://support.microsoft.com/kb/2522454

Powershell–Gestion du réseau

Contexte

Il arrive souvent lors de l’installation de certains produits ou fonctionnalitée de devoir réaliser des opérations de vérification des pré-requis. Le premier pré-requis a satisfaire concerne souvent le réseau:

  • Suis-je en capacité de joindre ma passerelle?
  • Le ou les contrôleurs hébergeant les rôles FSMO sont-ils joignable?
  • Mes serveurs DNS sont-ils joignable?

Pour réaliser ces opérations sur quelques serveurs cela peut être réalisé manuellement, mais lorsque le nombre de serveur est conséquent, cela peut s’avéré fastidieux. Je vous propose de travailler en powerShell pour simplifier/automatiser cette opération.

Etape 1: récupérer la configuration de machine

Pour cela rien de bien compliquer, la commande ipconfig /all nous retourne l’ensemble des éléments nécessaire:

image

Maintenant il faut pouvoir isolé chaque paramètre de réponse (ici identifiés de 1 a 6). Pour cela un traitement sur le retour d’ipconfig est nécessaire:

  1. 1. Adresse IPv4:  ((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
  2. 2. Masque : ((ipconfig | findstr [0-9].\.)[1]).Split()[-1]
  3. 3 Passerelle : ((ipconfig | findstr [0-9].\.)[2]).Split()[-1]
  4. 4 Serveur DHCP : ((ipconfig /all| findstr [0-9].\.)[3]).Split()[-1]
  5. 5 DNS Principal : ((ipconfig /all| findstr [0-9].\.)[5]).Split()[-1]
  6. 6 DNS Secondaire ((ipconfig /all| findstr [0-9].\.)[6]).Split()[-1]

 

Etape 2: Exécuter un ping en powershell

Pour réaliser cette opération les commandes suivante nous retourne un résultat contenant les valeur attendu:

image

  • new-object System.Net.NetworkInformation.ping
  • $reply = $ping.Send("192.168.0.254")

Nous savons donc que le ping a fonctionné au travers du status. qu’il reste a isoler puis a traiter. Pour l’isolation, l’utilisation des variables nous simplifie la tache:

image

Etape 3: Automatisation des résultats

Afin de valider le bon fonctionnement des pré-requis lié au réseau, nous pouvons traiter les retours au travers de différents moyens, pour ma part, je préfère utilisé les conditions au travers du If – Else

   1: #***** Stockage des parametre dans une variable*****#
   2:     $IP= ((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
   3:     $IPMask= ((ipconfig | findstr [0-9].\.)[1]).Split()[-1]
   4:     $IPgtw= ((ipconfig | findstr [0-9].\.)[2]).Split()[-1]
   5:     $IPDHCP=((ipconfig /all| findstr [0-9].\.)[3]).Split()[-1]
   6:     $DNS1=((ipconfig /all| findstr [0-9].\.)[5]).Split()[-1]
   7:     $DNS2=((ipconfig /all| findstr [0-9].\.)[6]).Split()[-1]
   8:  
   9: #**Test passerelle**#
  10:     $reply = ""
  11:     $status =""
  12:     $ping = new-object System.Net.NetworkInformation.ping
  13:     $reply = $ping.Send($IPgtw)
  14:  
  15: if ($reply.status -eq "success")
  16:     {
  17:     write-host "Passerelle joignable" -foregroundColor green
  18:     }
  19:     Else
  20:     {
  21:     write-host "Passerelle injoignable" -foregroundColor red
  22:     }
  23:  
  24: #**Test DHCP**#
  25:     $reply = ""
  26:     $status =""
  27:     $ping = new-object System.Net.NetworkInformation.ping
  28:     $reply = $ping.Send($IPDHCP)
  29:  
  30: if ($reply.status -eq "success")
  31:     {
  32:     write-host "DHCP joignable" -foregroundColor green
  33:     }
  34:     Else
  35:     {
  36:     write-host "DHCP injoignable" -foregroundColor red
  37:     }
  38: #**Test passerelle**#
  39:     $reply = ""
  40:     $status =""
  41:     $ping = new-object System.Net.NetworkInformation.ping
  42:     $reply = $ping.Send($DNS1)
  43:  
  44: if ($reply.status -eq "success")
  45:     {
  46:     write-host "DNS joignable" -foregroundColor green
  47:     }
  48:     Else
  49:     {
  50:         $reply = ""
  51:         $status =""
  52:         $ping = new-object System.Net.NetworkInformation.ping
  53:         $reply = $ping.Send($DNS2)
  54:         if ($reply.status -eq "success")
  55:             {
  56:             write-host "DNS joignable" -foregroundColor green
  57:             }
  58:             Else
  59:             {
  60:             write-host "DNS injoignable" -foregroundColor red
  61:             }        
  62:     }
  63:  

Le résultat positif retourne:

image

Le résultat négatif retourne:

image

Conclusion

Cette vérification permet de réaliser un enchainement de script ou d’action si et seulement si les paramètres réseaux sont correct. Par exemple en créant un flag si les résultats sont positif !

SCVMM 2008 R2 et Sysprep

Contexte

Lors de la préparation de déploiement de contrôleurs de domaine virtualisés, j’ai souhaité embarquer dans un Template déjà existant un export média d’Active Directory, le tout dans le but de réaliser une “Install From Media” (IFM) afin de réduire le temps de la première réplication et aussi économiser de la bande passante.

Les étapes

Pour réaliser cette opération, j’ai suivi les grandes étapes suivante:

  1. Export de l’AD de production dans un répertoire
  2. Déploiement du Template OS (déjà utilisé pour d’autres services)
  3. Copie de l’export dans le répertoire souhaité de la VM
  4. Arrêt de la machine Virtuel
  5. Tentative de création du Template

 

Création du Template

Une fois la machine arrêter, il est possible de générer le Template, cependant la création du Template au travers de SCVMM échoue a 49%:

clip_image002 En analysant le statuts de création du Template on remarque que ce dernier échoue a 99% de la partie Sysprep:

image

et ce même après plusieurs tentatives sur différents hôtes et différentes librairies:

image

La cause

Dans le cas présent, le mécanisme sysprep exécute la commande sysprep /generalize.

Pour rappel, il n’existe aucune limite au nombre d’exécutions de Sysprep sur un ordinateur. Cependant, l’horloge de l’Activation de produit Windows commence son décompte la première fois que Windows est lancé. Vous pouvez utiliser la commande sysprep /generalize pour réinitialiser l’activation du produit Windows à trois reprises maximum. Après trois exécutions de la commande sysprep /generalize, l’horloge ne peut plus être réinitialisée.

Les solutions

Afin de palier a ce type de problème, vous pouvez:

  • Recréer une machine virtuel et refaire le Template
  • Modifier le comportement de “Microsoft-Windows-Security-Licensing-SLC” via le paramètre SkipRearm positionner sur la valeur 1
  • Utiliser les fonctionnalités de déploiement de machine virtuelle pour y ajouter la copie de fichier a la première ouverture de session.

Pour rappel, il existe un outils permettant de réaliser les mises a jours des Vhd offline, des Templates ainsi que des machines Offline des librairie VMM. Virtual Machine Servicing Tool (VMST). Pour plus d’information http://technet.microsoft.com/en-us/library/cc501231.aspx .

OWA 2010 – Se reconnecter

Lors de l’utilisation d’ OWA 2010 (Outlook Web App), il arrive régulièrement que le time out du site nous déconnecte automatiquement de la page pour des raisons de sécurité.

Malheureusement une fois sur cette page, il est impossible de se reconnecter sans saisir une nouvelle fois l’adresse dans le navigateur:

OWA

Pour palier a cette problématique, il est possible de modifier la page de déconnection du site OWA. Pour cela dans le répertoire d’installation d’Exchange, puis dans le repo Client Access > OWA > Auth, éditer la page Logoff.aspx.

OWA2

positionner le code suivant juste avant le bouton logoffclose:

 

<input id="btnCls" type="submit" class="btn" title="Se reconnecter" value="Se reconnecter" onclick="window.navigate('https://mail.masociete.com/OWA')" onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'" onmousedown="this.className='btnOnMseDwn'">

Prenez soins de modifier les textes et URL pour correspondre a vos besoins.

OWA3

Pensez a faire cette modification sur l’ensemble des serveur CAS de l’organisation. Attention cette modification disparaitra avec chaque mise a jour des serveurs CAS qu’il s’agisse de Rollup Update ou de Service Pack.

Lync 2010 – Private Line

Quelques utilisateurs d’OCS rencontrent le besoins d’être joignable par un autre numéro que celui publié dans l’annuaire. Pour cela Lync embarque une option permettant d’attribuer un numéro supplémentaire à un utilisateur. Ce numéro est particulier car il constitue une ligne privée pour l’utilisateur et cela est matérialisé lors de l’utilisation de ce numéro.

Différence entre la ligne classique et la ligne privée:

Voici les principales différences entre la ligne classique et la ligne privée:

  • Le numéro n’apparait pas dans la GAL
  • Le numéro ne sert qu’a recevoir des appels (aucune émission possible a partir de cette ligne)
  • L’appel reçu ne peut pas être transféré,délégué.
  • Une sonnerie spécifique doit être configuré pour les appels à destination de cette ligne
  • Les appels reçus sonnent toujours quelque soit le statu de l’utilisateur

    Configuration d’une ligne privée coté serveur

    Dans un premier temps, vérifions qu’aucune ligne privée n’est configuré:

    Get-Csuser julien.bausseron | fl *

    image
    La configuration d’une ligne privée se réalise via la commande

set-csUser MonutilisateurPrivateLine “Tel:+xxx”image

Configuration d’une ligne privée coté Client

Une fois la ligne privée configuré, une nouvelle option apparait dans le client Lync 2010: La sonnerie pour la ligne privée:

image

Réception d’un appel sur la ligne privée

Lors de la réception d’un appel sur le numéro privé ce dernier est matérialisé par cet affichage:

image

Lync 2010 – IMWarning

L’utilisation de la messagerie instantanée en entreprise a de nombreux avantages. La customisation des paramètres de la politique client permet de gagner en souplesse et en productivité. Une option souvent utilisée dans OCS/OCSR2 permet d’afficher un message au lancement d’une conversation d’un utilisateur .Cette option est maintenu dans Lync Server 2010 via la politique client (CsClientPolicy).

Par défaut aucun message n’est fixé:

image Pour positionné un message, la commande Shell suivante est utilisée:

Set-csclientpolicy Global –IMWarning “Message”

image Une fois le paramètre positionner, ce dernier est visible via la commande:

Get-Csclientpolicy Global | fl IMWarning

image

Pour valider le bon fonctionnement de ce paramètre, relancer le client Lync, puis démarrer une conversation:

image

L’utilisation de ce paramètre offre la possibilité d’informer les collaborateurs, ou de faire passer un message:

image A noter que la console Lync 2010 Attendant n’affiche pas le message !

image

Lync 2010 – Call Park

La fonctionnalité de Call Park permet a un utilisateur de mettre un appel en attente et de le récupérer sur un autre téléphone assigné lors de la mise en attente de l’appel.

Configuration du Call Park

La configuration du Call Park peut être réalisé via la console Lync ou en PowerShell pour Lync:

Via la console Lync

Dans la console navigué dans la partie “Voice Feature” puis Call Park:

Conf Server

Les paramètres sont peux nombreux:

  • Nom du Call Park
  • Plage de numéro (déterminera le nombre de place disponible pour les appels en attente/Transfère)
  • Le server hébergeant les Call Park

Via le PowerShell pour Lync

La commande New-CscallParkOrbit Permet d’ajouter un call park au serveur:

image

Une fois le Call Park mis en place il faut activer l’utilisation du call park a la politique d’utilisation de la voix

 server

Test de la configuration

Pour tester la configuration de notre Call Park, un appel est emis a destination d’un utilisateurs Lync:Sans titre

Une fois la communication établis, l’option Parking Lot est disponible et peut être sélectionnée:

Park1

Une fois l’option validée, l’appel est mis en attente sur l’un des numéro de la plage définie. Dans cet exemple l’appel pourra être repris en composant le 207 a partir de n’importe quel poste:

park2

Enfin du coté de l’utilisateur mis en attente, la fenêtre de communication est modifier pour faire apparaitre le fait qu’il est actuellement en communication avec le Call Park. Tant que l’utilisateur est dans le call Park, la musique d’attente est émise.

image

Conclusion

La configuration du Call Park est assez rapide et permet une gestion des appels simple et au travers du client Lync.

Lync 2010 – CSClientPolicy DisplayPhoto

La nouvelle version d’office Communication Serveur 2007R2 nommé Lync Server 2010 est actuellement RTM et devrait être disponible début décembre sur le portail Technet.

Cette version apporte sont lots de nouveautés et un nouveau client de communication. Ce client subit une politique configurée par l’administrateur, par défaut une politique est appliquer a tous les client, elle permet notamment aux utilisateurs de positionner une photo .Cette politique est nommée Global dans LCP (Lync Control Panel). Voici donc a quoi peut ressemblé le client une fois la photo mise en place:

ClientLyncWithphoto

Avec la centralisation de la politique de gestion des client, il est assez simple de pouvoir interdire aux utilisateurs ou à certains de positionner une photo dans leur client Lync.

Pour cela une peu de Powershell pour Lync:

Tout d’abord nous récupérons les différents paramètres de la politique Global avec la commande:

Get-CsClientPolicy –identity Global

Get-CsclientPolicy

Une fois la politique affichée nous récupérons le paramètre aàmodifier:

DisplayPhoto

Ce paramètre peut prendre 3 valeurs différentes:

  • AllPhotos
  • NoPhoto
  • PhotosFromADOnly
    Ici je souhaite que mes utilisateurs ne puisse pas afficher les photos de leurs contacts dans le client Lync. Je positionne donc le paramètre NoPhoto. Pour cela la commande PowerShell Lync suivant est utilisé:
    Set-CsClientPolicy Global –DisplayPhoto NoPhoto

set-csclientpolicyNophoto

Suite a cette modification de la politique Global s’appliquant a tous mes utilisateurs, une déconnexion (sign-Out) puis reconnexion (sign-in) me permet de vérifier que la politique c’est appliquée à mes utilisateurs:

ClientLyncWithoutphotoD’autre part la politique ne permettant plus a mes utilisateurs à partir des option du client d’afficher les photos, le menu du client est lui aussi modifié pour ne pas lui permettre de forcer cet affichage:

  ClientAfterPolicy Enfin une fois la configuration Global reconfigurer avec la commande

Set-CsClientPolicy Global –DisplayPhoto Allphéeos

L’ensemble des paramètres sont de nouveau disponible et l’utilisateur peut modifier son affichage si il le souhaite:

 

PictureView

Cette configuration permet aux utilisateurs qui changerait de version de ne pas avoir une modification d’affichage trop importante entre OCSR1/R2 et Lync Server 2010.