You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell获取IIS站点绑定遇问题,求解决方法

解决IIS站点绑定信息的展开与导出问题

当你执行Get-ChildItem -Path IIS:\Sites | Select-Object Name, State, Bindings时,Bindings返回的是数组对象,直接输出或导出会看不到实际的绑定地址、端口等信息,这里提供两种实用的处理方式:

方法1:将绑定信息合并为字符串(适合单条记录展示站点所有绑定)

用Select-Object的计算属性遍历Bindings数组,把每个绑定的关键信息拼接成可读字符串:

Get-ChildItem -Path IIS:\Sites | 
    Select-Object Name, State,
        @{Name='Bindings'; Expression={
            # 遍历每个绑定,拼接协议+绑定信息,用分号分隔多个绑定
            $_.Bindings | ForEach-Object { "$($_.Protocol) : $($_.BindingInformation)" } -join ';'
        }} |
    # 导出到CSV文件,可根据需求改成其他格式(如Export-Clixml)
    Export-Csv -Path 'IIS_Sites_Summary.csv' -NoTypeInformation -Encoding UTF8

方法2:拆分每个绑定为单独记录(适合明细化查看)

如果需要每个绑定单独一条记录,就用PSCustomObject构造自定义对象,把站点信息和绑定信息一一对应:

Get-ChildItem -Path IIS:\Sites | ForEach-Object {
    $siteName = $_.Name
    $siteState = $_.State
    # 遍历当前站点的所有绑定,生成独立记录
    $_.Bindings | ForEach-Object {
        [PSCustomObject]@{
            SiteName = $siteName
            SiteState = $siteState
            Protocol = $_.Protocol
            BindingInfo = $_.BindingInformation
        }
    }
} | Export-Csv -Path 'IIS_Site_Bindings_Detail.csv' -NoTypeInformation -Encoding UTF8

是否需要PSCustomObject?

  • 如果只是要把站点的所有绑定合并成可读字符串展示/导出,用方法1的计算属性就足够,无需PSCustomObject;
  • 如果需要结构化拆分每个绑定到单独行,或者要自定义更多字段(比如添加绑定的其他属性),PSCustomObject会更灵活,能完全控制输出的结构。

内容的提问来源于stack exchange,提问作者uncrayon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:54:26