Exec Task в MSBuild для выполнения команды на удаленном компьютере

Я использую следующую команду для установки службы через файл MSBuild. Это отлично работает

 <Exec Command= 'c:\test\myService.Appservices.exe install' ContinueOnError='false' />

Но приведенная выше команда устанавливает службу на локальном компьютере. Я хочу установить службу на удаленном компьютере. Как я могу указать имя машины с помощью этой команды?


person SharpCoder    schedule 27.05.2013    source источник
comment
На самом деле это не вопрос о msbuild. AFAIK msbuild не имеет встроенной поддержки для удаленной установки машины, он может просто выполнять команды. Когда вы знаете, какую команду выполнять, msbuild может взять на себя управление оттуда. Что-то вроде stackoverflow.com/questions/995050/ может указать вам правильное направление. В качестве альтернативы отредактируйте свои теги, включив такие вещи, как «удаленный доступ», чтобы получить более широкий охват.   -  person Mike Vine    schedule 28.05.2013


Ответы (1)


Согласно комментарию Майка Вайна, MSBuild не включает инструменты для удаленного выполнения. Однако вы можете использовать что-то вроде psexec. например

<Exec Command='psexec -accepteula -s \\RemoteServer "C:\Path To EXE on Remote Machine\my.EXE"' IgnoreExitCode="false" ContinueOnError="false" Timeout="600000" >
    <Output TaskParameter="ExitCode" PropertyName="exitCode1"/>
</Exec>
person James Reed    schedule 28.05.2013
comment
Почему вы используете параметр -s? Нам стоил час: p - person D.R.; 10.07.2013
comment
Еще совет: не помещайте аргументы приложения в двойные кавычки пути. - person D.R.; 10.07.2013
comment
-s запускает psexec как систему на удаленном компьютере, без этого флага он запускается как учетная запись, под которой msbuild разрушает - person James Reed; 11.07.2013