WMSVC работает, Web Deploy Agent выбрасывает 401 - PullRequest
3 голосов
/ 02 марта 2011

Я пытаюсь заставить работать msdeploy из командной строки и могу успешно провести тестирование непосредственно на WMSVC (используя HTTPS, порт 8172) как с локальной учетной записью администратора, так и с использованием учетной записи пользователя IIS Manager. Вот командная строка:

> msdeploy -verb:dump -source:appHostConfig=MyWebsite,wmsvc=myserver,username=iisuser,password=password -allowuntrusted

Итак, wmsvc = указывает msdeploy использовать https://myserver:8172/msdeploy.axd. Однако, поскольку целевой брандмауэр хоста не разрешает порт 8172, я действительно хотел бы использовать службу агента веб-развертывания через порт 80. Но при изменении wmsvc на computerName он отвечает 401:

> msdeploy -verb:dump -source:appHostConfig=MyWebsite,computername=myserver,username=myserver\localadmin,password=password

где computername = указывает msdeploy использовать http://myserver/MSDEPLOYAGENTSERVICE. В браузере этот URL запрашивает имя пользователя / пароль и возвращает пустую страницу (если она аутентифицирована), поэтому он, кажется, прослушивает и аутентифицируется правильно. Также я добавил полные права в корень сайта для NETWORK SERVICE.

Какая разница в использовании службы агента веб-развертывания по сравнению со стандартным WMSVC? Заранее спасибо!

1 Ответ

2 голосов
/ 06 июля 2011

Насколько я обнаружил, различия следующие:

  • WMSVC тесно связан с IIS, тогда как удаленный агент, по-видимому, не является

  • Пользователи WMSVC могут быть пользователями Windows или IIS, и вы можете делегировать разрешения с помощью диспетчера IIS, чтобы они могли запускать некоторые задачи под другими учетными записями безопасности и т. Д. Вы также можете управлять путями, в которых им разрешено выполнять какие-либо действия. .

  • Пользователи удаленных агентов могут выполнять задачи только в контексте своей учетной записи на компьютере: вы управляете тем, что они могут делать напрямую через механизм безопасности Windows.

...