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

批量检测多网站在线状态的PowerShell脚本修改求助

嘿,我帮你把这个单网站检测的脚本改成批量版本啦,新手也能轻松上手~下面是修改后的完整脚本,还加了实用的异常处理和友好的输出提示:

# 定义要检测的网站列表,你可以自由添加/修改这里的网址(支持8-10个甚至更多)
$websites = @(
    'http://google.com',
    'https://github.com',
    'https://stackoverflow.com',
    'http://example.com',
    'https://microsoft.com'
    # 继续添加你需要检测的网站即可
)

# 逐个遍历网站执行检测
foreach ($site in $websites) {
    Write-Host "`n正在检测: $site" -ForegroundColor Cyan
    $httpResponse = $null
    try {
        # 创建HTTP请求对象
        $httpRequest = [System.Net.WebRequest]::Create($site)
        # 设置请求超时时间(10秒,避免卡壳)
        $httpRequest.Timeout = 10000
        # 获取网站响应
        $httpResponse = $httpRequest.GetResponse()
        $statusCode = [int]$httpResponse.StatusCode

        # 根据状态码判断网站状态
        if ($statusCode -eq 200) {
            Write-Host "✅ 网站在线,状态码: $statusCode" -ForegroundColor Green
        } else {
            Write-Host "⚠️ 网站返回非200状态码: $statusCode" -ForegroundColor Yellow
        }
    } catch {
        # 捕获请求失败的异常(比如无法连接、超时、DNS解析失败等)
        Write-Host "❌ 网站无法访问,错误信息: $($_.Exception.Message)" -ForegroundColor Red
    } finally {
        # 确保无论成功失败都关闭响应,释放资源
        if ($httpResponse -ne $null) {
            $httpResponse.Close()
        }
    }
}

针对新手的关键说明:

  • 怎么添加网站:直接在$websites数组里换行添加网址就行,比如再加'https://xxx.com',8-10个完全没问题。
  • 为什么加try/catch:原来的脚本如果遇到网站打不开(比如断网、网站宕机)会直接报错终止,现在捕获异常后会继续检测其他网站,还会告诉你具体错误原因。
  • 超时设置:$httpRequest.Timeout = 10000是设置10秒超时,要是某个网站响应太慢,脚本不会一直等,会直接判定无法访问。
  • 彩色输出:用不同颜色区分状态,绿色是正常,黄色是非200状态,红色是访问失败,结果一眼就能看明白。

使用方法:把这段代码复制到记事本,保存为WebsiteChecker.ps1,然后右键选择“用PowerShell运行”就可以啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:45:28