This PowerShell script runs a basic test of functionality for a proxy server. It sets up a web request via a specified proxy server address, then retrieves the HTTP Response Code. If the code is returned as HTTP 200 OK, it'll add 200 to the final status code. At the end, it'll compare how many sites it was passed to how many OK responses it received to determine if the proxy server is functioning correctly.
I wrote this script to work with our monitoring system so that we could test the functionality of a proxy server. Passing it three sites to test and having it report OK if it received a 600 OK, WARN if 200 or 400, or go CRITICAL if 0. This proved to be a more reliable test than just a connectivity test, as the proxy server may be contactable, but not actually processing requests. This test proves that it is processing requests.
This script is compatible with Powershell 2 and above. I had originally written the script using some cleaner cmdlets, but the server we needed to run it on only had Powershell 2 and upgrading for this script was going to be more hassle than it was worth due to the server needing to be available at all times.