MSDeploy запускает 401 Ошибка доступа запрещена при попытке синхронизации сайта

Я пытаюсь нажать / синхронизировать сайт IIS с сервера Win2003 на другой.

Это моя команда:

msdeploy -verb:sync -source:metakey=lm/w3svc/68512112 -dest:metakey=lm/w3svc/68512112, имя_компьютера =backup-09, имя пользователя = администратор, пароль = ПАРОЛЬ -whatif > msdeploysync.log

Я также попробовал следующее

msdeploy -verb:sync -source:metakey=lm/w3svc/68512112 -dest:metakey=lm/w3svc/68512112, имя_компьютера =backup-09, имя пользователя =BACKUP-09\ Администратор, пароль =PASSWORD -whatif > msdeploysync.log

Я тоже пробовал

msdeploy -verb:sync -source:metakey=lm/w3svc/68512112 -dest:metakey=lm/w3svc/68512112, имя_компьютера =backup-09, имя пользователя = Администратор @BACKUP-09, пароль =PASSWORD -whatif > msdeploysync.log

Это ошибка:

Неустранимый: запрос к удаленному агенту URL ' http://backup-09/MSDEPLOYAGENTSERVICE' не выполнен.

Неустранимый: удаленный сервер возвратил ошибку: (401) не авторизован. Фатальный счет: 1

  • Я запустил msdeploy / cmd от имени администратора.
  • Я попытался получить доступ к http://backup-09/MSDEPLOYAGENTSERVICE, он запросил мои разрешения, я ввел учетные данные выше, он работал (отображается пустой сайт).
  • Это бета 2 MSDeploy

Может кто-нибудь мне помочь?

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

6 ответов

Обратите внимание, что в Web Deploy 2.0 есть ошибка (даже обновление), которая не позволяет пользователям в группе администраторов проходить аутентификацию. Только администраторы домена и сама учетная запись администратора могут проходить проверку подлинности для веб-развертывания. См. Код ошибки ERROR_USER_NOT_ADMIN на следующей странице: http://learn.iis.net/page.aspx/1023/web-deploy-error-codes/

Msdeploy использует NTLM-аутентификацию по умолчанию, даже если присутствуют имя пользователя и пароль. Чтобы включить корректную обработку "userName" и "password", добавьте следующее к соответствующему источнику: или dest: parameters: ",authType=basic"

Я получил эту ошибку, потому что UAC был включен (Windows Server 2008).

Необходимо отключить UAC для удаленных подключений:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy=1

Этот ключ помог мне на другом сервере (Windows Server 2012):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server\WindowsAuthenticationEnabled=1

Michael12345 предложил это здесь: /questions/7464032/kak-vyipolnit-razvertyivanie-s-ispolzovaniem-msdeploy-i-teamcity-so-vstroennoj-autentifikatsiej-windows/7464040#7464040

У меня не было такого типа ошибки раньше, но в Visual Studio 2015 Update 3 при создании нового приложения ASP.NET Core профиль публикации по умолчанию не работает.

Я нашел решение. Для меня добавление

<AuthType>NTLM</AuthType>

линия в .pubxml файл исправил проблему.

Это действительно старый вопрос, но я, возможно, нашел ответ.

Я получаю сообщение об ошибке 401 Unauthorized, но все еще не могу войти в систему, используя учетную запись, указанную в вызове MSDeploy, как описано в вопросе.

В моем случае проблема была решена путем предоставления прав администратора учетной записи развертывания на развертываемой машине.

(Я вижу, что вы использовали учетную запись с именем Администратор, так что это может быть не так, но у меня были те же симптомы, поэтому я все равно хотел опубликовать).

Я только что испытал 401 и ERROR_USER_NOT_ADMIN. В моем случае проблема заключалась в том, что я использовал имя хоста, заданное в моем файле hosts (также в файле hosts на конечном компьютере) для computerName установка на -dest: параметр. NTLM пытался обработать это имя хоста как доменную часть имени пользователя (например, hostname\userName). Изменение этого значения на IP-адрес или реальное имя машины устранило проблему.

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