Конфигурация агента разблокировки, необходимая для задачи добавления веб-приложения

Чтобы создать каталог в IIS и добавить веб-приложение, я включил этот сценарий в задачу Powershell группы развертывания Azure DevOps Server:

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"`

Когда эта задача запускается, она выдает ошибку: (метки времени удалены для ясности)

Объект APP "Веб-сайт по умолчанию /MyNewApp" изменен

ОШИБКА ( hresult:80090016, сообщение: не удалось зафиксировать изменения конфигурации.

Keyset не существует)

После выполнения приведенного выше кода из консоли Powershell при входе в систему как себя или учетной записи службы возвращаются следующие сообщения:

Добавлен объект APP "Веб-сайт по умолчанию /MyNewApp"

Добавлен объект VDIR "Веб-сайт по умолчанию /MyNewApp"

Я могу подтвердить в IIS Manager, что каталог и приложение были созданы.

Я не могу воспроизвести ошибку в консоли. Эта ошибка возникает только в том случае, если она работает в качестве агента выпуска и инициируется через веб-интерфейс сервера DevOps.

Я пробовал следующее:

Обновление 1:

Я обнаружил, что ошибка "Keyset not Существует" возникла при попытке использовать пул приложений DefaultAppPool как часть установки. Этот пул приложений не был настроен с учетной записью службы, но все еще был настроен с идентификатором пула приложений по умолчанию.

Однако после внесения этого изменения у меня появляется новая ошибка:

Объект APP "Веб-сайт по умолчанию /MyNewApp" изменен

ОШИБКА ( hresult:80070057, сообщение: не удалось зафиксировать изменения конфигурации.

Неверный параметр.)

...

Процесс 'appcmd.exe' завершен с кодом '87'.

Любое руководство с благодарностью.

Обновление 2:

Я зарегистрировал проблему с сообществом Microsoft, которая в настоящее время рассматривается. Вы можете увидеть это здесь.

0 ответов

Вы также можете посмотреть на реализацию.net с помощью servermanager:

https://docs.microsoft.com/en-us/iis/manage/scripting/how-to-use-microsoftwebadministration

https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.administration.servermanager?view=iis-dotnet

Не должно быть очень сложно использовать это в PowerShell.

Другие вопросы по тегам