1.記事を読んでできるようになること
以下のような課題を解決できる。
-
あなたは某カフェでWEBテストを受験予定。カフェのWi-Fiからインターネット接続を行っているが、このWi-Fiは1時間おきに接続が切れてしまう。そして、接続した時間を忘れてしまったのでタイムアウトが怖い状況である。
-
イベントビュアー(GUI)から特定もできるが、起動等に時間がかかるのでPowerShellでサクッと特定したい。
2.処理の概要
Get-WinEventコマンドでWi-Fiに接続した当日分のログを抽出し、それをログファイルへ出力する。
3.作成したスクリプト
check_WiFiLogs.ps1
# ログファイル作成先を設定
$path = "C:\Work\Log"
if (!(Test-Path $path)){
New-Item $path -ItemType Directory | Out-Null
}
# ログファイル名設定
$Log_file = $path + "\Wi-fi.log"
# メイン処理
$Start_day = [datetime]::today
$Wifi_Logs = Get-WinEvent -ProviderName 'Microsoft-Windows-WLAN-Autoconfig' |
Where-Object { $_.TimeCreated -ge $Start_day } |
Select-Object TimeCreated,Message
# ログ出力
Write-Output $Wifi_Logs | Out-File $Log_file -Append
4.できあがるもの
ざっくりといつWi-Fiに接続したのかが確認できる。
5.参照リンク