Configuración de Microsoft Lync Server 2013 en un entorno entre locales

 

Última modificación del tema: 2017-02-21

En una configuración entre locales, algunos de los usuarios se alojan en una instalación local de Microsoft Lync Server 2013 mientras que otros usuarios se alojan en la versión de Microsoft 365 o Office 365 de Lync Server. Para configurar la autenticación de servidor a servidor en un entorno entre locales, primero debe configurar la instalación local de Lync Server 2013 para que confíe en el servidor de autorización de Microsoft 365. El paso inicial de este proceso se puede llevar a cabo ejecutando el siguiente script del Shell de administración de Lync Server:

$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

Tenga en cuenta que el nombre de dominio kerberos de un inquilino normalmente es diferente al nombre de la organización; de hecho, el nombre de dominio kerberos casi siempre es igual al identificador del inquilino. Por tanto, la primera línea del script se usa para devolver el valor de la propiedad TenantId del inquilino especificado (en este caso, fabrikam.com) y para asignar después dicho nombre a la variable $TenantId:

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

Una vez completado el script, debe configurar una relación de confianza entre Lync Server 2013 y el servidor de autorización, y una segunda relación de confianza entre Exchange 2013 y el servidor de autorización. Solo podrá hacer esto usando los cmdlets de Microsoft Online Services.

Nota

Si no ha instalado los cmdlets de Microsoft Online Services, tendrá que hacer dos cosas antes de continuar. En primer lugar, descargue e instale la versión de 64 bits de Microsoft Online Services - Ayudante para el inicio de sesión. Una vez completada la instalación, descargue e instale la versión de 64 bits del Módulo de Microsoft Online Services para Windows PowerShell. Puede encontrar información detallada para instalar y usar el módulo Microsoft Online Services en el sitio web de Microsoft 365 o Office 365. Estas instrucciones también le indicarán cómo configurar el inicio de sesión único, la federación y la sincronización entre Microsoft 365 u Office 36 y Active Directory.
Si no ha instalado estos cmdlets, el script dará un error porque el cmdlet Get-CsTenant no estará disponible.

Después de configurar Microsoft 365 y de haber creado Microsoft 365 o Office 365 entidades de servicio para Lync Server 2013 y Exchange 2013, tendrá que registrar sus credenciales con estas entidades de servicio. Para ello, primero debe obtener un X.509 Base64 guardado como . ARCHIVO CER. Este certificado se aplicará a las entidades de servicio de Microsoft 365 o Office 365.

Cuando haya obtenido el certificado X.509, inicie el módulo Microsoft Online Services (haga clic en Inicio, en Todos los programas, en Microsoft Online Services y, a continuación, haga clic en Módulo de Microsoft Online Services para Windows PowerShell). Cuando se abra el módulo de servicios, escriba lo siguiente para importar el módulo de Windows PowerShell de Microsoft Online que contiene los cmdlets que se pueden usar para administrar las entidades de servicio:

Import-Module MSOnlineExtended

Cuando se haya importado el módulo, escriba el siguiente comando y presione ENTRAR para conectarse a Microsoft 365:

Connect-MsolService

Tras presionar ENTRAR, aparecerá un cuadro de diálogo de credenciales. Escriba su nombre de usuario y contraseña de Microsoft 365 o Office 365 en el cuadro de diálogo y, a continuación, haga clic en Aceptar.

Tan pronto como esté conectado a Microsoft 365, puede ejecutar el siguiente comando para devolver información sobre las entidades de servicio:

Get-MsolServicePrincipal

La información relativa a todas las entidades de servicio que aparecerá será similar a esta:

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

El paso siguiente es importar, codificar y asignar el certificado X.509. Para importar y codificar el certificado, use los siguientes comandos de Windows PowerShell, asegurándose de especificar la ruta de acceso de archivo completa a su . Archivo CER al llamar al método Import:

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

Después de importar y codificar el certificado, puede asignarlo a las entidades de servicio de Microsoft 365. Para ello, primero use la Get-MsolServicePrincipal para recuperar el valor de la propiedad AppPrincipalId tanto para Lync Server como para las entidades de servicio de Microsoft Exchange; el valor de la appprincipalId propiedad se usará para identificar la entidad de servicio que se asigna el certificado. Con el valor de la propiedad AppPrincipalId para Lync Server 2013 en la mano, use el siguiente comando para asignar el certificado a la versión de Microsoft 365 de Lync Server (las propiedades StartDate y EndDate deben corresponder al período de validez del certificado):

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

A continuación, debe repetir el comando, esta vez con el valor de la propiedad AppPrincipalId para Exchange 2013.

Si más tarde necesita eliminar el certificado, primero recupere el KeyId del certificado con:

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

El comando devolverá datos similares a estos:

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

Entonces podrá eliminar el certificado usando un comando como el siguiente:

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

Además de asignar un certificado, también debe configurar la entidad de servicio de Microsoft 365 para Exchange Online agregando el nombre de entidad de seguridad de servidor para su versión local de Lync Server 2013. Esto se puede hacer ejecutando las siguientes cuatro líneas en una sesión de PowerShell de Microsoft Online Services:

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