Set-MsolDirSyncEnabled の代替となるコマンドを試してみた
TL;DR
-
Set-MsolDirSyncEnabled
は非推奨になった -
Update-MgBetaOrganization
とかがその代替になる -
Microsoft.Graph
とMicrosoft.Graph.Beta
の module をインストールすると tab 補完が遅くなる。。
はじめに
Azure Virtual Desktop (AVD) の検証などで、Active Directory (AD) + Microsoft Entra Connect (旧: Azure AD Connect) の構成を作ったり壊したりします。
で、壊す際には一応 Microsoft Entra ID に登録されるユーザーを消しておきたいな、という気持ちになるのですが、そのためには先に Microsoft Entra Connect の設定を外す必要があります。
で、昔から Set-MsolDirSyncEnabled
というコマンドを使っていたわけですが、やっとそれの次世代版が出て、使ってみたよ、というやつです。
Set-MsolDirSyncEnabled
docs は Set-MsolDirSyncEnabled
です。
この cmdlet を使うためには MSOnline
という module を入れるんですが、2024 年 3 月 30 日の時点から非推奨になることが MSOnline Module の冒頭で宣言されています。
なのですが、じゃあその代替になるものがなかなか出てきていませんでした。
Update-MgBetaOrganization
とか
ということで出てきたのが Update-MgBetaOrganization
をはじめとするコマンド群です。
docs は Microsoft 365 のディレクトリ同期をオフにする です。
ちょっと生 API を叩いてる感が強いというか、login して、body 用の params object を作って、投げ込む、という感じです。
先日試したところちゃんと動いていたので、とりあえず Set-MsolDirSyncEnabled
の代替というか、これを使っていけばいいんだな、というものが決まって安心です。
で、問題点としては、これを使うために Microsoft.Graph
と Microsoft.Graph.Beta
という module をインストールした 後 です。
おそらくこの module に含まれている cmdlet が多すぎるのか、tab による補完にやや長い時間がかかるようになります。
なのですが、PowerShell の新しいウィンドウを開いた場合、新しいセッションの場合、Get-InstalledModule
で出てくる module を一旦すべて Import-Module
相当の動作をしているのか、とにかく遅くなります。。
遅いといっても秒単位で終わるのですが、いつものスピードの 3 倍くらいかかっている印象なのでやや辛いです。。。
で、じゃあ使い終わったら消すか、という話なんですが、これまた Microsoft.Graph
と Microsoft.Graph.Beta
の間の依存関係が複雑なのか、Uninstall-Module
でもなかなかすんなり消えません。。
ので、念のためすべての PowerShell セッションを閉じた後に、Documents\PowerShell\Modules を見て、それっぽいフォルダを全部削除しました。。
ちゃんとしたトラブルシュートは気分がのったらまたやります。。
おわりに
Set-MsolDirSyncEnabled
を長らく使っていましたが、MSOnline
module が非推奨になるため、これからは Microsoft.Graph
と Microsoft.Graph.Beta
で提供される Update-MgBetaOrganization
などのコマンドを使っていきましょう。
Discussion