Настройка Microsoft Lync Server 2013 в распределенной среде

 

Последнее изменение раздела: 2017-02-21

В распределенной конфигурации некоторые пользователи размещены в локальной установке Microsoft Lync Server 2013, а другие пользователи размещены в Microsoft 365 или Office 365 версии Lync Server. Чтобы настроить проверку подлинности между серверами в распределенной среде, необходимо сначала настроить локальную установку Lync Server 2013, чтобы доверять серверу авторизации Microsoft 365. Начальный шаг в этом процессе можно выполнить, выполнив следующий сценарий командной консоли 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

Помните о том, что имя области для клиента обычно отличается от имени организации; на деле имя области почти всегда совпадает с идентификатором клиента. Поэтому первая строка скрипта используется для получения значения свойства TenantId для заданного клиента (в данном случае это fabrikam.com) и последующего назначения этого имени переменной $TenantId:

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

После завершения скрипта необходимо настроить отношение доверия между Lync Server 2013 и сервером авторизации, а также второе отношение доверия между Exchange 2013 и сервером авторизации. Это возможно только с помощью командлетов Microsoft Online Services.

Примечание.

Если вы не установили командлеты Microsoft Online Services, необходимо выполнить два действия, прежде чем продолжить. Во-первых, скачайте и установите 64-разрядную версию помощника по входу в Microsoft Online Services. После завершения установки скачайте и установите 64-разрядную версию модуля Microsoft Online Services для Windows PowerShell. Подробные сведения об установке и использовании модуля Microsoft Online Services можно найти на веб-сайте Microsoft 365 или Office 365 веб-сайте. В этих инструкциях также описано, как настроить единый вход, федерацию и синхронизацию между Microsoft 365 или Office 36 и Active Directory.
Если вы не выполнили установку этих командлетов, то произойдет сбой вашего сценария, так как командлет Get-CsTenant будет недоступен.

После настройки Microsoft 365 и создания субъектов-служб Microsoft 365 или Office 365 для Lync Server 2013 и Exchange 2013 необходимо зарегистрировать учетные данные в этих субъектах-службах. Для этого необходимо сначала получить X.509 Base64 в виде файла CER. Затем этот сертификат будет применен к субъектам-службам Microsoft 365 или Office 365 службы.

После того как вы получили сертификат X.509, запустите модуль Microsoft Online Services (нажмите кнопку "Пуск", щелкните "Все программы", выберите"Microsoft Online Services", а затем щелкните модуль Microsoft Online Services для Windows PowerShell). После того как модуль служб откроется, введите следующую команду, чтобы импортировать модуль Microsoft Online Windows PowerShell, содержащий командлеты, которые можно использовать для управления субъектами-службами:

Import-Module MSOnlineExtended

После импорта модуля введите следующую команду и нажмите клавишу ВВОД, чтобы подключиться к Microsoft 365:

Connect-MsolService

При нажатии клавиши Enter отображается диалоговое окно учетных данных. В диалоговом окне Office 365 microsoft 365 или Office 365 имя пользователя и пароль, а затем нажмите кнопку "ОК".

После подключения к Microsoft 365 можно выполнить следующую команду, чтобы получить сведения о субъектах-службах:

Get-MsolServicePrincipal

Команда возвращает для всех субъектов-служб сведения, похожие на следующие:

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

На следующем шаге выполняется импорт, кодирование и назначение сертификата X.509. Чтобы импортировать и закодировать сертификат, используйте следующие Windows PowerShell, указав полный путь к файлу. CER-файл при вызове метода Import:

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

После импорта и кодирования сертификата можно назначить сертификат субъектам-службам Microsoft 365. Для этого сначала используйте Get-MsolServicePrincipal для получения значения свойства AppPrincipalId для Lync Server и субъектов-служб Microsoft Exchange; Значение свойства AppPrincipalId будет использоваться для идентификации субъекта-службы, которому назначен сертификат. Используя значение свойства AppPrincipalId для Lync Server 2013, используйте следующую команду, чтобы назначить сертификат версии Microsoft 365 Lync Server (свойства StartDate и EndDate должны соответствовать сроку действия сертификата):

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

Затем необходимо повторить команду, на этот раз используя значение свойства AppPrincipalId для Exchange 2013.

Если позднее вам потребуется удалить этот сертификат, сначала вам потребуется получить для него значение KeyId:

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

Эта команда возвращает следующие данные:

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

После этого вы можете удалить сертификат с помощью следующей команды:

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

Помимо назначения сертификата, необходимо также настроить субъект-службу Microsoft 365 для Exchange Online, добавив имя субъекта-сервера для локальной версии Lync Server 2013. Это можно сделать, выполнив следующие четыре строки в сеансе 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