*PowerShell PSDiagnostics [#b4c1e7ac]
#enull{{
&tag(PowerShell,PSDiagnostics,診断,パフォーマンス,ログ);
}}
#contents
**PowerShellにてPSDiagnostics(パフォーマンスイベントの追跡・診断)を扱えるようにする [#i7aece3d]
PS> Import-Module -Name PSDiagnostics
**関数一覧 [#pa3f5621]
PS> Get-Command -Module PSDiagnostics | Select-Object -Property Name
|カテゴリ|コマンドレット名|||h
|[[取得>#obd4b09a]]|[[Get-LogProperties>#sa3dff30]]|||
|設定|Set-LogProperties|||
|有効化|Enable-PSTrace|Enable-PSWSManCombinedTrace|Enable-WSManTrace|
|[[無効化>#kbfda991]]|Disable-PSTrace|[[Disable-PSWSManCombinedTrace>#j0e09f2f]]|[[Disable-WSManTrace>#v47ee496]]|
|開始|Start-Trace|||
|[[停止>#a28ae43d]]|[[Stop-Trace>#h591c305]]|||
**取得 [#obd4b09a]
***イベントログの情報を取得する [#sa3dff30]
-Systemログの情報を取得する
PS> Get-LogProperties -Name System
|主なイベントログ名||h
|Application|アプリケーションログ|
|System|システムログ|
|Security|セキュリティログ(管理者権限が必要)|
--''%SystemRoot%\system32\wevtutil.exe gl <イベントログ名>''の出力結果の一部を抽出して表示しているだけ
-全イベントログの情報を取得する
PS> %SystemRoot%\system32\wevtutil.exe el | Get-LogProperties
もしくは
PS> $env:SystemRoot\system32\wevtutil.exe el | Get-LogProperties
//**有効化
//***PowerShellとWinRMについてのイベントトレースセッションデータコレクターを開始する
//-"PSTrace"という(固定された)名前のイベントトレースセッションデータコレクターを開始する
// PS> Enable-PSWSManCombinedTrace
//--[[Disable-PSWSManCombinedTrace>#j0e09f2f]]にて停止するまでのログは、$
**無効化 [#kbfda991]
***PowerShellとWinRMについてのイベントトレースセッションデータコレクターを停止する [#j0e09f2f]
-"PSTrace"という(固定された)名前のイベントトレースセッションデータコレクターを停止する
PS> Disable-PSWSManCombinedTrace
--以下のコマンド実行と同じ
PS> Stop-Trace -SessionName PSTrace -ETS
***WinRMサービスのイベントトレースセッションデータコレクターを停止する [#v47ee496]
-"wsmlog"というイベントトレースセッションのデータコレクターを停止する
PS> Disable-WSManTrace
--以下のコマンド実行と同じ
PS> Stop-Trace -SessionName wsmlog -ETS
**停止 [#a28ae43d]
***データコレクターを停止する [#h591c305]
-コレクション名が"foobar"である、既存のデータコレクターを停止する
PS> Stop-Trace -SessionName foobar
--以下のコマンド実行と同じ (そのため、Stop-Trace実行後「コマンドは、正しく完了しました。」が2度表示される)
logman update foobar
logman stop foobar
-コレクション名が"foobar"である、イベントトレースセッションのデータコレクターを停止する
PS> Stop-Trace -SessionName foobar -ETS
--以下のコマンド実行と同じ (そのため、Stop-Trace実行後「コマンドは、正しく完了しました。」が2度表示される)
logman update foobar -ets
logman stop foobar -ets