我在试着做这个:
$appcmd = "C:\windows\system32\inetsrv\appcmd.exe"
$env = "dev1"
$IP = "10.10.10.10"
& $appCMD set config -section:system.applicationHost/sites /+"[name='customapp1$env'].bindings.[protocol='http',bindingInformation='$IP:80:customapp1$env.domain.com']" /commit:apphost这里的问题是appcmd命令中的$IP变量。它确实修改了绑定属性,但是当我在IIS管理器中查看它时,它会说“绑定信息不正确”,并且只显示HTTP和所有其他字段空白。
如果我实际键入IP地址如下:
& $appCMD set config -section:system.applicationHost/sites /+"[name='customapp1$env'].bindings.[protocol='http',bindingInformation='10.10.10.10:80:customapp1$env.domain.com']" /commit:apphost它运行得很好(包括其他"$env“变量)。如何才能使这个$IP变量正确通过?
我真的很感激!
发布于 2015-09-18 17:46:03
使用${IP}精确地指定变量名。实际上,:被认为是变量名的一部分,它将作用域或powershell驱动器与变量名分隔开来。所以Powershell将变量解释为$ip:80,其作用域或驱动器为ip,名称为80。由于ip不解析到作用域或驱动器,因此值将为null。
https://stackoverflow.com/questions/32657926
复制相似问题