Configuration de Microsoft Lync Server 2013 dans un environnement interstrés

 

Rubrique Dernière modification : 2017-02-21

Dans une configuration entre différents locaux, certains de vos utilisateurs sont hébergés sur une installation locale de Microsoft Lync Server 2013, tandis que d’autres sont hébergés sur Microsoft 365 ou Office 365 version de Lync Server. Pour configurer l’authentification de serveur à serveur dans un environnement inters locaux, vous devez d’abord configurer votre installation locale de Lync Server 2013 pour approuver le serveur d’autorisation Microsoft 365. L’étape initiale de ce processus peut être effectuée en exécutant le script Lync Server Management Shell suivant :

$TenantID = (Get-CsTenant -Filter {DisplayName -eq "Fabrikam.com"}).TenantId

$sts = Get-CsOAuthServer microsoft.sts -ErrorAction SilentlyContinue
        
   if ($sts -eq $null)
      {
         New-CsOAuthServer microsoft.sts -MetadataUrl "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1"
      }
   else
      {
         if ($sts.MetadataUrl -ne  "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1")
            {
               Remove-CsOAuthServer microsoft.sts
               New-CsOAuthServer microsoft.sts -MetadataUrl "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1"
            }
        }

$exch = Get-CsPartnerApplication microsoft.exchange -ErrorAction SilentlyContinue
        
if ($exch -eq $null)
   {
      New-CsPartnerApplication -Identity microsoft.exchange -ApplicationIdentifier 00000002-0000-0ff1-ce00-000000000000 -ApplicationTrustLevel Full -UseOAuthServer
    }
else
    {
       if ($exch.ApplicationIdentifier -ne "00000002-0000-0ff1-ce00-000000000000")
          {
             Remove-CsPartnerApplication microsoft.exchange
             New-CsPartnerApplication -Identity microsoft.exchange -ApplicationIdentifier 00000002-0000-0ff1-ce00-000000000000 -ApplicationTrustLevel Full -UseOAuthServer 
          }
       else
          {
             Set-CsPartnerApplication -Identity microsoft.exchange -ApplicationTrustLevel Full -UseOAuthServer
          }
   }

Set-CsOAuthConfiguration -ServiceName 00000004-0000-0ff1-ce00-000000000000

N’oubliez pas que le nom de domaine d’un client est généralement différent du nom de l’organisation. En fait, le nom de domaine est presque toujours identique à l’ID de client, donc la première ligne du script est utilisée pour renvoyer la valeur de la propriété TenantId du client spécifié (ici, fabrikam.com), puis pour attribuer ce nom à la variable $TenantId :

$TenantID = (Get-CsTenant -DisplayName "Fabrikam.com").TenantId

Une fois le script terminé, vous devez configurer une relation d’approbation entre Lync Server 2013 et le serveur d’autorisation, et une deuxième relation d’approbation entre Exchange 2013 et le serveur d’autorisation. Vous ne pouvez le faire qu’avec des applets de commande Microsoft Online Services.

Remarque

Si vous n’avez pas installé les applets de commande Microsoft Online Services, vous devez effectuer deux opérations avant de continuer. Tout d’abord, téléchargez et installez la version 64 bits de l’Assistant de connexion Microsoft Online Services. Une fois l’installation terminée, téléchargez et installez la version 64 bits du module Microsoft Online Services pour Windows PowerShell. Vous trouverez des informations détaillées sur l’installation et l’utilisation du module Microsoft Online Services sur le site web Microsoft 365 ou Office 365. Ces instructions vous indiquent également comment configurer l’authentification unique, la fédération et la synchronisation entre Microsoft 365 ou Office 36 et Active Directory.
Si vous n’avez pas installé ces applets de commande, votre script échouera, car l’applet de commande Get-CsTenant ne sera pas disponible.

Après avoir configuré Microsoft 365 et après avoir créé Microsoft 365 ou Office 365 principaux de service pour Lync Server 2013 et Exchange 2013, vous devez inscrire vos informations d’identification auprès de ces principaux de service. Pour ce faire, vous devez d’abord obtenir un certificat X.509 Base64 enregistré sous forme de fichier .CER. Ce certificat sera ensuite appliqué aux principaux de service Microsoft 365 ou Office 365.

Une fois que vous avez obtenu le certificat X.509, démarrez le module Microsoft Online Services (cliquez sur Démarrer, cliquez sur Tous les programmes, sur Microsoft Online Services, puis sur Microsoft Online Services Module pour Windows PowerShell). Une fois le module services ouvert, tapez ce qui suit pour importer le module Microsoft Online Windows PowerShell contenant les applets de commande qui peuvent être utilisées pour gérer les principaux de service :

Import-Module MSOnlineExtended

Une fois le module importé, tapez la commande suivante, puis appuyez sur Entrée pour vous connecter à Microsoft 365 :

Connect-MsolService

Après avoir appuyé sur Entrée, une boîte de dialogue d’informations d’identification s’affiche. Entrez votre nom d’utilisateur et votre mot de passe Microsoft 365 ou Office 365 dans la boîte de dialogue, puis cliquez sur OK.

Dès que vous êtes connecté à Microsoft 365, vous pouvez exécuter la commande suivante pour retourner des informations sur vos principaux de service :

Get-MsolServicePrincipal

Vous devriez obtenir des informations similaires à celles-ci pour tous vos principaux du service :

ExtensionData        : System.Runtime.Serialization.ExtensionDataObject
AccountEnabled       : True
Addresses            : {}
AppPrincipalId       : 00000004-0000-0ff1-ce00-000000000000
DisplayName          : Microsoft Lync Server
ObjectId             : aada5fbd-c0ae-442a-8c0b-36fec40602e2
ServicePrincipalName : LyncServer/litwareinc.com
TrustedForDelegation : True

L’étape suivante consiste à importer, encoder et affecter le certificat X.509. Pour importer et encoder le certificat, utilisez les commandes Windows PowerShell suivantes, en vous assurant de spécifier le chemin d’accès complet du fichier à votre . Fichier CER lorsque vous appelez la méthode Import :

$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$certificate.Import("C:\Certificates\Office365.cer")
$binaryValue = $certificate.GetRawCertData()
$credentialsValue = [System.Convert]::ToBase64String($binaryValue)

Une fois le certificat importé et encodé, vous pouvez l’affecter à vos principaux de service Microsoft 365. Pour ce faire, commencez par utiliser le Get-MsolServicePrincipal pour récupérer la valeur de la propriété AppPrincipalId pour le serveur Lync et les principaux du service Microsoft Exchange ; la valeur de la propriété AppPrincipalId sera utilisée pour identifier le principal de service qui reçoit le certificat. Avec la valeur de propriété AppPrincipalId pour Lync Server 2013 en main, utilisez la commande suivante pour affecter le certificat à la version Microsoft 365 de Lync Server (les propriétés StartDate et EndDate doivent correspondre à la période de validité du certificat) :

New-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -Type Asymmetric -Usage Verify -Value $credentialsValue -StartDate 6/1/2012 -EndDate 5/31/2013

Vous devez ensuite répéter la commande, cette fois à l’aide de la valeur de propriété AppPrincipalId pour Exchange 2013.

Si vous avez besoin de supprimer ce certificat ultérieurement, vous pouvez le faire en extrayant la propriété KeyId du certificat au préalable :

Get-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000

Cette commande renvoie des données comme les suivantes :

Type      : Asymmetric
Value     : 
KeyId     : bc2795f3-2387-4543-a95d-f92c85c7a1b0
StartDate : 6/1/2012 8:00:00 AM
EndDate   : 5/31/2013 8:00:00 AM
Usage     : Verify

Vous pouvez ensuite supprimer le certificat à l’aide d’une commande comme celle-ci :

Remove-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -KeyId bc2795f3-2387-4543-a95d-f92c85c7a1b0

En plus d’attribuer un certificat, vous devez également configurer le principal de service Microsoft 365 pour Exchange Online en ajoutant le nom du principal du serveur pour votre version locale de Lync Server 2013. Pour ce faire, exécutez les quatre lignes suivantes dans une session Microsoft Online Services PowerShell :

Set-MSOLServicePrincipal -AppPrincipalID 00000002-0000-0ff1-ce00-000000000000 -AccountEnabled $true

$lyncSP = Get-MSOLServicePrincipal -AppPrincipalID 00000004-0000-0ff1-ce00-000000000000
$lyncSP.ServicePrincipalNames.Add("00000004-0000-0ff1-ce00-000000000000/lync.contoso.com")
Set-MSOLServicePrincipal -AppPrincipalID 00000004-0000-0ff1-ce00-000000000000 -ServicePrincipalNames $lyncSP.ServicePrincipalNames