次のWeb配置コマンドを実行しようとしています。
msdeploy.exe -verb:dump -source:dirPath="C:\Deploy",wmsvc=localhost,username=<user>,password=<pass>
JohnとMaryの2人のユーザーでこれを実行しようとしました。ジョンはボックスの管理者グループのメンバーですが、メアリーはそうではありません。コマンドはJohnに対しては機能しますが、Maryに対しては401で失敗します。
私は次のように設定しています:
- Maryは、ACLを介してC:\ Deployに完全にアクセスできます(Administratorsグループも同様です)。
- JohnとMaryの両方が、委任機能を使用してIISのC:\ Deploy dirPathへのアクセスを許可されています(以下を参照)。
私のadministration.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>
MaryをAdministratorsグループに追加すると、コマンドが機能します。ただし、委任の全体的なポイントは、非管理者として展開コマンドを実行できるようにすることです。メアリーには他のコマンド(例:-verb:dump -source:appHostConfig = "Default Web Site")を正常に実行できます。機能していないのはdirPathだけです。
WMSvc.logには、失敗したコマンドのエラーが含まれていないようですが、成功したコマンドは問題なく表示されます。失敗したリクエストのトレースにHEADリクエストの401が表示されますが、なぜ発生しているのかはわかりません...
どんなポインタでもありがたいです。