8

Я пытаюсь сделать простой скрипт, чтобы мой сайт мог быть доступен как www.example.com и просто example.com . Как мне передать это как обязательный аргумент?

Вот что я пытаюсь:

$iisApp = New-Item $iisAppName -bindings @{protocol="http";bindingInformation="*:80:"+ $url + ",*:80:www." + $url} -physicalPath $directoryPath
$iisApp | Set-ItemProperty -Name "applicationPool" -Value $iisAppPoolName

3 ответа3

7

Параметры bindingInformation ожидают Массив записей (каждый из которых является самим массивом , обратите внимание на @), а не список, разделенный запятыми.

Пример - сначала определите правильный массив записей, а затем назначьте его в качестве аргумента bindingInformation:

$bindings = @(
   @{protocol="http";bindingInformation="*:80:" + $url},
   @{protocol="http";bindingInformation="*:80:www." + $url},
)

$iisApp = New-Item $iisAppName -bindings $bindings -physicalPath $directoryPath
$iisApp | Set-ItemProperty -Name "applicationPool" -Value $iisAppPoolName

Кроме того, после создания сайта вы можете добавить дополнительные привязки с помощью команды New-WebBinding . например:

New-WebBinding -Name $iisAppName -IPAddress "*" -Port 80 -HostHeader "www.$url"
0

Использование командлета New-WebBinding добавляет новую привязку к существующему веб-сайту

New-WebBinding -Name $ web -IPAddress "*" -Порт 80 -Протокол http -HostHeader $ Сайт -sslflags

http://dotnet-helpers.com/powershell/add-binding-to-iis-powershell

0

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

$hostname =$env:COMPUTERNAME
$fqdn = $env:USERDNSDOMAIN
$Bindings = Get-WebBinding |Select -expandproperty bindinginformation
$websites = Get-Website
foreach ($website in $websites)
    {
    $siteName=$website.name
         foreach ($Binding in $Bindings)
                {
                $oldheader =($Binding -split ":")[-1]
                    if ($oldheader -eq "")
                        {
                         Set-WebBinding -Name $sitename -BindingInformation $Binding -PropertyName "HostHeader" -Value "$hostname.$fqdn" 
                        }
                }
     }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .