クロスプレミス環境での Microsoft Lync Server 2013 の構成
トピック最終更新日時: 2017-02-21
クロスプレミス構成では、一部のユーザーは Microsoft Lync Server 2013 のオンプレミス インストールに所属し、他のユーザーは Microsoft 365 または Office 365 バージョンの Lync Server に所属しています。 クロスプレミス環境でサーバー間認証を構成するには、まず、Microsoft 365 承認サーバーを信頼するように Lync Server 2013 のオンプレミス インストールを構成する必要があります。 このプロセスの最初の手順は、次の Lync Server Management Shell スクリプトを実行して実行できます。
$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
テナントの領域名は通常、組織名と異なっている点に注意してください。実際、領域名は、ほとんどの場合、テナント ID と同じです。 そのため、スクリプトの最初の行を使用して、指定したテナントの TenantId プロパティの値 (この場合は fabrikam.com) を返し、その名前を変数$TenantIdに割り当てます。
$TenantID = (Get-CsTenant -DisplayName "Fabrikam.com").TenantId
スクリプトが完了したら、Lync Server 2013 と承認サーバーの間に信頼関係を構成し、Exchange 2013 と承認サーバーの間に 2 つ目の信頼関係を構成する必要があります。 これは、Microsoft Online Services コマンドレットを使用してのみ行うことができます。
注意
Microsoft Online Services コマンドレットをインストールしていない場合は、続行する前に 2 つの操作を行う必要があります。 最初に、64 ビット バージョンの Microsoft Online Services サインイン アシスタントをダウンロードしてインストールします。 インストールが完了したら、Windows PowerShell用の Microsoft Online Services モジュールの 64 ビット バージョンをダウンロードしてインストールします。 Microsoft Online Services モジュールのインストールと使用に関する詳細については、Microsoft 365 またはOffice 365 Web サイトを参照してください。 これらの手順では、Microsoft 365 または Office 36 と Active Directory の間でシングル サインオン、フェデレーション、同期を構成する方法についても説明します。
これらのコマンドレットがインストールされていない場合、Get-CsTenant コマンドレットを使用できないためにスクリプトは失敗します。
Microsoft 365 を構成した後、Lync Server 2013 および Exchange 2013 の Microsoft 365 または Office 365 サービス プリンシパルを作成した後、資格情報をこれらのサービス プリンシパルに登録する必要があります。 これを行うには、最初に .CER ファイルとして保存されている X.509 Base64 を入手する必要があります。 この証明書は、Microsoft 365 または Office 365 サービス プリンシパルに適用されます。
X.509 証明書を取得したら、Microsoft Online Services モジュールを起動します ([スタート]、[すべてのプログラム] の順にクリックし、[Microsoft Online Services] をクリックして[Microsoft Online Services モジュール for Windows PowerShell] をクリックします)。 サービス モジュールが開いたら、次のように入力して、サービス プリンシパルの管理に使用できるコマンドレットを含む Microsoft Online Windows PowerShell モジュールをインポートします。
Import-Module MSOnlineExtended
モジュールがインポートされたら、次のコマンドを入力し、Enter キーを押して Microsoft 365 に接続します。
Connect-MsolService
Enter キーを押すと、資格情報ダイアログ ボックスが表示されます。 ダイアログ ボックスに Microsoft 365 またはOffice 365ユーザー名とパスワードを入力し、[OK] をクリックします。
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 コマンドを使用します。必ず、使用するファイルへの完全なパスを指定してください。Import メソッドを呼び出すときの CER ファイル:
$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を使用して、Lync Server と Microsoft Exchange サービス プリンシパルの両方の AppPrincipalId プロパティの値を取得します。AppPrincipalId プロパティの値は、証明書が割り当てられているサービス プリンシパルを識別するために使用されます。 Lync Server 2013 の AppPrincipalId プロパティ値を使用して、次のコマンドを使用して、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
次に、Exchange 2013 の AppPrincipalId プロパティ値を使用して、このコマンドを繰り返す必要があります。
後でその証明書の削除が必要になった場合は、最初に証明書の 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
証明書を割り当てるだけでなく、オンプレミス バージョンの Lync Server 2013 のサーバー プリンシパル名を追加して、Exchange Online用の Microsoft 365 サービス プリンシパルも構成する必要があります。 これを行うには、Microsoft Online Services PowerShell セッションで次の 4 行を実行します。
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