SharePoint Patterns and Practices で公開されている SharePoint PnP PowerShellを使って SharePoint Onlineにアクセスするときのトラブルシューティングを備忘録として記載します。とはいえ、私の環境が少し特殊なので、あくまでもご参考まで。
まず、私の環境がどのように特殊なのかという説明から始めましょう。手持ちの複数の Office 365 テナントにアクセスする必要があるため、Internet Explorerでアクセスしているテナントと EdgeやChromeでアクセスするテナントを分けて利用しています。で Edge や Chrome でアクセスしているアカウントは MFA (多要素認証)を使ってMicrosoft Authenticator を使った認証を組み合わせています。
さてここで Edge でアクセスしている方のテナントに前述の PnP PowerShellで接続したかったのですが、MFA を利用している場合は次のようにコマンドを実行します。
この "UseWebLogin" パラメータが大切で、これを指定することでブラウザーを使ったユーザー認証ができMFAの認証コード送信などができるようになります。しかし、今回これがうまくいかなかった。認証ウィンドウが表示されたかと思うとすぐに閉じ、下記のようなエラーが表示されてしまうのです。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Connect-PnPOnline : リモート サーバーがエラーを返しました: (403) 使用不可能
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
さて、解決策ですが、そもそも認証ウィンドウは IE が起動するようになっている。つまり、すぐ消えたウィンドウはIEが提供しているようです。そのため、まずIEの側をサインアウトします。ただし、サインイン時に"認証情報を継続利用" するように指定していたため、これも消します。キャッシュされている認証情報の削除にはコントロールパネルから "資格情報マネージャー" を起動し https://login.microsoftonline.com/ が対象になっている IE でログインしていた時のアカウント情報を削除します。
ここまでそろえたうえで、上記のコマンドを実行するとうまく MFA を使った認証が通ります。
コメント