GetLogFileUsage.ps1 スクリプトの提供開始
(この記事は 2014 年 3 月 7 日に The Exchange Team Blog に投稿された記事 Now Available: GetLogFileUsage.ps1 script の翻訳です。最新情報については、翻訳元の記事をご参照ください。)
Ross Smith IV が開発した Exchange Server Role Requirements Calculator (英語) をご利用中の方も、Neil Johnson が開発した Exchange Client Network Bandwidth Calculator (英語) をご利用中の方も、帯域幅の必要条件を見極めるために、ログ ファイルの使用状況の統計を取得する必要があります。
私の場合、前回の統計の取得がいつであったかにかかわらず、とにかくディレクトリのコンテンツをテキスト ファイルに送り、その後 Excel 内でそれを処理します。この作業は手間も時間もかかるので、正直なところ、ほとんどの人はやったことがあるとしても 1、2 セットのログがせいぜいだと思います。
だとすれば、この作業を自動化してみたらどうでしょうか。もし、ファイルを見つけ出して文字列を少しばかり処理するだけで解決できる問題ならば、PowerShell がこの作業をやってくれるのでは…。そんな具合に、シアトルのホテルでコードの 1 行目を書きだしたのが、このプロジェクトの始まりでした。
GetLogFileUsage.ps1 (英語) というこのスクリプトは、コマンド ラインの入力により制御されます。引数が指定されなければ、ヘルプ画面が表示されます。
既定で、スクリプトは、過去 24 時間以内のログ ファイルを取得しますが、"-Date" パラメーターを使用して特定の日付を使用するように設定することもできます。指定した時間のトランザクション ログ ファイルがバックアップによって消されてしまっていないことを確認してください。言うまでもないことですが、これは循環ログには使用できません。
"-Database <データベース名>" パラメーターを使って 1 つのデータベースの指定し、"-Server <サーバー名>" パラメーターを使って特定のサーバーを指定します。"-Server All" を使えば、組織内の全サーバーを指定することができます。
重要: データベースとサーバー パラメーターをサポートするために、スクリプトは Exchange 管理シェル (EMS) で実行しなければなりません。
スクリプトを EMS で実行できない場合、または古い Exchange か Exchange 以外のサーバーから統計を収集する場合、入力サーバーへのパス ファイルとスクリプトへのパスを使用します。ファイルの形式は以下のとおりです。
入力としてパス ファイルを使用することで、Exchange だけでなく、任意のトランザクション ログ ベースのデータベースがサポートされますので、自由にパス ファイルを試してみてください。私も、サポートされるサード パーティ製品が増えるのが楽しみです。
既定のファイル ".\paths.txt" を使用する場合は、"-File" というパラメーターを追加するだけです。あるいは、それを "-PathFile <ファイル名>" と組み合わせれば、任意のファイルを指定できます。
CSV ファイルにセミコロン以外の区切り記号を使用したければ、コマンド ラインで "-Delimiter" パラメーターを使ってその記号を指定します。また、その記号に固定したい場合は、スクリプト内で変更します。
選択したデータベースやサーバーの数によってはスクリプトの処理にしばらく時間がかかり、その後以下の画面のように出力が表示されます。
これは、数字が正しそうかどうかをチェックするためのものです。"Percent" 列は自動的にクリップボードにコピーされますので、メモ帳に貼り付けることができます (1 行目は空白行なので、Excel に貼り付ける前に削除する必要があります)。
貼り付けられた数字は、Exchange Server Role Requirements Calculator 内で以下のように見えます (これらのセルに数字を入力するには [site resilient deployment] を Yes にする必要があります)。
また、Exchange Client Network Bandwidth Calculator を使用した場合には以下のようになります ("Client Mix" ワークシートの右端にあります)。
さらに、全ログ ドライブの統計を含む CSV ファイルが自動的に作成されますので、ドライブの負荷を均一にするために、ログ ファイルをより効率的に分散させる必要があるかどうかを確認できます。
計算ツールで作業する際に、このスクリプトを使って手間や時間を節約できることを願っています。より良いスクリプトにするために、ユーザーの皆様の感想やご意見をお待ちしています。
Karsten Palmvig
MCS デンマーク、主任コンサルタント