小编Ful*_*yte的帖子

使用powershell遍历在IIS中配置的所有绑定

我正在寻找一种方法来完成我在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)

windows powershell iis-7

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

iis-7 ×1

powershell ×1

windows ×1