我正在寻找一种方法来完成我在IIS中配置的所有绑定设置.
我使用它来处理Powershell中的IIS:
Import-Module WebAdministration
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够获得我想要的主要信息:
$Websites = Get-ChildItem IIS:\Sites
Run Code Online (Sandbox Code Playgroud)
我的数组$网站已正确填写并使用以下命令...
$Websites[2]
Run Code Online (Sandbox Code Playgroud)
..我收到这个结果:
Name ID State Physical Path Bindings
---- -- ----- ------------- --------------
WebPage3 5 D:\Web\Page3 http *:80:WebPage3
https *:443:WebPage3
Run Code Online (Sandbox Code Playgroud)
现在这是我遇到困难的部分:
我想检查绑定是否正确.为了做到这一点,我只需要绑定.我试过了:
foreach ($site in $Websites)
{
$site = $Websites[0]
$site | select-string "http"
}
Run Code Online (Sandbox Code Playgroud)
调试该代码向我显示$ Site不包含我的预期:"Microsoft.IIs.PowerShell.Framework.ConfigurationElement".我目前不知道如何显式获取绑定信息,以达到类似这样的东西(在foreach循环内):
if ($site.name -eq "WebPage3" -and $site.Port -eq "80") {
#website is ok
}
else {
#remove all current binding
#add correct binding
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
解:
Import-Module WebAdministration
$Websites = …Run Code Online (Sandbox Code Playgroud)