我在PowerShell中有一個調用LogParser的腳本。早在腳本中,我定義的可執行文件路徑,並測試它的路徑:後來Powershell&operator停止工作
#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,並在不傳遞任何參數時從中獲得標準響應。
我想到的是&被破壞了。有沒有人看過這個,知道一個修復程序\解決方法?
非常感謝這,它拯救了我的屁股。我無法理解,爲什麼從我的PowerShell腳本中調用可執行文件在一段時間後仍然失敗。現在,當我使用'Start-Process'時,所有的工作都很精美! – Vippy