psexec внутри визуальной студии - PullRequest
4 голосов
/ 06 февраля 2009

Я пытался заставить psexec запускать исполняемые файлы на удаленных машинах из пользовательских задач сборки в visual studio. Все эти команды работают из командной строки, но кажется, что запуск их из приложения является проблемой. Некоторые команды работают, на других зависает psexec и, следовательно, так же, как на msbuild и visual studio 2005. В этом случае я вызываю stsadm.exe в SharePoint, но эта проблема возникает во многих программах при запуске psexec из приложения. Есть много людей, имеющих эту проблему, но, похоже, нет решения, поэтому мой вопрос: кто-нибудь знает рабочую альтернативу psexec?

Ответы [ 3 ]

1 голос
/ 15 апреля 2009

Я испытывал «зависания» при выполнении PSEXEC для удаленной системы, но я всегда относил это к контексту безопасности, в котором работал удаленный процесс.

Из справки PSEXEC:

Если вы пропустите имя пользователя на пульте Процесс выполняется в том же аккаунте из который вы выполняете PsExec, но потому что удаленный процесс олицетворяет его не будет иметь доступа к сети ресурсы в удаленной системе . когда Вы указываете имя пользователя удаленного процесс выполняется в учетной записи указан, и будет иметь доступ к любому сетевые ресурсы аккаунта доступ к. Обратите внимание, что пароль передается в виде открытого текста удаленная система.

Если вы выполняете процесс удаленно, который затем должен получить доступ к базе данных (stsadm.exe), то может произойти сбой при попытке доступа к сетевому ресурсу, в зависимости от того, как выполнялся PSEXEC. Если бы это было так, я бы предположил, что в конечном итоге истечет время и выдаст какое-то сообщение о недоступности ресурса.

Есть две вещи, которые обычно выполняются при выполнении шагов развертывания на удаленной машине, чтобы предотвратить поведение, которое вы описываете:

  1. Как упомянуто Рифферте, убедитесь, что все активы, необходимые для развертывание локально для удаленного аппарат (копирование файлов и т. д.) до использование PSEXEC для выполнения скрипта (* .bat, * .vbs, * .ps и т. д.) - так что все работает локально удаленная машина.

  2. Запустите PSEXEC, используя имя пользователя / пароль домена, когда выполняя это - обратите внимание, что это информация передается открытым текстом на удаленный сервер.

0 голосов
/ 28 февраля 2009

Вы можете попытаться заставить psexec вызывать программу bat, которая выполняет то, что вам нужно на удаленной машине. Я столкнулся с этой проблемой с installutil.exe. Простой файл bat на удаленном компьютере разрешил его.

Вы также должны поделиться своим опытом на доске sysinternals. Возможно, они могут что-то сделать в будущей редакции.

0 голосов
/ 22 февраля 2009

Всегда есть RCE .

RemCom - маленький (упакованный upx 10 КБ) замена удаленной оболочки / telnet, позволяет выполнять процессы на удаленном Windows системы, копирование файлов на удаленный системы, обрабатывать там вывод и Поток назад. Это позволяет выполнение Команды удаленной оболочки напрямую полная интерактивная консоль без необходимость установки любого клиентского программного обеспечения. На локальных машинах он также может подражать так может быть использован как молчание замена для команды Runas.

...