gpt4 book ai didi

windows - Powershell 更新 IIS 绑定(bind)

转载 作者:可可西里 更新时间:2023-11-01 12:22:11 25 4
gpt4 key购买 nike

我正在尝试更新特定站点上的 http 绑定(bind),我可以这样做:

Set-ItemProperty "IIS:\Sites\SiteName" -Name bindings -Value @{protocol="http";bindingInformation=*:80:hostname.site.net}

我遇到的问题是此命令完全替换了绑定(bind)信息,因此如果存在 https 绑定(bind),则会使用 Set-ItemProperty 将其删除。

有没有人知道一种只更新特定绑定(bind)(如 HTTP)而无需删除其他绑定(bind)或重新创建整个绑定(bind)字符串的方法?

最佳答案

在一个网站的绑定(bind)集合中更新一个绑定(bind)的步骤,过程实际上是获取网站的绑定(bind)集合,修改具体的绑定(bind),然后重新设置整个集合。

Function ReplaceWebsiteBinding {

Param(
[string] $sitename,
[string] $oldBinding,
[string] $newValue
);
import-module webadministration;
$wsbindings = (Get-ItemProperty -Path "IIS:\Sites\$sitename" -Name Bindings)
for($i=0;$i -lt ($wsbindings.Collection).length;$i++){
if((($wsbindings.Collection[$i]).bindingInformation).Contains($oldBinding)){
($wsbindings.Collection[$i]).bindingInformation = $newValue;
}
}
Set-ItemProperty -Path "IIS:\Sites\$sitename" -Name Bindings -Value $wsbindings
}

ReplaceWebsiteBinding "Default Web Site" "*:80:" "192.168.1.101:80:SomeHostHeader.domain";

[注意:已编辑 20131016:清理答案以便于查看][注意:编辑 20160817:更正了参数变量类型定义]

关于windows - Powershell 更新 IIS 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6383548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com