gre*_*ian 6 powershell iis-8.5 azure-pipelines-release-task azure-devops-server-2019
要在 IIS 下创建一个目录并将 Web 应用程序添加到 IIS,我将此脚本放在 Azure DevOps 服务器部署组作业 Powershell 任务中:
New-Item -Path "C:\inetpub\wwwroot" -Name "MyNewApp" -ItemType "directory" `
C:\Windows\system32\inetsrv\appcmd.exe add app `
/site.name:"Default Web Site" `
/path:"/MyNewApp" `
/physicalPath:"C:\inetpub\wwwroot\MyNewApp"`
Run Code Online (Sandbox Code Playgroud)
当此任务运行时,它会抛出一个错误:(为清楚起见,删除了时间戳)
APP 对象“默认网站/MyNewApp”已更改
错误 ( hresult:80090016, 消息: 无法提交配置更改。
密钥集不存在)
在以我自己或服务帐户登录时从 Powershell 控制台执行上述代码后,将返回以下消息:
添加了 APP 对象“默认网站/MyNewApp”
添加了 VDIR 对象“默认网站/MyNewApp”
我可以在 IIS 管理器中确认目录和应用程序已创建。
我无法在控制台中重现该错误。只有当它作为 Release Agent 运行并通过 DevOps Server Web 界面启动时才会发生此错误。
我尝试了以下方法:
更新 1:
我确定“密钥集不存在”错误来自尝试使用 DefaultAppPool 应用程序池作为设置的一部分。此应用程序池未使用服务帐户设置,但仍设置为默认应用程序池标识。
但是,在进行此更改后,我遇到了一个新错误:
APP 对象“默认网站/MyNewApp”已更改
错误 ( hresult:80070057, 消息: 无法提交配置更改。
参数不正确。)
...
进程“appcmd.exe”退出,代码为“87”。
非常感谢任何指导。
更新2:
我在 Microsoft 社区中记录了一个当前正在查看的问题。你可以在这里看到它。
您还可以使用服务器管理器查看 .net 实现:
https://learn.microsoft.com/en-us/iis/manage/scripting/how-to-use-microsoftwebadministration
在 powershell 中使用它应该不难。
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |