Alex_91
14-11-2019, 13:06
есть следующий скрипт написанный на autoit
$hFile = FileOpen('C:\Program Files (x86)\PO\File\logs\'&@YEAR&'-'&@MON&'-'&@MDAY&'.json', 0)
$iLine = "The PO_File_Adapter_Service service is now running, press Control+C to exit."
; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $hFile = -1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
Exit
EndIf
$i = 1
$z = 0
; Читает построчно текст, пока не будет достигнут конец файла EOF
While $i
$sLine = FileReadLine($hFile)
If @error = -1 Then ExitLoop
$sResult = StringInStr($sLine, $iLine)
If ( $sResult == 85 ) Then $z=$z+1
$i=$i+1
WEnd
if $z > 0 Then
ShellExecute( @ComSpec, "/c echo Проверка запуска файл адаптера: Успешно > log.txt")
Elseif $z=0 Then
ShellExecute( @ComSpec, "/c echo Проверка запуска файл адаптера: НЕ успешно > log.txt")
EndIf
FileClose($hFile)
Если я запускаю сей скрипт на локальном ПК то все отрабатывает как нужно и создается лог файл
А если запускаю через агента azure на удаленном ПК то лог файл не создается хотя скрипт судя по всему отрабатывает
по логам азуры видно что он посути запускает следующий батник на удаленной машине psexec -h -u pc-name\user -p pass "C:\1\1.exe" 1.exe и есть наш скрипт (скрипт действительно лежит по этому пути)
в чем может быть проблема? почему не создается лог?
$hFile = FileOpen('C:\Program Files (x86)\PO\File\logs\'&@YEAR&'-'&@MON&'-'&@MDAY&'.json', 0)
$iLine = "The PO_File_Adapter_Service service is now running, press Control+C to exit."
; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $hFile = -1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
Exit
EndIf
$i = 1
$z = 0
; Читает построчно текст, пока не будет достигнут конец файла EOF
While $i
$sLine = FileReadLine($hFile)
If @error = -1 Then ExitLoop
$sResult = StringInStr($sLine, $iLine)
If ( $sResult == 85 ) Then $z=$z+1
$i=$i+1
WEnd
if $z > 0 Then
ShellExecute( @ComSpec, "/c echo Проверка запуска файл адаптера: Успешно > log.txt")
Elseif $z=0 Then
ShellExecute( @ComSpec, "/c echo Проверка запуска файл адаптера: НЕ успешно > log.txt")
EndIf
FileClose($hFile)
Если я запускаю сей скрипт на локальном ПК то все отрабатывает как нужно и создается лог файл
А если запускаю через агента azure на удаленном ПК то лог файл не создается хотя скрипт судя по всему отрабатывает
по логам азуры видно что он посути запускает следующий батник на удаленной машине psexec -h -u pc-name\user -p pass "C:\1\1.exe" 1.exe и есть наш скрипт (скрипт действительно лежит по этому пути)
в чем может быть проблема? почему не создается лог?