【问题标题】:MSDeploy (run from bat) returns Access is deniedMSDeploy(从 bat 运行)返回访问被拒绝
【发布时间】:2014-09-05 18:11:51
【问题描述】:

我正在尝试从 .bat 文件调用 msdeploy,但我收到“拒绝访问”错误。我的用户帐户(据我所知)是管理员用户。这是代码行:

msdeploy.exe -verb:sync -enableRule:Donotdeleterule -source:package="C:\App\App.zip" -dest:auto -setParam:name="IIS Web Application Name",value="App"

我应该确认哪些设置应该具有管理员权限?

【问题讨论】:

  • 右键单击并以提升的权限运行批处理文件。看看行为是否改变。
  • 尝试禁用UAC,重启然后重试。
  • @AbdelhafidMadoui:禁用 UAC 始终是解决问题的错误解决方案。
  • @foxidrive 我从“以管理员身份运行”的命令行运行它。
  • 不清楚您是从提升的 cmd 提示符运行还是认为因为您是管理员而拥有完全权限。许多人错误地认为后者。

标签: batch-file msdeploy


【解决方案1】:

对此进行测试以查看是否有任何变化。它只是有一个转义的逗号。

一个

msdeploy.exe -verb:sync -enableRule:Donotdeleterule -source:package="C:\App\App.zip" -dest:auto -setParam:name="IIS Web Application Name"^,value="App"

您也可以尝试以下两种变体。

B

msdeploy.exe -verb:sync -source:package="C:\App\App.zip" -dest:auto -setParam:name="IIS Web Application Name",value="App" -enableRule:Donotdeleterule

C

msdeploy.exe -verb:sync -source:package="C:\App\App.zip" -dest:auto -setParam:name="IIS Web Application Name"^,value="App" -enableRule:Donotdeleterule

【讨论】:

  • 真诚感谢您的建议,但这些建议似乎不起作用。我的 .bat 文件似乎在另一台服务器上工作得很好。关于这台服务器,我看到的唯一不同之处是我曾经为 IIS 安装了应用程序请求路由插件。但我不知道这会如何影响它......我可以尝试删除它,因为我根本不使用它。
  • 看起来即使包含文件夹在路径环境变量中,它仍然找不到 msdeploy。我通过包含完整路径调用了 msdeploy,它可以工作。
猜你喜欢
  • 2017-08-09
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
  • 2021-09-04
  • 1970-01-01
  • 2023-03-21
  • 2018-07-22
  • 2017-09-15
相关资源
最近更新 更多