本文可帮助你解决使用 Web 部署工具(Web 部署)作为非管理用户时发生的错误。
原始产品版本: Internet Information Services
原始 KB 数: 2023852
现象
执行需要管理权限的 Web 部署操作时,会收到以下错误消息:
将更改提交到 IIS 配置系统时出错
执行操作的标识为
<domain\username>
错误:Filename:\\?
C:\Windows\system32\inetsrv\config\applicationHost.config
错误:由于权限不足,无法写入配置文件
原因
Internet Information Services (IIS)需要管理权限才能对 ApplicationHost.config 文件进行配置更改。 执行操作的用户没有足够的权限访问 ApplicationHost.config 文件并执行更改。 此错误可能发生在托管方案中,执行命令的人员不是目标宿主计算机的管理员。
通过 Msdeploy.exe 运行 Web 部署操作时的解决方法
如果使用 Msdeploy.exe 从命令行运行 Web 部署操作,请验证执行该操作的帐户是否具有以下权限:
- 读取权限
%windir%\system32\inetsrv\config - 将权限修改为
%windir%\system32\inetsrv\config\applicationHost.config.
警告
向非管理员用户授予这些权限将允许用户访问任何 IIS 设置。 对于某些环境,这可能不安全。 Microsoft建议对非管理员方案使用 Web 部署处理程序 和委派。
通过 WMSVC 执行 Web 部署操作时的解决方法
如果通过 Web 管理服务(WMSVC)使用委派执行的 Web 部署操作,请验证委派规则中配置的帐户是否具有以下权限:
- 对
%windir%\system32\inetsrv\config. 的读取权限 - 将权限修改为
%windir%\system32\inetsrv\config\applicationHost.config.
注意
帐户的标识取决于配置 Delegation Rule 方式:
CurrentUser:用于在 IIS 中建立远程连接的用户帐户。ProcessIdentity:目标服务器上的 WMSVC 服务的已配置标识。SpecificUser:在委派规则的“指定凭据”对话框中定义的用户。