【ExchangeOnline】アクセスが拒否されました…【PowerShell】

PowerShell
スポンサーリンク

久しぶりにExchangeOnlineを使用するPowerShellプログラムを実行してみたところ、動かないではありませんか。「え?なんで?何もしてないのに壊れたわ」とPCわからない人が絶対言うであろう素人発言が頭をよぎりました。

New-PSSession : [outlook.office365.com] リモート サーバー outlook.office365.com への接続に失敗し、次のエラー メッセージが返されました: アクセスが拒否されました。詳細については、about_Remote_Troubleshooting のヘルプ トピックを参照してください。

調べてみたところ、自分が使用しているExchangeOnlinePowerShellのバージョンが古かったようです。かつ、認証方法も古かったようで、新しい認証方法で接続しなければなりませんでした。全然知らなかったよ、教えてくれよMicrosoftちゃん…

【重要なお知らせ】Exchange Online における基本認証の廃止について - Windows Blog for Japan
いつも Microsoft 365 をご利用いただきありがとうございます。 お客様の大切なデータとアカウントをより安全に保護する目的で、2022 年 10 月 1 日以降、MAPI、RPC、オフライン アドレス帳 (OAB)、Exchang...
スポンサーリンク

ExchangeOnlinePowerShellをバージョンアップする

まずはExchangeOnlinePowerShellを新しくしたいと思います。以下のコマンドを叩き込みましょう。

PS> Install-Module -Name ExchangeOnlineManagement

なんかいろいろメッセージ画面が聞いてくるので「すべて続行」します。インストールが完了します。バージョンを確認してみましょう。

PS> Get-InstalledModule ExchangeOnlineManagement | 
    Format-List Name,Version,InstalledLocation

Name              : ExchangeOnlineManagement
Version           : 3.0.0
InstalledLocation : 
C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\3.0.0

バージョン3になりましたね。

認証方法の変更

接続方法のおソース

$secpasswd = ConvertTo-SecureString -String 'password' -AsPlainText -Force 

$o365cred = New-Object System.Management.Automation.PSCredential ("papa@papamamameyou.com", $secpasswd) 

Connect-ExchangeOnline -Credential $o365cred

切断方法のおソース

Disconnect-ExchangeOnline

これで動くようになりました!

まとめ

久しぶりに動かすプログラムが動かなくなってると焦りますね(;^ω^)
あと何もしてないのに壊れることはありません。必ず原因があります。真実はいつもひとつです。

コメント

タイトルとURLをコピーしました