Я думал, что отвечу на это, поскольку у меня была та же самая проблема с зависанием TeamCity и psExec. Поскольку я считаю, что на самом деле это проблема с Java, выполняющим psexec, это должно применяться и в случае с Hudson.
Хотя я столкнулся с тем, что проблема с Accepteula была на ранней стадии, вам нужно согласиться только один раз, и она установит параметры реестра. Как указывает user327759, параметр -accepteula в сценарии будет охватывать вашу базу в первый раз и навсегда.
Если это не решит вашу проблему, чего не произошло в моем случае, вам нужно добавить переключатель "-i". например: psexec -i \ ServerName "C: \ folder \ file.bat"
Для контекста, касающегося этого решения, я включил свою предысторию:
Мне удалось прекрасно выполнить эту команду PsExec с помощью задачи MsBuild, с помощью оболочки .Net и с использованием прямой командной строки, но TeamCity просто зависала при выполнении. Похоже, что Java ожидает некоторого ответа на стандартную версию in, когда она вызывает psexec exe. На удаленном сервере я бы увидел, как процесс psexecsvc запускается и регистрируется в консоли служб соответствующим образом, но затем он останавливается. После прочтения многих постов, таких как этот, и борьбы гораздо дольше, чем хотелось бы признать, в конце концов я попробовал опцию -i, несмотря на то, что это не нужно ни в каком другом сценарии выполнения, кроме TeamCity. В документации psexec указано, что -i будет запускать программу так, чтобы она взаимодействовала с рабочим столом указанного сеанса в удаленной системе. Если сеанс не указан, процесс запускается в сеансе консоли. " Мне до сих пор неясно, почему это так важно для TeamCity.