要在 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 …
powershell iis-8.5 azure-pipelines-release-task azure-devops-server-2019