前回は、ベーシック認証が使われているルータの管理WebページをPowerShellから開く方法を紹介した。今回はこのルータの管理Webページからログデータを取得するPowerShellスクリプトを作成する。ログデータの収集は管理の基礎だ。PowerShellスクリプトで自動化して定期的に収集する仕組みを作っておくと便利になる。

→連載「意外と知らないMicrosoft Edgeの便利な使い方」の過去回はこちらを参照。

管理Webページのログデータ

まず、Microsoft Edgeからルータの管理Webページにアクセスする。

  • ルータの管理Webページ

    ルータの管理Webページ

  • オープンされたルータの管理Webページ

    オープンされたルータの管理Webページ

今回取得したいログが掲載されているページを開く。

  • 取得したいログが掲載されているWebページを開く

    取得したいログが掲載されているWebページを開く

このページの構造を調べると、ページは左のメニュー部分と右の表示部分がフレームで分かれていることがわかる。欲しいのはログデータなので、ログデータのページのみをMicrosoft Edgeで表示させてみる。

  • ログページのみを表示させる

    ログページのみを表示させる

このページのログデータを取得したいものとする。Microsoft Edgeの開発者ツールを起動して、対象となる要素のXPathを取得する。

  • ログデータの掲載されている要素のXPathを調査

    ログデータの掲載されている要素のXPathを調査

対象となる要素のXPathは次のようになっていた。

ログデータのXPath
/html/body/div[3]/pre

これで準備は完了だ。対象となるページのURLも要素のXPathも明らかになったので、後はこれまで通りに操作していけばよい。

PowerShellからルータのログデータを取得する

では、一つ一つ動作を確認していく。まず、Microsoft Edgeを操作するためにWebDriverを起動する。スクリプトは稿末に付録として掲載しておくので、参考にしてもらえればと思う。

webdriver_edge_start.ps1

ルータの管理Webページのログページをオープンする。ベーシック認証もここで認証してしまう。

Set-SeUrl -Url http://ユーザー名:パスワード@192.168.1.1/ntt/information/troubleLog

ページを開いたのでログが記載されている要素をGet-SeElementコマンドレットで取得する。

$Element = Get-SeElement -By XPath -Value '/html/body/div[3]/pre'

要素が取得できたらログデータを出力する。

$Element.Text

これで必要な処理は終わったので、Microsoft EdgeとWebDriverを終了する。

Stop-SeDriver
webdriver_edge_stop.ps1

基本的な処理の流れはこれで完了だ。

動作を確認

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら