How to check status of list of Websites / URLs? (Using Power-Shell script)

帅比萌擦擦* 提交于 2020-03-05 06:05:19

问题


I want to take the http status of multiple URL at once to prepare a report. How to acheive it using powershell?


回答1:


I have seen questions on monitoring multiple websites through windows machine. My friend wanted to check status of 200 URLs which he used to do manually. I wrote a Power-Shell script to overcome this. Posting it for the benefit of all users.

Save the below code as "AnyName.ps1" file in "D:\MonitorWeb\"

#Place URL list file in the below path
$URLListFile = "D:\MonitorWeb\URLList.txt"
$URLList = Get-Content $URLListFile -ErrorAction SilentlyContinue

#For every URL in the list
Foreach($Uri in $URLList) {
    try{
        #For proxy systems
        [System.Net.WebRequest]::DefaultWebProxy = [System.Net.WebRequest]::GetSystemWebProxy()
        [System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

        #Web request
        $req = [system.Net.WebRequest]::Create($uri)
        $res = $req.GetResponse()
    }catch {
        #Err handling
        $res = $_.Exception.Response
    }
    $req = $null

    #Getting HTTP status code
    $int = [int]$res.StatusCode

    #Writing on the screen
    Write-Host "$int - $uri"

    #Disposing response if available
    if($res){
        $res.Dispose()
    }
}

Place a file "URLList.txt" with list of URLs in the same directory "D:\MonitorWeb\"

e.g:

http://www.google.com
http://google.com
http://flexboxfroggy.com
http://www.lazyquestion.com/interview-questions-and-answer/es6

Now open normal command prompt and navigate to the "D:\MonitorWeb\" and type below command:

powershell -executionpolicy bypass -File .\AnyName.ps1

And you'll get output like below:

HTTP STATUS 200 = OK

Note:

This works in power-shell version 2 as well.

Works even if you are behind proxy (uses default proxy settings)

Hope this helps!



来源:https://stackoverflow.com/questions/52738532/how-to-check-status-of-list-of-websites-urls-using-power-shell-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!