Я пытаюсь запустить следующую команду Web Deploy:
msdeploy.exe -verb:dump -source:dirPath="C:\Deploy",wmsvc=localhost,username=<user>,password=<pass>
Я пытался запустить это с двумя пользователями, Джоном и Мэри. Джон входит в группу администраторов на коробке, Мэри - нет; команда работает для Джона, но не работает с 401 для Мэри.
У меня есть следующие настройки:
- Мэри имеет полный доступ к C: \ Deploy через ACL (как и группа администраторов)
- И Джон, и Мэри получили доступ к C: \ Deploy dirPath в IIS с помощью функции делегирования (см. Ниже)
Моя запись управления.config:
<rule enabled="true" providers="dirPath" actions="*" path=".*" pathType="RegularExpression">
<runAs identityType="SpecificUser" userName="AnAdministrator" password="..." />
<permissions>
<user name="PC\John" isRole="false" accessType="Allow" />
<user name="PC\Mary" isRole="false" accessType="Allow" />
</permissions>
</rule>
Когда я добавляю Мэри в группу администраторов, команда работает. Но весь смысл делегирования заключается в том, чтобы иметь возможность запускать команды развертывания от имени не администратора. Я могу запускать другие команды (например, -verb: dump -source: appHostConfig = "Веб-сайт по умолчанию") для Мэри - это просто dirPath, который не работает.
WMSvc.log, похоже, не содержит ошибок для ошибочной команды - хотя я вижу успешные, все в порядке. Я вижу 401 для запроса HEAD в трассировке невыполненных запросов, но нет указаний на то, почему это происходит ...
Любые указатели приветствуются.