クロスプレミス環境での 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