У меня есть скрипт в PowerShell, который вызывает LogParser.В начале скрипта я определяю путь к исполняемому файлу и проверяю его путь:
#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, и я получаю стандартный ответ от нее, когда не передаю никаких параметров.
То, к чему я пришел, так или иначе нарушено.Кто-нибудь видел это и знает об исправлении \ обходном пути?