LogParser を呼び出す PowerShell のスクリプトがあります。スクリプトの早い段階で、実行可能ファイルへのパスを定義し、そのパスをテストします。
#Define path to log parser executable
$logParser = '\\hostname\logparser22\LogParser.exe'
if (! $(Test-Path $logParser) )
{
Write-Host -ForegroundColor Red "Could not access: $logParser"
return
}
その後、LogParser と呼ばれるスクリプトを下に移動します。
$sessionData = & $logParser "SELECT * FROM $logPath where data LIKE `'Contoso\\$user`'" -i:csv -nSkipLines:4 -headers:on -stats:off -o:csv
これは、PowerShell セッション中にしばらくの間ファイルを動作させますが、十分な回数実行すると、最終的に動作を停止します。壊れたシェルに入ってから少しデバッグすると、以下は、パラメーターなしで LogParser を呼び出したときに返される通常のヘルプを生成しません。
& $LogParser
ただし、まったく同じコマンドを実行している新しい PowerShell セッションを開くと、動作して LogParser が呼び出され、パラメーターを渡さないときに標準の応答が返されます。
私がたどり着いたのは、どういうわけか壊れています。誰もこれを見て、修正\回避策を知っていますか?