Развертывание веб-пакетов с помощью MSDEPLOY

Я собрал свои пакеты и прочитал эти документы @ http://www.asp.net/web-forms/overview/deployment/web-deployment-in-the-enterprise/deploying-web-packages

И кажется, что отсюда проблема должна быть относительно простой, как ясно показывают инструкции...

[project name].deploy.cmd [/T | /Y]
                          [/M:<computer name>]
                          [/A:<Basic | NTLM>]
                          [/U:<user name>]
                          [/P:<password>]
                          [/L]
                          [/G:<true | false>]
                          [Additional MSDeploy.exe flags]

.. так что нет проблем, я думал, что я дам параметры команды, как это...

myproj.deploy.cmd /Y /M:test.foo.com /A:basic /U:<my user> /P:<my pass>

... где пользователь и пароль являются учетной записью администратора на моем сервере.

По какой-то причине, хотя это приводит к 401...

Error code: EEROR_USER_NOT_ADMIN
More Information: Connected to 'server' using the Web Deployment Agent Service but could not authorize. Make sure you are an administrator on 'server'

... ну, я использовал свои учетные данные администратора, те же, которые я использовал с VS для развертывания одним щелчком, и они работали в VS, так почему же они не работают в командной строке при отправке пакета?

...

РЕДАКТИРОВАТЬ:

Я просмотрел журналы, проверил команду ms deploy, которую она генерировала, и решил вообще пропустить cmd-файл и перейти непосредственно к ms deploy самостоятельно.

Я нашел команду, которую она генерировала, и очистил ее до чего-то вроде этого...

msdeploy.exe
  -source:package='..\package.zip' 
  -dest:auto,computerName=test.foo.com,userName=<me>,password=<my pass>,authtype=basic,includeAcls=False 
  -verb:sync 
  -disableLink:AppPoolExtension 
  -disableLink:ContentExtension 
  -disableLink:CertificateExtension 

Видимо, моя учетная запись при использовании в этом контексте не является администратором (полная ложь или, возможно, я что-то пропустил).

Вот что говорит Technet об этом: https://technet.microsoft.com/en-gb/library/dd569106(v=ws.10).aspx

какие ссылки на это: https://technet.microsoft.com/en-gb/library/dd569001(v=ws.10).aspx

в котором говорится...

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

это означает, что я указываю доменное имя, а не имя компьютера, а учетные данные, которые я указываю, были проигнорированы?

Если так... как мне это сделать?

2 ответа

Решение

Все равно недокументировано... ответ...

Вы не можете запускать команды MS deploy, которые общаются со службой MSDeploy на одном компьютере.

Понятия не имею, почему, это не имеет смысла, но, взяв ту же команду и выполнив ее на другом компьютере, кажется, работает нормально даже при развертывании на том же компьютере, на котором у меня была проблема.

Отлично сделано, Microsoft ... способ сделать жизнь администраторам Team Services мечтой!

Если вы хотите использовать учетную запись домена, вы должны установить для authType значение "NTLM".

Другие вопросы по тегам