Использование.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"