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

如何通过PowerShell脚本批量获取多台远程IIS服务器的站点与绑定信息?

解决多台IIS服务器站点绑定信息批量获取问题

你的问题很典型——你只是循环了服务器名称,但核心的Get-Website命令依然在本地执行,根本没跑到远程服务器上,所以CSV里全是本地数据。要实现跨服务器批量采集,得用PowerShell的远程执行能力,也就是Invoke-Command。

完整修正脚本

# 读取服务器列表
$servers = Get-Content "C:\path\to\your\results.txt"

# 初始化结果数组
$allResults = @()

# 遍历每台服务器,远程执行采集逻辑
foreach ($vm in $servers) {
    Write-Host "正在采集服务器 $vm 的数据..."
    try {
        # 远程执行IIS站点采集脚本
        $serverResults = Invoke-Command -ComputerName $vm -ScriptBlock {
            # 在远程服务器上执行获取站点信息的逻辑
            foreach ($Site in Get-Website) {
                foreach ($Bind in $Site.Bindings.Collection) {
                    [pscustomobject]@{
                        ServerName   = $env:COMPUTERNAME  # 直接取远程服务器的计算机名,更准确
                        SiteName     = $Site.Name
                        Protocol     = $Bind.Protocol
                        BindingInfo  = $Bind.BindingInformation
                        PhysicalPath = $Site.PhysicalPath
                    }
                }
            }
        } -ErrorAction Stop
        
        # 将当前服务器的结果加入总数组
        $allResults += $serverResults
    }
    catch {
        Write-Warning "服务器 $vm 采集失败:$($_.Exception.Message)"
    }
}

# 将所有结果导出到CSV
$allResults | Export-Csv -Path "C:\results\all_iis_sites.csv" -NoTypeInformation -Encoding UTF8
Write-Host "采集完成,结果已导出到指定路径"

关键说明

  1. 远程执行核心:Invoke-Command会把-ScriptBlock里的代码发送到目标服务器上运行,这样Get-Website才是真正在远程IIS服务器上执行,拿到的是目标服务器的站点数据。
  2. 服务器名称准确性:用$env:COMPUTERNAME直接获取远程服务器的计算机名,比传递本地变量$vm更可靠,避免变量作用域问题。
  3. 错误处理:加入try/catch块可以捕获连接失败或权限问题,避免脚本中途崩溃,还能给出明确的错误提示。
  4. 编码问题:导出CSV时指定-Encoding UTF8,避免中文乱码(如果你的站点名称或路径有中文的话)。

前置准备

确保所有目标服务器开启了PowerShell远程(WinRM):

  • 如果没开启,你可以远程执行开启命令:
    Invoke-Command -ComputerName $vm -ScriptBlock { Enable-PSRemoting -Force } -Credential (Get-Credential)
    
  • 因为你有域管理员权限,默认Kerberos认证会自动生效,不需要额外输入凭证(除非服务器有特殊配置)。
  • 运行脚本的PowerShell窗口需要以管理员身份打开,否则可能无法建立远程连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:09:39