Category: Scripts

Proxy Server Checker v1.0

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.

Usage: .\ProxyServerCheck.ps1

View / Download Script


RDP Connection Setter v1.0

Following on from my Windows XP & 7 guide, Enable RDP using the registry editor, I have created this PowerShell script to automate the task. This script will check if the "Remote Registry" service is started. If it isn't, it'll start it. It will then dig through the registry to find the DWORD we need to change and it'll switch it on/off depending on your parameters.

The registry keys are in the same location, so this PS1 should work for Windows XP & 7 target machines. I assume this means it will work for Windows Vista as well, and probably 8, 8.1 and 10 as well, but these are all untested.

Usage: .\SetRDP.ps1 -PC computername [ -enable | -disable ]

View / Download Script


Network Scanner v1.0

This PowerShell script is a network scanner. Utilising the Invoke-PingSweep function, it will attempt to ping each host in the specified range and if it gets a response, it will attempt to find open ports from a specified list.

The Invoke-PingSweep function is available from the TechNet gallery and I take no credit for writing this integral part of the script. https://gallery.technet.microsoft.com/scriptcenter/Invoke-TSPingSweep-b71f1b9b

This script will then output a list of discovered IP addresses, hostnames and open ports. There are options to then export to a CSV and/or TXT file as well.

Usage: .\NetScan.ps1 -StartIP 0.0.0.0 -EndIP 1.1.1.1 [-CSV file.csv] [-TXT file.txt] [-CSVHostsOnly] [-TXTHostsOnly]

View / Download Script


Find/Replace Script v1.0

This PowerShell script is a simple find/replace tool, much like the ones you find inside your favourite text editors. Unlike most text editors, however, this will run against all files of a certain extension within a specified folder. This enables you to edit, say for example, every CSV file in folder C:\LotsofCSVfiles.

I wrote this script as I had a large number of CSV files that I needed the same find/replace function performed on all files. Rather than opening 100+ CSV files and running a find/replace one-by-one, I could simply tell this script to search for all files in the folder and do the find/replace.

By default, the script looks for CSV files, but using the -Ext parameter, you can select a different file extension. As the standard functions work via regular expressions, I have also added a line to escape any characters to prevent failures.

Usage: .\FindReplace.ps1 -Path C:\folder\path -String "findme" -Replace "replaceme" [-Ext txt]

View / Download Script


Running Man v1.0

This script is just a bit of silliness I made while bored one afternoon. It does nothing interesting other than make a stickman run backwards and forwards in a PowerShell window. View / Download Script