PowerShellって、最初は正直とっつきにくかったんですよね。
私は普段からIT系の業務に携わっていて、サーバーやネットワークの管理なんかも担当しています。でも、PowerShellに本格的に触れるようになったのは、Exchange Onlineの運用が始まってからでした。
ある日、同僚に「メールボックスの自動転送を全ユーザーで確認したいんだけど、GUI(画面操作)じゃ厳しくない?」と相談されたんです。管理画面で一人ずつ見るのはちょっとしんどい作業。でもそこでPowerShellの存在を思い出して、少し調べながら試してみたら…意外となんとかなったんですよ。
最初はエラーにビビったり、コマンドをコピペしても反応しなかったり、色々ありましたけど、慣れてくると「なんで今まで使ってこなかったんだろう」と感じるようになりました。
この記事では、私が実際にExchange Onlineへの接続を試したときの流れを、初心者目線でまとめてみました。構えずに読んでもらえるとうれしいです。
PowerShellでExchange Onlineに接続するには?
まず、「PowerShellって何に使うの?」というところからですが、簡単に言えば「Windowsに標準でついている、文字で操作するツール」です。マウスで操作する代わりに、キーボードでコマンドを打って作業するものですね。
Exchange Onlineは、Microsoft 365の中にあるメールサービスのひとつです。普通は管理画面で設定変更をしたりしますが、PowerShellを使うと、まとめて変更したり、条件をつけて情報を取り出したりができるようになります。
特別なアプリを入れる必要はなく、Windowsに入っているPowerShellと、マイクロソフトが提供しているモジュールがあればOKです。
PowerShellで接続するメリット
私が一番ありがたかったのは、一括処理ができることです。
たとえば、10人のユーザーに同じメールルールを追加する場合、普通にやると管理画面を何回も開かないといけません。でもPowerShellなら、たった1行のコマンドで全員分を処理できてしまいます。
もう一つは、詳細な条件で情報を取得できること。部署名で絞ったり、アカウントのステータスで並べ替えたりができるので、「あの設定、今どうなってたっけ?」というときにすごく助かります。
あとは、結果をCSVファイルに書き出せる点も便利でした。報告書を作るときや、変更前のバックアップとして残しておきたいときに役立ちました。
PowerShellで接続する手順
ここからは、実際の操作手順をできるだけ丁寧に紹介しますね。画面は出せませんが、なるべくイメージしやすいように心がけています。
① PowerShellを「管理者として」起動
まず、Windowsの中央下のスタートボタンを右マウスボタンで操作します。出てきたメニューの中に「ターミナル(管理者)」があるので、それをクリック。黒い画面が開きます。
② モジュールのインストール
Exchange Onlineとやり取りするには、「ExchangeOnlineManagement」という追加部品が必要です。
PowerShellの画面でこのコマンドを打ちます。
Install-Module -Name ExchangeOnlineManagement
初めて使う場合、「インストールしてもいいですか?」といった確認が表示されるので、「Y」と入力して続けます。
③ 実際に接続する
次は接続です。以下のようにコマンドを入力します。
Connect-ExchangeOnline -UserPrincipalName TEST@example.net
TEST@example.netの部分は、Microsoft 365の管理者アカウントに置き換えてください。
実行するとログイン画面が表示されるので、普段使っているMicrosoft 365のIDとパスワードを入力します。多要素認証が設定されている場合は、スマホなどで認証も行います。
④ 作業後は切断する
終わったら、以下のように入力して接続を終了します。
Disconnect-ExchangeOnline
これでセッションが切断されます。忘れずにやっておくと安心です。
PowerShellのトラブルシューティング
- インストールで止まるんだけど?
-
モジュールのインストールでエラーが出る場合、PowerShellを「管理者として実行」していないケースが多いです。もう一度、右マウスボタンで操作し起動し直してみると良いかもしれません。
- サインイン画面が開かない
-
多要素認証の設定があると、接続時にブラウザが開いてサインインが必要です。ウィンドウが裏に隠れていることもあるので、Alt+Tabで確認すると良いかもしれません。
- 文字化けが起きた
-
結果の表示が文字化けする場合、次のコマンドを先に打ってから試してみると改善することがあります。
$OutputEncoding = [System.Text.Enconding]::UTF8
PowerShellを使ってみた感想
PowerShellって聞くと「プログラミングっぽいし、自分には無理かも」と思っていたんですが、やってみるとそこまで複雑ではありませんでした。
もちろん、最初はコマンドを何度も間違えたり、エラーを見て戸惑ったりもしました。でもそのおかげで、どこで何が起きてるのかを調べるクセがついたのも、個人的には良い経験でした。
GUI(画面操作)だけでは難しかった設定も、PowerShellでならできたことが増えてきたので、今では業務の中で欠かせないツールになっています。
一方で、記述ミスがそのまま反映されてしまうという面もあるので、実行前には慎重になるようにしています。
まとめ
Exchange Online接続入門!PowerShellで始める管理【初心者必見】について紹介させて頂きました。
PowerShellを使ってExchange Onlineに接続する方法は、最初はとっつきにくく感じるかもしれません。でも、少しずつ試していくと「これって意外と便利かも」と思えるようになるはずです。
業務効率を上げたい人や、複数の設定をまとめて管理したい場面では、PowerShellが選択肢のひとつになるかもしれません。
あくまでも無理なく、自分のやりやすい範囲で取り入れてみるのが良いんじゃないかなと感じています。

コメント