Hybrid Azure AD Join を構成するために必要な SCP (サービス接続ポイント)を手動で構成する

#はじめに

これまで Hybrid Azure AD Join を構成するための手順を以下のとおりご紹介してきました。

マネージド ドメイン用(AD FS なし) Hybrid Azure AD Join を一から構成する
URL:https://qiita.com/Shinya-Yamaguchi/items/73016fcdb5beeaefa5ba

フェデレーション ドメイン用(AD FSあり) Hybrid Azure AD Join を一から構成する
URL:https://qiita.com/Shinya-Yamaguchi/items/d3dac2f091b42ec7336a

Azure AD Connect のバージョンが **1.1.819.0** 以上であれば Azure AD Connect により Hybrid Azure AD Join の構成が可能ですが、上記未満のバージョンの場合は手動で構成する必要があります。
※基本的には上記バージョン以上に Azure AD Connect のバージョンを上げていただくことを推奨します。

手動で SCP を構成するためには、以下公開情報を参考にすれば構成が可能ですが、今回は公開情報に記載されている手順を Azure AD Connect サーバー上ではなく Active Directory サーバー上で構成してみました。

-参考情報
チュートリアル:ハイブリッド Azure Active Directory 参加済みデバイスを手動で構成する
URL:https://docs.microsoft.com/ja-jp/azure/active-directory/devices/hybrid-azuread-join-manual

#####前提条件
・Azure AD Connect サーバーはドメインに参加済み
・Azure AD Connect 上にて同期設定済み

#やってみる

PowerShell で実行するコマンドは以下になります。

```
Import-Module -Name "C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1";

$aadAdminCred = Get-Credential;

Initialize-ADSyncDomainJoinedComputerSync –AdConnectorAccount [connector account name] -AzureADCredentials $aadAdminCred;
```

まず、Azure AD Connect サーバーであれば既に **AdSyncPrep.psm1** ファイルは Azure AD Connect インストール時に作成されていますが、AD サーバーには存在していないのでコピーしてくる必要があります。

Azure AD Connect サーバーから下記ファイルをコピーします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/6ce71f3e-c120-023e-64bf-5a0e52aa0109.png)

AD サーバー上の任意のフォルダ (この場合 C ドライブ直下) にコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/34897282-6da5-0a15-6186-12094531c4a0.png)

次に、下記のように、**Import-Module** コマンドレットを実行します。

Import-Module -Name "C:\AdSyncPrep.psm1";

すると、下記画面ショットのように、エラーが返ってきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/e04ff163-f39a-cdb7-e37f-fd7457206e79.png)

これは MSOnline PowerShell がインストールされていないためです。
下記コマンドレットにて MSOnline PowerShell モジュールをインストールします。

```
Install-Module -name MSOnline
```

インストールに失敗する場合は、下記 Blog を参考に MSOnline モジュールをインストールするために必要な要件を満たした後に再実行します。

Azure Active Directory の PowerShell モジュール
URL:https://blogs.technet.microsoft.com/jpazureid/2017/12/04/aad-powershell/

再度「Import-Module -Name "C:\AdSyncPrep.psm1";」コマンドレットを実行すると成功します。
次に「$aadAdminCred = Get-Credential;」を実行すると下記画面ショットのように Azure AD のグローバル管理者の資格情報を要求されるので、カスタム ドメイン登録済みな Azure AD テナントのグローバル管理者の資格情報を入力し、「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/e41553cd-258e-9481-bf72-80b73391c144.png)

次に「Initialize-ADSyncDomainJoinedComputerSync –AdConnectorAccount [connector account name] -AzureADCredentials $aadAdminCred;」コマンドレットを実行しますが、そのまま実行すると下記画面ショットのように、実行に失敗します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/f51acf02-5264-a476-17f5-5742786fc25e.png)

これは、 Azure Active Directory Domain Services (Azure AD DS) のツールがインストールされていないためとなります。
Azure Active Directory Domain Services (Azure AD DS) のツールは Windows Server 2008 R2 以降の環境で入手可能です。

具体的には、サーバーの役割より、下記 AD DS および AD LDS ツールが各種インストールされている必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/bc78f5cd-e421-6070-968d-ab1e9f2befb7.png)

必要なツールをインストールの上、再度「Initialize-ADSyncDomainJoinedComputerSync」コマンドレットを実行します。

```
Initialize-ADSyncDomainJoinedComputerSync -AdConnectorAccount [オンプレADドメイン名\管理者アカウント] -AzureADCredentials $aadAdminCred
```

下記が実行例になります。

```
Initialize-ADSyncDomainJoinedComputerSync -AdConnectorAccount yamarara.work\shyamag -AzureADCredentials $aadAdminCred
```

以下のとおり、Configuration Complete と表示されれば構成は完了になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/e0b7810c-6f36-d7c8-21ad-19302bc2d24a.png)

実際に SCP が正常に構成されているか確認します。

```
$scp = New-Object System.DirectoryServices.DirectoryEntry;
$scp.Path = "LDAP://CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=yamarara,DC=work";
$scp.Keywords;
```

問題なく構成されていました。

```
azureADName:shyamag020.onmicrosoft.com
azureADId:e3feb2ad-3630-4601-916c-9f6c0df3aaf0
```

あとは、Hybrid Azure AD Join させたい Windows 10 コンピューターでログオンし、userCertificate 属性に証明書がセットされると、Azure AD Connect が SCP の構成情報を基に、Azure AD に Windows 10 コンピューターを同期してくれます。

実際に Azure ポータルにてデバイス一覧を確認すると下記画面ショットのように、Hybrid Azure AD Join として当該のデバイスが登録されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/326f22cb-235a-9b9f-9141-68da68145100.png)

また、Azure AD 同期済みユーザーでログオンしたあとに、 dsregcmd /status コマンドレットにて確認すると、  Azure AD PRT が取得できていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373423/ee3f0f8d-f2e0-b68f-9341-651806e35ebd.png)

#おわりに
今回は手動で SCP を構成する手順をご案内しました。
最初にお伝えしたとおり、Azure AD Connect のバージョンが 1.1.819.0 以上であれば Azure AD Connect にて SCP の構成を自動で行ってくれます。

また、公開情報には手動で SCP で構成する場合は Azure AD Connect 上で構成するように記載があります。
ただし SCP の実体は Active Directory 上に構成されるので、Active Directory 上でもご案内した手順を踏めば SCP の構成は可能で、 最終的に Hybrid Azure AD Join を構成することができます。

今となってはあまり需要のない内容かもしれませんが、今回の記事が少しでも参考になれば幸いです。