Настройка 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