Как я могу скопировать файлы как другой пользователь из msbuild? - PullRequest
4 голосов
/ 21 июля 2009

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

Ответы [ 2 ]

11 голосов
/ 27 октября 2010

Лучше всего создать быстрое расширение задачи CallTarget, которое использует Имитатор от Уве Кейм , например:

public class Impersonate : CallTarget
{
    public string Domain { get; set; }

    [Required]
    public string UserName { get; set; }

    [Required]
    public string Password { get; set; }

    public override bool Execute()
    {
        using (new Impersonator(this.UserName, this.Domain, this.Password))
        {
            return base.Execute();
        }
    }
}

Тогда звонок будет выглядеть так:

<Target Name="DoSms">
    <....>
</Target>

<Target Name="Impersonate">
    <Impersonate Targets="DoSms" UserName="username" Password="password" Domain="domain"/>
</Target>
5 голосов
/ 21 июля 2009

Попробуйте выполнить задачу Exec, чтобы запустить RunAs.exe, который запустит xcopy.exe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...