Créer un site Web dans IIS à partir de PowerShell avec plusieurs liaisons

8

J'essaie de créer un script simple pour que mon site soit accessible aussi www.example.comsimplement que possible example.com. Comment le passer comme argument contraignant?

Voici ce que j'essaye:

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

Réponses:

7

Les options bindingInformation attendent un tableau d'entrées (qui sont chacune des tableaux eux-mêmes, notez le @), pas une liste séparée par des virgules.

Exemple - Définissez d'abord un tableau d'entrées approprié, puis affectez-le comme argument 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

Alternativement, après avoir créé le site, vous pouvez ajouter des liaisons supplémentaires à l'aide de la commande New-WebBinding . par exemple:

New-WebBinding -Name $iisAppName -IPAddress "*" -Port 80 -HostHeader "www.$url"
Ƭᴇcʜιᴇ007
la source
0

Je l'utilise pour mettre à jour les liaisons, cela pourrait aider quelqu'un, car je devais le comprendre moi-même.

$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" 
                        }
                }
     }
DaveH
la source