皆さんこんにちは。国井です。
以前にAzure AD Connectによるディレクトリ同期の無効化の方法を紹介しました。
この設定はActive Directoryを廃止してMicrosoft Entra IDに一本化したいというときに必要な設定であり、この設定をしておかないと同期したユーザーがMicrosoft Entra ID側から設定変更できないという問題に直面します。設定自体はAzure ADのMSOLモジュールを使う必要があり、MSOL自体サポートが終了する中で今後どうするんだ?という疑問がありました。
Azure AD Connect v2 (Microsoft Entra Connect) ではMicrosoft Entra IDのonPremisesSyncEnabledという属性でディレクトリ同期の有効/無効を切り替えることができるとされていたのですが、しばらくの間、読み取り専用だったのです。
ところが、ふとMicrosoft Learnのページを見たら読み取り専用属性ではなくなっていたのです(その後、半月ほど経ってから見てみるとまた読み取り専用属性になってた)。ということで、ちょっとよくわからないのですが今日は「読み取り専用属性でなければこうやってonPremisesSyncEnabled属性の設定は変えられるよ」というのを紹介します。
まずはMicrosoft Entra管理センターの[ID]-[ハイブリッド管理]-[Microsoft Entra Connect]で同期が有効であることを確認しておきましょう。
確認できたらPowerShellからコマンドレットを実行します。
本来Microsoft.Graphというモジュールを利用するのですが、まだBeta版でしかonPremisesSyncEnabled属性の設定は変更できないので、代わりにMicrosoft.Graph.Betaというモジュールをインストールします。
Install-Module Microsoft.Graph.Beta
インストールしたらMicrosoft Entraに接続します。
Connect-MgGraph -Scopes "Organization.ReadWrite.All"
いよいよonPremisesSyncEnabled属性を無効化し、ディレクトリ同期を無効化しましょう。
(ちなみにUpdate-MgBetaOrganizationはMicrosoft.Graph.Betaのコマンドレットで、 Microsoft.GraphのコマンドレットはUpdate-MgOrganizationになります)
Update-MgBetaOrganization -OrganizationId xxxxxx –OnPremisesSyncEnabled:$false
なおxxxxxx部分にはMicrosoft EntraのテナントIDが入ります。テナントIDはMicrosoft Entra管理センターの[ID]-[概要]から確認できます。
実行できた後にもう一度Microsoft Entra管理センターの[ID]-[ハイブリッド管理]-[Microsoft Entra Connect]にアクセスすると、先ほどとは異なる画面が出ているので同期が無効化したことがわかります。
そしてMicrosoft Entra管理センターのユーザー一覧を参照すると、同期ユーザーはクラウドユーザーに変わり、ユーザーのプロパティを開いて属性変更できるようになっていることがわかります。
最後になりますが、現時点(2023年12月)ではMicrosoft.Graphではなく、Microsoft.Graph.Betaから設定しないと以下のようなエラーメッセージが出てしまうのでご注意ください。
2024年11月15日追記
Microsoft.Graphから提供されるUpdate-MgOrganizationコマンドレットでも無効化できるようになったようです。