Удаленно исполняемый пакетный файл, вызывающий внешний исполняемый файл

Я пытаюсь вызвать файл .cmd на удаленном сервере (который работает) и из этого файла .cmd вызвать внешний исполняемый файл на удаленном сервере для сжатия некоторых файлов. Раньше это работало в более старой среде (удаленный сервер был машиной 2003 года), но мы переходим на новый сервер 2012r2, и теперь я получаю сообщение об ошибке «путь не найден». Я знаю, что пути правильные, потому что локально я могу без проблем выполнять все эти команды. Позвольте мне изложить это немного чище:

Вызов сервера: я использую следующую командную строку для вызова скрипта, который находится на удаленном сервере:

\\server1\path1a\path1b\myscript.cmd \\server1\path2a\path2b\

Удаленный сервер: здесь содержимое файла «myscript.cmd»:

@echo off
e:\utils\gzip.exe -N -3 -a %1\p*
if %errorlevel% GTR 0 goto zipfail
echo ZIP WORKED!
exit

:zipfail
echo ZIP FAILED with error: %errorlevel%
exit

Как видите, я передаю параметр туда, где исходные файлы должны быть заархивированы в реальном времени. Учетная запись на вызывающем сервере, которую я использую, имеет полный доступ (как на уровне файлов, так и на уровне общих ресурсов) к каталогу, в котором находится файл .cmd, а также к локальному пути e:\utils, где на удаленном сервере находится утилита gzip. Я могу запустить это с удаленного сервера, и все работает нормально, но когда я пытаюсь вызвать его с удаленного компьютера, я получаю сообщение об ошибке «система не может определить указанный путь». Я подтвердил, что проблема не в пути «c:\utils\gzip.exe», поскольку, если он отсутствует или неверен, я получаю другую ошибку, в которой говорится, что не удается найти утилиту gzip. Это означает, что проблема заключается в том, чтобы запустить gzip и получить доступ к удаленному пути, по которому файлы должны быть сжаты.

(Кстати, я попытался поместить gzip по тому же пути, где находится файл .cmd, те же результаты.)

Любые идеи? Является ли это каким-то новым ограничением безопасности в 2012 году, когда удаленный исполняемый скрипт не может/не может получить доступ к удаленным исполняемым файлам?


person Peter Bako    schedule 22.07.2015    source источник
comment
Пожалуйста, опубликуйте полную командную строку, которую вы используете для удаленного запуска команды   -  person PA.    schedule 22.07.2015
comment
Пожалуйста, удалите @echo off и посмотрите, есть ли какие-либо подсказки. Запуск \\server1\path1a\path1b\myscript.cmd копирует сценарий .cmd с удаленного компьютера на ваш и запускает его. Это ничего не запускает на удаленной машине.   -  person lit    schedule 23.07.2015


Ответы (1)


Пол был прав - я слишком долго не работал с пакетными файлами, что начинаю забывать основы... грррр!

Путь (и называемый исполняемым файлом) отсутствовал при вызове (он же машина, на которой запущен скрипт). Однажды я исправил, что он отлично работает!

person Peter Bako    schedule 31.07.2015