Использование.exe в jenkins, дескриптор недействителен

Я использую Jenkins в системе Windows7. Я хотел бы использовать его для выполнения пакетного сценария в удаленной системе Windows. Пакетный скрипт будет использоваться для флэш-платы разработки и запуска некоторых тестов. Я наткнулся на обращении.исполняемый. Что хорошо работает, через окно командной строки, я могу подключить и запустить скрипт, без каких-либо проблем, но когда я пытаюсь получить Дженкинс сделать это, я получаю следующий вывод:

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

The handle is invalid.
Connecting to ABCDEFG...

Couldn't access ABCDEFG:
Connecting to ABCDEFG...

Build step 'Execute Windows batch command' marked build as failure

команды я использую в обоих случаях: программа PsExec.exe ABCDEFG-u "Доменимя пользователя" - p "пароль" "C:test - ... летучая мышь"

пользователь, связанный с именем пользователя, имеет права администратора на удаленной системе (ABCDEFG не является реальным именем системы).

может ли кто-нибудь помочь мне понять, почему он не работает через Дженкинса? Или есть более простой / лучший способ выполнить пакетный скрипт в удаленной системе Windows через Jenkins?

3 ответов


благодаря всей вашей помощи, особенно Technext, у меня есть решение.

Мне нужно работать "услуги.msc", найти "Jenkins", щелкните правой кнопкой мыши на нем и перейдите в раздел"Свойства". Как только появились окна свойств, я должен был нажать кнопку "стоп", чтобы остановить Дженкинса, открыть вкладку "войти", ввести свое имя пользователя и пароль (имя пользователя, которое я использовал при запуске через командную строку) и снова запустить Дженкинса. Это избавило от сообщения "дескриптор недействителен" в Дженкинсе.

обновление: Ля лучшим решением было войти в систему, которую я использовал psexec.exe чтобы войти, перейдите в Панель управления > Учетные записи пользователей > предоставить другим пользователям доступ к этому компьютеру. Нажмите "Добавить"..."и введите имя пользователя и домен, который Дженкинс использует для запуска своих команд (чтобы найти это, откройте свой Дженкинс в окне браузера, перейдите в Управление Дженкинсом > системная информация и найдите имя пользователя и USERDOMAIN в переменных среды). Убедитесь, что вы даете ему права администратора. Затем нажмите кнопку ОК. Теперь и PsExec.ехе не стоило проблема" handle is invalid".


Извините, у меня недостаточно репутации для комментариев, но является ли сингл \ опечатка? С

недопустимый дескриптор.

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

 psexec.exe \ABCDEFG -u "DOMAIN\username" -p "password" "C:\test.bat"

обратите внимание на две обратные косые черты для доступа к локально сопоставленному компьютеру.

в противном случае, если это не работает, я рекомендую @ tag

psexec.exe @servername.txt -u "DOMAIN\username" -p "password" "C:\test.bat"

где @servername.формат txt-это текстовый файл, содержащий только в имена серверов, по одному на строку. Параметр file обрабатывает форматирование \

ex имя_сервера.txt

ABCDEFG
COMPUTER2

EDIT: также нашли немного погуглить, что это может быть связано с безопасность windows.


проверьте, что простой перезапуск удаленной машины не решает проблему. Также может помочь добавление параметров-h и-accepteula. Измененная команда:

psexec.exe \ABCDEFG -u "DOMAIN\username" -p "password" -h -accepteula "C:\test.bat"