Я пытаюсь вызвать файл .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 году, когда удаленный исполняемый скрипт не может/не может получить доступ к удаленным исполняемым файлам?
@echo off
и посмотрите, есть ли какие-либо подсказки. Запуск\\server1\path1a\path1b\myscript.cmd
копирует сценарий .cmd с удаленного компьютера на ваш и запускает его. Это ничего не запускает на удаленной машине. - person lit   schedule 23.07.2015