Пакетный файл Windows: Запустите .exe на сервере с «Запуск от имени другого пользователя».

1426
Mr.B

Я ищу, чтобы создать командный файл для запуска перезапуска CruiseControl.Net .exe на сервере. Есть два осложнения к этому:

  • Во-первых, мне нужно получить доступ к серверу удаленно
  • Во-вторых, мне нужно запустить .exe под «Запуск другого пользователя»

Я видел несколько примеров использования PSEXEC для подключения к серверу, но это запуск файла bat с использованием учетных данных подключения к серверу, а не запуск exe-файла от имени другого пользователя.

Например, представьте, что соответствующие части представлены ниже:

  • Имя сервера: «Тест-Сервер-01»
  • Имя пользователя сервера: «User1»
  • Пароль сервера: "Password1"

  • Расположение exe: «Test-Server-01 \ d $ \ CC.exe»

  • exe Имя пользователя: "Пользователь"

Пример:

\\\Test-Server-01 -c test.bat -u User1 -p Password1 

Это запускает «test.bat» на сервере «Test-Server-01» с именем пользователя и паролем сервера. Затем мне нужно расширить это, чтобы запустить приложение в разделе «Запуск от имени другого пользователя»

Вопрос: Как я мог добиться этого результата?

В настоящее время я работаю в обратном направлении, начиная с «Запуск от имени другого пользователя» и выполняя этот bat-файл на сервере. Это правильно запускает ccnet.exe, но не в той папке.

CD "/D D:\Program Files (x86)\CruiseControl.NET\server" RUNAS /user:user@company.com "D:\Program Files (x86)\CruiseControl.NET\server\ccnet.exe" PAUSE 
0

1 ответ на вопрос

0
harrymc

psexec может сделать это:

psexec \\Test-Server-01 -u User -p Pass d:\local\path\to\CC.exe 
Извиняюсь, моё объяснение может быть недостаточно ясным, я его поправлю. В приведенном выше примере вы предоставили. User & Pass - правильны ли имя пользователя и пароль сервера? В то время как мне нужна эта часть для доступа к серверу, мне также нужно «Запускать от имени другого пользователя» при использовании «d: \ local \ path \ to \ CC.exe» Mr.B 7 лет назад 0
Если вы хотите использовать другие учетные данные, кроме сетевых, ничто не мешает вам использовать psexec с командой [runas] (https://technet.microsoft.com/en-us/library/bb490994.aspx). harrymc 7 лет назад 0
Отлично, проведу некоторое тестирование перед обновлением с моим результатом и принятием вашего ответа. Этот фрагмент выглядит именно то, что мне нужно, спасибо большое. Mr.B 7 лет назад 0
Я пытался объединить runas и psexec и, к сожалению, у меня мало успеха. не могли бы вы привести пример? Я обновил свой первоначальный пост, чтобы отразить это. Mr.B 7 лет назад 0
Вам может понадобиться использовать для psexec аргумент `-h`, или же использовать` -s` (может потребоваться пароль / пароль администратора). Если проблемы, пожалуйста, добавьте к сообщению ваши тесты и точные результаты. harrymc 7 лет назад 0