2

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 に表示されません。

これは実際に可能ですか、それとも何か不足していますか?

4

3 に答える 3

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 アドレスに置き換え*ます。

于 2012-05-03T03:20:58.960 に答える
0

64 ビット マシンで 32 ビット エディタを使用していますか? その場合、Windows は編集内容を C:\Windows\SysWOW64\inetsrv\Config\applicationHost.config に保存しています。

https://serverfault.com/questions/315904/cannot-open-iis-7-applicationhost-config-in-64-bit-windows-with-32-bit-text-editを参照してください

于 2014-02-08T00:00:09.150 に答える
0

アセンブリを使用Microsoft.Web.Administrationし、その API を介してサイトを作成する必要があります。サイト作成例はこちら

http://learn.iis.net/page.aspx/226/microsoftwebadministration/

于 2012-04-28T17:47:12.463 に答える