【SPO】Windows 資格情報マネージャーを利用して SPO に接続する
今回は PnP PowerShell の Connect-PnPOnline や、SharePoint Online の Connect-SPOService でサイト接続する際に、Windows Credential Manager (資格情報マネージャー) を使用する方法を紹介します。この方法を利用することで、ユーザー名とパスワードの入力を省くことができます (MFA 環境は除く)。利用頻度が高い場合、いちいちユーザー名とパスワードを入力するのは手間ですし、準備も数分で完了するのでぜひ試してみてください。サイトの URL を指定する方法と、ラベルを使用する方法の 2 つを紹介します。
URL を指定する方法 (Connect-PnPOnline に対応)
最初に、SharePoint Online に接続する際に使用するサイトの URL とユーザー情報を資格情報マネージャーに登録します。資格情報マネージャーはコントロール パネルにあります。コントロール パネルから探してもよいですし、タスク バーの検索ボックスから "資格" で入力することでも見つかります。
次に、下の画像の [汎用資格情報の追加] から SharePoint Online のサイト URL と使用するユーザーの資格情報を入力していきます。
テナントのURL と使用するユーザー名とパスワードを入力して保存します。
以上で準備は終了です。
上記手順を実施後、指定したテナントのパスが含まれている場合は、登録した資格情報が使用されるため、ユーザー名とパスワードの入力無しで接続できます。
Connect-PnPOnline -Url https://tenant.sharepoint.com/sites/sitename
これもとても便利なのですが、もしも資格情報を使い分けたい場合や、必要な時にだけ資格情報マネージャーの情報を使いたいときは、URL の部分に、その資格情報を識別するための "ラベル" を入力する方法があります。
ラベルを指定する方法 (Connect-SPOService と Connect-PnPOnline に対応)
先ほどテナントの URL を入力した部分に、適当な名前を付けます。資格情報マネージャーに登録されている資格情報を識別するためのもので、PowerShell 実行時にラベル名を入力するので、覚えやすい名前がいいですね。
PowerShell 実行時は、ラベル名を指定して実行します。
PnP PowerShell の場合
Connect-PnPOnline -Url https://tenant.sharepoint.com -Credentials <ラベル名>
SharePoint Online PowerShell の場合
こちらの場合は、CredentialManager モジュールの Get-StoredCredential コマンドを使用して資格情報マネージャーから参照します。最初にモジュールをインストールする必要があります。
Install-Module -Name CredentialManager
そして、-Credential パラメータに Get-StoredCredential コマンドでラベルを指定して取得した資格情報を渡します。
Connect-SPOService -Url https://tenant-admin.sharepoint.com -Credential $(Get-StoredCredential -Target <ラベル名>)
Connect-SPOService の方は、資格情報の異なるラベルを複数用意しておけば、権限レベルの違う複数のユーザーを使用した検証などもできそうですね。
おわりに
動作検証などで複数のユーザーを使い分ける場面は多々あるかと思います。シークレットモードなどでうまく使い分けている場合が多いかと思いますが、ブラウザのタブで複数のアカウントを切り替えられる拡張機能があります。過去の記事で紹介していますが、かなり便利な拡張機能なので、こちらもよければ使ってみてください。
今回の投稿は以上です。