Вместо использования:
$AppPool | Set-ItemProperty -Name "managedPipelineMode" `
-Value [Microsoft.Web.Administration.ManagedPipelineMode]::Integrated
использование:
$AppPool | Set-ItemProperty -Name "managedPipelineMode" `
-Value ([Microsoft.Web.Administration.ManagedPipelineMode]::Integrated)
или еще более краткий:
$AppPool | Set-ItemProperty -Name "managedPipelineMode" -Value Integrated
Почему? Причина, по которой вам нужны скобки в первом ответе, заключается в том, что механизм связывания обрабатывает весь [Microsoft.Web.Administration.ManagedPipelineMode]::Integrated
в вашей попытке как строку, которая не может быть приведена к этому перечисляемому типу. Тем не менее, Integrated
может быть к этому перечислению. Заключив его в квадратные скобки, он снова оценивается как выражение и обрабатывается как литерал полного типа.