PowerShell – Working with URLs


This command is used to get the content from a web page by sending the HTTP or HTTPS requests to that page. In other words, you can simple parse or scrape a web page for images, links, etc.

In response, you will see a parsed result including status code, links, images, input fields, etc.

Invoke-WebRequest <Uri>


Invoke-WebRequest https://google.com



By default, PowerShell uses TLS 1.0 for HTTP / HTTPS requests.

You can easily check the TLS version of any website.

Google Chrome – Click F12 > Go to Security Tab


Mozilla Firefox – Click on the padlock icon on the left of address bar and then click on the right arrow as shown below.


Click on more information and you will see a popup with TLS version.


Internet Explorer – Open a website > Right click on page > Click on Properties


Not all the websites use TLS 1.0 and it is not possible to establish a secure connection to a website using different TLS version.


So in order to make HTTP or HTTPS calls using Invoke-WebRequest, you have to force PowerShell to use a different version (eg. TLS 1.2)

# Forcing PowerShell to use TLS 1.2

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12



If you are wondering, which versions you can use with PowerShell, then simply use the following cmdlet




2 thoughts on “PowerShell – Working with URLs”

  1. Hey,

    Very nice blog, this is exactly same, what I was looking to complete my task. I completed my task in just 15 min’s instead of 2 days!

    Well done!

    Keep posting! Good Work!

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: