Configurando o Microsoft Lync Server 2013 em um ambiente entre locais
Tópico última modificação: 21/02/2017
Em uma configuração entre locais, alguns de seus usuários estão hospedados em uma instalação local do Microsoft Lync Server 2013 enquanto outros usuários estão hospedados na versão microsoft 365 ou Office 365 do Lync Server. Para configurar a autenticação de servidor para servidor em um ambiente entre instalações, você deve primeiro configurar sua instalação local do Lync Server 2013 para confiar no servidor de Autorização do Microsoft 365. A etapa inicial nesse processo pode ser executada executando o seguinte script do Shell de Gerenciamento do 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
Tenha em mente que o nome do realm de um locatário é normalmente diferente do nome da organização; na realidade, o nome do realm é quase sempre igual ao do ID do locatário. Por causa disso, a primeira linha do script é usada para retornar o valor da propriedade TenantId do locatário especificado (neste caso, fabrikam.com) e atribuir o nome à variável $TenantId:
$TenantID = (Get-CsTenant -DisplayName "Fabrikam.com").TenantId
Depois que o script for concluído, você deverá configurar uma relação de confiança entre o Lync Server 2013 e o servidor de autorização e uma segunda relação de confiança entre o Exchange 2013 e o servidor de autorização. Isso só pode ser feito usando os cmdlets do Microsoft Online Services.
Nota
Se você não tiver instalado os cmdlets do Microsoft Online Services, precisará fazer duas coisas antes de continuar. Primeiro, baixe e instale a versão de 64 bits do Assistente de Conexão do Microsoft Online Services. Após a conclusão da instalação, baixe e instale a versão de 64 bits do Módulo do Microsoft Online Services para Windows PowerShell. Informações detalhadas para instalar e usar o Módulo do Microsoft Online Services podem ser encontradas no site do Microsoft 365 ou Office 365 web. Essas instruções também informarão como configurar o logon único, a federação e a sincronização entre o Microsoft 365 ou o Office 36 e o Active Directory.
Se você não tiver instalado esses cmdlets, seu script falhará porque o cmdlet Get-CsTenant não estará disponível.
Depois de configurar o Microsoft 365 e depois de criar entidades de serviço do Microsoft 365 ou Office 365 para o Lync Server 2013 e o Exchange 2013, você precisará registrar suas credenciais com essas entidades de serviço. Para isso, primeiro você deve obter um certificado X.509 Base64 salvo como arquivo .CER. Esse certificado será aplicado às entidades de serviço microsoft 365 ou Office 365.
Quando você tiver obtido o certificado X.509, inicie o Módulo do Microsoft Online Services (clique em Iniciar, clique em Todos os Programas, clique em Microsoft Online Services e, em seguida, clique no Módulo do Microsoft Online Services para Windows PowerShell). Depois que o Módulo de Serviços for aberto, digite o seguinte para importar o módulo microsoft online Windows PowerShell que contém os cmdlets que podem ser usados para gerenciar entidades de serviço:
Import-Module MSOnlineExtended
Quando o módulo tiver sido importado, digite o seguinte comando e pressione ENTER para se conectar ao Microsoft 365:
Connect-MsolService
Depois de pressionar ENTER, uma caixa de diálogo de credenciais será exibida. Insira seu nome de usuário e senha do Microsoft 365 ou Office 365 na caixa de diálogo e clique em OK.
Assim que você estiver conectado ao Microsoft 365, poderá executar o seguinte comando para retornar informações sobre suas entidades de serviço:
Get-MsolServicePrincipal
Você deverá obter informações semelhantes a estas para todas as entidades de serviço:
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
A próxima etapa é importar, codificar e atribuir o certificado X.509. Para importar e codificar o certificado, use os comandos Windows PowerShell a seguir, especificando o caminho completo do arquivo para seu . Arquivo CER quando você chama o 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)
Depois que o certificado tiver sido importado e codificado, você poderá atribuir o certificado às entidades de serviço do Microsoft 365. Para fazer isso, primeiro use o Get-MsolServicePrincipal para recuperar o valor da propriedade AppPrincipalId para o Lync Server e as entidades de serviço do Microsoft Exchange; o valor da propriedade AppPrincipalId será usado para identificar a entidade de serviço que está sendo atribuída ao certificado. Com o valor da propriedade AppPrincipalId para o Lync Server 2013 em mãos, use o seguinte comando para atribuir o certificado à versão do Microsoft 365 do Lync Server (as propriedades StartDate e EndDate devem corresponder ao período de validade do certificado):
New-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -Type Asymmetric -Usage Verify -Value $credentialsValue -StartDate 6/1/2012 -EndDate 5/31/2013
Em seguida, você deve repetir o comando, desta vez usando o valor da propriedade AppPrincipalId para o Exchange 2013.
Caso precise excluir o certificado posteriormente, faça isso recuperando KeyId do certificado primeiro:
Get-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000
O comando retornará dados como estes:
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
Você pode excluir o certificado usando um comando semelhante a este:
Remove-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -KeyId bc2795f3-2387-4543-a95d-f92c85c7a1b0
Além de atribuir um certificado, você também deve configurar a Entidade de Serviço do Microsoft 365 para Exchange Online adicionando o Nome Principal do Servidor para sua versão local do Lync Server 2013. Isso pode ser feito executando as quatro linhas a seguir em uma sessão do PowerShell do 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