どうもミツシマです。

今回はExchange OnlineへPowershellで接続するモジュールの中で先進認証に対応しているV2モジュールを試してみたいと思います!
これまで主に検証に使用してた「基本認証」による接続は廃止が予定されているようです。
一応現状はV2モジュールを使用して接続後に古いコマンド体系は使えそうです。
⇒そのうち古いコマンド体系が使用出来なくなるのであれば、これまでのコマンドに変わるものを再検証しないといけない。。。。涙


では、とりあえずやってみようと思いますっ!!
参考にしたサイトは下記通りです。
Exchange Online PowerShell V2 モジュールのバージョン情報

Exchange Online PowerShell に接続する


検証環境は以下の通り
PC:Windows10 20H2


〜検証〜

まずはモジュールをインストールしていきます。
手順としては
  1. 実行ポリシーの変更 「Set-ExecutionPolicy」
  2. WinRM は基本認証を許可する(通常は不要な手順) 「winrm get 〜」
  3. EXO V2モジュールをインストールする 「Install-Module -Name ExchangeOnlineManagement」
となります。

では、やっていこうと思います。
Powershellを管理者として実行して各種コマンドを実行していきます。
01

02
途中でコマンドプロンプト(cmd)に切り替えてます。
「winrm get winrm/config/client/auth」コマンドを実行しているのですが、クライアントOSだとサービスが起動していないせいかエラーになったので、その前に「winrm quickconfig」コマンドでサービスを起動させてから実行します。
(注)「Basic=true」でなければ「winrm set winrm/config/client/auth @{Basic="true"}」を実行します。


その後モジュールをインストールします。
03
モジュールインストール後に実際に「Connect-ExchangeOnline」で接続を確認してみます!



04
ちゃんと二要素認証の画面が出てログイン出来る事がわかります
またログインすると同時にEXOのPowershellコマンドレットをダウンロードしてくるのでこの辺りは手間がかからず、いい感じですね!!
※以前のコマンド体系だと「Import-PSSession $Session」に相当する部分です。

またプロキシ環境で接続する場合には以下のようにオプションを指定すればOKです!
#プロキシ情報取得
$proxyOptions = New-PSSessionOption -ProxyAccessType IEConfig -ProxyAuthentication Negotiate

#EXO接続
Connect-ExchangeOnline -PSSessionOption $proxyOptions



現状は古いコマンド体系も使用出来てますね。
(例)「Get-Mailbox」
05
ただ「Old Cmdlets」と表記があるのでそのうち使用出来なくなったら。。。。涙

切断するときは「Disconnect-ExchangeOnline」でOK!
06



ちなみに当たり前ですが、以前の基本認証では二要素認証対応してないので、エラーとなります。
10-エラー例

11-エラー例
「Get-Credential」コマンドではID・PW情報しか取得出来ないので当たり前ですよね



こんな感じで今回の検証は終わりたいと思います( ´ー`)フゥー...
P.S. いつのまにか「MSOline」モジュールも先進認証に対応するようになっていたんですねΣ(゚Д゚)
スポンサードリンク