Для выполнения любых административных операций в IIS, таких как переработка пулов приложений, запуск и остановка сайтов, создание веб-сайтов и т. Д., Вам нужно работать от имени администратора.
Если вы хотите программно имитировать пользователя, вам нужно использовать метод WindowsIdentity.Impersonate
.
Там есть достаточно хороший фрагмент примера кода, чтобы вы могли начать.
Конечно, все обычные предостережения применяются здесь, когда речь идет о хранении учетных данных для пользователей с высоким уровнем привилегий в файле web.config
(или жестко заданном коде).
Также, если вы пытаетесь отлаживать код, который осуществляет программный доступ к IIS с помощью управляемого ServerManager
API, убедитесь, что вы запустили Visual Studio, выполнив «Запуск от имени администратора». Это необходимо сделать, даже если ваша собственная учетная запись Windows является членом группы «Администраторы».