2012-04-28 54 views
2

我正在嘗試將一個站點綁定列表添加到applicationHost.config文件,而不是通過IIS 7.5手動添加每個站點綁定。在applicationHost.config中更新站點綁定

<site name="new_site" id="6"> 
    <application path="/" applicationPool="new_site"> 
     <virtualDirectory path="/" physicalPath="D:\HTTP\wwwroot\newsite" /> 
    </application> 
    <bindings> 
     <binding protocol="http" bindingInformation="*:80:example.com" /> 
     <binding protocol="http" bindingInformation="*:80:www.example.com" /> 
     <binding protocol="http" bindingInformation="*:80:example2.com" /> 
     <binding protocol="http" bindingInformation="*:80:www.example2.com" /> 
    </bindings> 
</site> 

這樣做的原因這是我2000和綁定的增加,這將是一個更容易做,如果我可以直接編輯配置文件。

編輯配置文件時,綁定不起作用或在IIS中顯示。

這實際上是可能的還是我錯過了什麼?

回答

0

你可以寫一個腳本這在PowerShell中的例子:

[Reflection.Assembly]::Load(
"Microsoft.Web.Administration, Version=7.0.0.0, 
Culture=Neutral, PublicKeyToken=31bf3856ad364e35") > $null 

$siteId = 6 
$serverManager = New-Object Microsoft.Web.Administration.ServerManager 
$site = $serverManager.Sites | where { $_.Id -eq $siteID } 

# Read your list of hostnames 

$reader = [System.IO.File]::OpenText("c:\\hostnames.txt") 
for(;;) 
{ 
    $domainName = $reader.ReadLine() 
    if($domainName -eq $null) { break } 
    $binding1 = "*:80:www." + $domainName 
    $binding2 = "*:80:" + $domainName 
    $site.Bindings.Add($binding1, "http") 
    $site.Bindings.Add($binding2, "http") 
} 
$serverManager.CommitChanges() 

文件c:\\hostnames.txt將包含所有域名的列表,例如:

 
domanname1.com 
domanname2.com 
domanname3.com 

如果您需要綁定到特定IP地址,請用IP地址替換*