これまで数回にわたり、PowerShellからMicrosoft Edgeを操作する方法を取り上げてきた。今回からはこの機能を使って実際にどのような活用をしていくのかのサンプルを取り上げていく。まずは、ルータの管理WebページをPowerShellから操作する方法を紹介しよう。
→連載「PowerShell Core入門 - 基本コマンドの使い方」の過去回はこちらを参照。
ルータの管理用Webインタフェース
現在のネットワーク機器、例えばルータは管理用のWebインタフェースを提供しているものが多い。Webブラウザでルータにアクセスすると管理用のWebページが表示され、ここからルータの設定を行うことができる。
通常、ルータにはアカウントが設定されている。いくつかの方式があるが、次のスクリーンショットの場合、管理用のWebインタフェースはBasic認証でアクセス保護されている。Microsoft EdgeがBasic認証で必要となるユーザー名とパスワードの入力を求めていることがわかる。
Basic認証のダイアログで「キャンセル」を選択すると、このルータの場合には次のように認証エラーのページが表示される。認証をクリアしていないので管理用のWebインタフェースにアクセスできない。
先ほどのBasic認証ダイアログで適切なアカウントを入力すると、次のように管理用のWebインタフェースが表示される。
このようにBasic認証をクリアして初めて、Webページにアクセスできる。システムによってはBasic認証の後に、さらに別のアカウントの入力を求められるものもある。
Webインタフェース経由でなければ提供されないデータがある
高級なネットワークアプライアンスになると、専用のAPIを経由したり、Webサービスを経由することでネットワークデバイスの各種データを取得したりと、操作自体が可能になることが多いのだが、コンシューマや小規模オフィス・ホームオフィス(SOHO: Small Office/Home Office)で使うようなレベルのネットワーク機器はWebインタフェースは提供していてもAPIやWebサービスは提供されていないことが多い。
この場合、人間がWebブラウザを操作する必要がある。
しかし、である。こうした操作はルーティーン的であることが多く、そして創造的な仕事ではない。できればPowerShellで自動化して人の手がかからない状態で済ませるのがよい。
例えば、ルータのログデータを週に1回収集して動作を確認するとか、おかしなアクセスがないか確認するとか、不具合が発生していないか確認するとか、そういった操作は人じゃなくてもPowerShellで自動化できるような内容だ。そういったものはPowerShellで自動化して、人間はその結果だけをメール通知で確認するとか、そこまでシンプル化する方がよい。