2013-02-14 5 views
6

Я создаю веб-сайт IIS с помощью командлета PowerShell New-WebSite и в нем веб-приложение с использованием New-WebApplication.Создание веб-приложения IIS7 с использованием PowerShell с требованием SSL для «Требовать»

Параметры SSL для веб-приложения должны быть установлены в Требовать SSL; Требовать, как показано ниже.

IIS SSL Settings

Для согласованности, я хотел бы сделать это, используя только командлеты PowerShell.

Требовать SSL настройка проста; вы просто добавляете параметр -Ssl в New-Website.

Однако, единственный способ, которым мы нашли, чтобы установить опцию Требовать использует Appcmd.exe:

& $env:SystemRoot\System32\inetsrv\Appcmd.exe ` 
    set config "$WebSiteName/$VirtualDirName" ` 
    /section:access ` 
    /sslFlags:"SslRequireCert" ` 
    /commit:APPHOST 

Есть ли альтернатива PowerShell для этого?

ответ

2

Решение найдено, используя Set-WebConfiguration:

Set-WebConfiguration -Location "$WebSiteName/$WebApplicationName" ` 
    -Filter 'system.webserver/security/access' ` 
    -Value "SslRequireCert" 
+1

Кто-нибудь когда-либо получал эту ошибку при выполнении указанной выше команды: Конфигурация, определенная для объекта по пути IIS: \ SslBindings. –

4

мне пришлось добавить SSL до значения:

Set-WebConfiguration -Расположение "$ WebSiteName/$ WebApplicationName" -Filter 'system.webserver/security/access' -Value "Ssl, SslRequireCert"

+0

Другие варианты ничего не сделали (включая флаг -Ssl для нового веб-сайта) - это сработало отлично (IIS 7.5, Windows Server 2008R2). – geographika

1

Я использовал этот метод:

Set-WebConfigurationProperty -PSPath "machine/webroot/apphost" ` 
    -location "$mySiteName" -filter "system.webserver/security/access" ` 
    -name "sslflags" -value "Ssl,SslNegotiateCert,SslRequireCert" 
1

Если вы получите сообщение об ошибке «Там нет конфигурации определяется для объекта на пути IIS: \ SSLBindings» необходимо установить параметр PsPath

-PSPath IIS : \ Sites