多个站点的Powershell预热脚本?

时间:2018-10-17 13:20:20

标签: powershell

我是Powershell的新手,正在尝试配置以下预热脚本以针对多个域运行:

$Site = "http://172.28.36.202:1156/"
$minTime = 250

@($Site) | % {
    Write-Host "Warming up $($_)"
    Do {
        $time = Measure-Command {
            $res = Invoke-WebRequest $_ -Headers @{host="mydomain.com"}
        }
        $ms = $time.TotalMilliSeconds
        If ($ms -ge $minTime) {
            Write-Host "$($res.StatusCode) from $($_) in $($ms)ms" -foreground "yellow"
        }
    } While ($ms -ge $minTime)
    Write-Host "$($res.StatusCode) from $($_) in $($ms)ms" -foreground "cyan"
}

让它按预期工作,但需要能够在多个URL处触发代码块。我有大约25台服务器需要预热。

关于最佳方法的任何提示吗?谢谢

1 个答案:

答案 0 :(得分:0)

创建一个文本文件,其中包含您需要的所有项目,并将其读入以根据需要进行处理。

$Site = Import-Csv -Path PathToCsvFileWithYourList

这样,您可以按原样保留脚本,而当您需要为更多或更少的服务器点执行此操作时,只需更改此文件即可。