この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
はじめに
こんにちは、パーソルプロセス&テクノロジーの永井です。
今回はWindowsに搭載されているPoweShellを使ってMicrosoft365へ接続する方法を詳しく解説したいと思います。
PowerShellとは
Windows 7以降のWindowsに標準で搭載されている
CLIシェル(コマンドラインインターフェイス)およびスクリプト言語です。
Windows Vista以前から搭載されているCLIシェルであるコマンドプロンプトの改良版となっており、
できることが大幅に増加しました。
※Windows7以降のOSでもコマンドプロンプトは標準で搭載されていますが、
特に理由のない限りPowerShellを使うことを勧められています。
PowerShellでMicrosoft365へ接続して何が出来るのか
PowerShellでは、ExchangeやTeamsなどのMicrosoft365のサービスに接続し操作を行うことが可能です。
そして、PowerShellはブラウザでの操作に比べ、設定を一括で変更することが可能な点で優れています。
例えば、複数のリソースの権限を変更する際にはブラウザ上で一件ごとにクリックをして変更するのではなく
コマンドを使用し複数のリソースに対し同時に処理を行えるので大幅な時間削減や人為的ミスのリスク軽減になります。
また加えて、ブラウザでは閲覧できない詳細な設定値や作業のログなどを参照することが出来ます。
接続準備
PowerShellを起動する
まずはPowerShellを管理者権限で実行します。
Windowsの検索またはアプリ一覧などから右クリックし、[管理者として実行する]をクリックします。
PowerShell実行ポリシーの変更
PowerShellの実行ポリシーを[RemoteSigned]または[Unrestricted]に設定する必要があります。
現在の設定を確認するには、
Get-ExecutionPolicy
と入力して確認します。
[RemoteSigned]または[Unrestricted]のどちらにも該当しない場合は以下を実行してポリシーを[RemoteSigned]へ変更します。
Set-ExecutionPolicy RemoteSigned
必要なモジュールのインストール
Get-InstalledModule
上記コマンドを実行して、現在インストールされているモジュールを一覧で確認します。
[MSOnline]がインストールされていない場合は以下を実施しAzure AD PowerShellモジュールをインストールします。
Install-Module MSOnline
コマンドを実行すると以下のようなメッセージが出てくると思いますので、[y]と入力してエンターを押しましょう。
実行ポリシーの変更とモジュールのインストールは初回以降不要になります。
※モジュールは更新されますので、定期的に更新することをお勧めします。
PowerShellでMicrosoft365に接続する
さて、ここからが本編になります。
次のコマンドを実行し、アカウント情報を入力します。
$credential = Get-Credential
次に以下コマンドを実行します。
何も表示されなければ接続成功です!
Connect-MsolService -Credential $credential
ここまでがMicrosoft365への接続方法です。
実際に作業する際はここからさらにMicrosoft365の各サービスに接続します。
以下では例としてExchange Onlineへの接続コマンドをご紹介します。
Import-Module ExchangeOnlineManagement
※上記モジュールのインストールは例によって初回のみで大丈夫です。
Connect-ExchangeOnline -Credential $credential -ShowProgress $true
後は、目的に合わせてコマンドを実行しましょう!
うまくいかない場合
[.NET Frameworkの更新]
PowerShellがうまく動かない場合はまず.NET Frameworkを最新のものに更新しましょう。
PoweShellは.NET Framework上で動作しているので
.NET Framework が古いとうまく動作しない可能性があります。
https://docs.microsoft.com/ja-jp/dotnet/framework/install/index
[PowerShellの更新]
次のコマンドを実行することで現在使用中のPowerShellのバージョンがわかります。
Get-Host | Select-Object Version
※2020年11月19日時点で最新のバージョンは5.1です。
PowerShellは自動的に更新されないので以下を参照して最新バージョンへ更新しましょう。
https://docs.microsoft.com/ja-jp/skypeforbusiness/set-up-your-computer-for-windows-powershell/download-and-install-windows-powershell-5-1