Назад | Перейти на главную страницу

Общая конфигурация PowerShell DSC + IIS

Я пытаюсь настроить управление выпуском TFS для развертывания на сервере IIS, который настроен для общей конфигурации. Однако, когда развертывание действительно запускается, я получаю следующую ошибку:

##[debug]System.Exception: Filename: \\?\UNC\storage\webfarm\config\applicationHost.config
Error: Cannot write configuration file due to insufficient permissions
##[error]Filename: \\?\UNC\storage\webfarm\config\applicationHost.config
##[error]Error: Cannot write configuration file due to insufficient permissions

Пользователь, который используется для запуска сценария DSC, имеет права на изменение файла applicationhost.config. Это отвлекающая ошибка или мы что-то упускаем?

Обновить: Я протестировал это, переместив общую конфигурацию на общий ресурс сервера Windows, чтобы убедиться, что это не проблема SAN, однако вызвала другую ошибку:

Cannot commit configuration changes because the file has changed on disk

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

Единственный раз, когда я могу заставить его работать, - это сломать общую конфигурацию и вернуться к локальной. Это не идеально, потому что мы работаем в конфигурации фермы.

DSC работает в контексте локальной системы. Если вы хотите выполнить определенную задачу в контексте пользователя, используйте RunAs. Этот блог объясняет то же самое. http://nanalakshmanan.com/blog/Understanding-RunAs/