使用appcmd将站点和绑定(带有主机名,端口和IP地址)添加到IIS

时间:2016-01-29 18:54:16

标签: iis cmd appcmd

我正在尝试使用appcmd.exe将网站添加到IIS。

除了一个小虫子外,几乎所有东西都在工作。

我正在使用的代码行是

add site /name:WEBSITENAME /bindings:https://HOSTNAME:10.100.213.121:443 /physicalpath:C:\inetpub\WEBSITENAME

当我这样做并查看IIS上的绑定时,除了我的IP地址显示为“*:10.100.213.121”(不包括引号)外,其他一切都正确无误

它正在某处将*:添加到它的开头。

这是在创建无效的绑定。

我想将此仅保留一个命令

我知道我可以使用第二个命令来编辑网站绑定,但是如果我可以保留这个网站的所有创建理想

3 个答案:

答案 0 :(得分:2)

或许您的绑定参数的语法问题需要注意哪个也表明问题的答案:

根据reference documentation bindings参数可以采用以下格式传递:

/bindings:http/*:85: -- note single slash after protocol

您的示例表明使用了以下格式。

/bindings:http//*:85: -- note the extra forward slash after the protocol.

因此:

选项1

将任务作为单个命令执行:

 appcmd add site /name:WEBSITENAME /physicalpath:C:\inetpub\WEBSITENAME /bindings:https/10.100.213.121:443:

选项2

将任务作为两阶段提交执行。

  1. 创建网站(您已有的变体减去绑定信息)

  2. 应用所需的绑定配置更改。

  3. 此示例中两阶段提交的原因是由于第二个命令要求在应用配置更改之前存在站点。

    注意:这两个命令在命令行中用& 分隔,因此它们可以作为一行运行。

    appcmd add site /name:WEBSITENAME /physicalpath:C:\inetpub\WEBSITENAME & appcmd.exe set config  -section:system.applicationHost/sites /+"[name='WEBSITENAME'].bindings.[protocol='https',bindingInformation='10.100.213.121:443:']" /commit:apphost
    

    Additional Documentation

答案 1 :(得分:0)

我现在测试它如下,它起作用了。

appcmd add site /name:test.com /physicalPath:C:\inetpub\wwwroot\test.com /bindings:http/192.168.0.1:80:test.com

我希望这会对你有所帮助。

答案 2 :(得分:0)

请参阅下文,我如何使用SSL端口443

appcmd设置站点/site.name: NAME_SITE_IIS / +绑定。[protocol ='https',bindingInformation ='*: 443:yourdomain.com.br ” ]

粗体中的位置,更改信息