はじめに
Microsoft 365 管理には PowerShell での操作はほぼ必須といってもよいのではないでしょうか。
例えば、組織の人事異動の際に一括でアカウント作成やライセンスの付与を行いたい場合などは、PowerShell を利用することで作業の効率化を図ることが可能です。
Microsoft 365 では サービス毎に PowerShell モジュールが用意されており、簡単なコマンド実行だけでモジュールのインストールが可能ですが、プロキシ環境などネットワークが制限されている環境では、適切な通信要件を許可する必要があります。
今回は、ネットワーク制限下でも、PowerShell モジュールのインストールを行う方法を紹介します。
前提
- PowerShell モジュールをインストールしたいデバイスでネットワークの制限があり、オンラインでのモジュールのインストールが上手くいかない
- インターネット環境に接続可能な、別の作業用デバイスが存在する
- 作業用デバイスから、PowerShell モジュールをインストールしたいデバイスへデータのコピーが可能
注意事項
Microsoft 社の下記のページでも謳われている通り、今回紹介する方法はオンラインでのインストールの完全な代替手段ではありません。正攻法で難しい場合の特殊なケース、と捉えてもらえればと思います。
PowerShell ギャラリーからのパッケージダウンロード
まずは、作業用デバイスで PowerShell ギャラリーにアクセスし、モジュールのパッケージをダウンロードしてきます。
今回は、例として Teams のパッケージをダウンロードしてみますので、検索欄に [Microsoft Teams] と入れて検索します。
[Manual Download] > [Download the raw nupkg file] から、ダウンロードします。
パッケージの解凍と配置
パッケージのダウンロードができたら、モジュールインストール先のデバイスにパッケージを配置して解凍します。(.拡張子を.nupkgから.zipに変更して解凍します。)
フォルダ名から末尾のバージョン情報を削除し、フォルダ毎[C:\Program Files\WindowsPowerShell\Modules] 配下にコピーします。
Powershell を起動し、下記のコマンドを実行してモジュールのインポートを行います。
Import-Module microsoftteam
ここまででモジュールのインストールは終了です。
試しに Teams 接続コマンドが実行できるかやってみます。
Connect-MicrosoftTeams
コマンドが通り、サインインのプロンプトが表示されました!
おわりに
手動での Module インストールには制約事項がいくつかありますが、いざという時の代替方法としては参考になるかと思います。
Microsoft 365 の運用管理で活用できそうな PowerShell コマンド(スクリプト)例も後々紹介したいと思っていますので、お楽しみに!