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-адрес или реальное имя машины устранило проблему.