Powershell

Windows DHCPサーバのログをローテーションする【PowerShelスクリプト】

Powershell

WindowsのDHCPは皆さんもよく使っているかと思います。

デフォルトでは「C:\Windows\System32\dhcp\」フィルダにログが保存されます。

ただし、DHCPサーバで保存されているログ名称は「DhcpSrvLog-Wed.log」のように曜日単位となっていて、1週間すると自動的に上書き保存されてしまいます。

そこで、今回はDHCPサーバのログ残すため、日付のファイルとして保存するスクリプトを自作したので紹介します。

PowerShellスクリプト

いきなりですがPowerShellスクリプトです。そのまま動作するはずです。

必要であればログ保存先のフォルダなどを変更して使ってください。

#
# DHCPサーバログローテーション
#

# DHCPログフォルダ
$dir_log = "C:\Windows\System32\dhcp\"

# ログ保管先フォルダ
$dir_dst = "C:\Windows\System32\dhcp\backup\log_bk\"

# 日付と曜日を取得
$yesterday = (Get-Date).AddDays(-1).ToString("yyyyMMdd")

$youbi = (Get-Date).AddDays(-1).DayOfWeek

$youbi_3 = "$youbi".Substring(0,3)

# DHCPログファイル名
$file_log = $dir_log + "DhcpSrvLog-" + $youbi_3 + ".log"

$file_dst = $dir_dst + "$yesterday" + "_dhcp.log"

# ファイルコピー
Copy-Item -Path $file_log -Destination $file_dst -Force

タスクマネージャーに登録

上のスクリプトを1日1回実行するようにタスクマネージャに登録すれば完了です。

こんな感じでログが蓄積されていきます。

PowerShellの学習におすすめの書籍

PowerShellクックブック [オライリー]

私も実際に持っていますが、間違いなくこの本はオススメできます。オライリーシリーズなので定評があるというだけでなく,実際に良書だと思います。

オライリー社の書籍というと初心者にはとっつきにくイメージがありますが、この書籍に掲載されている例は基本的なものが多く,入門者が使い方を覚えるためには丁度よいレベルの本だと感じます。

今回は以上となります。

コメント

タイトルとURLをコピーしました