Using PowerShell to Safely Run Downloaded Scripts from the Internet

Downloading and running scripts from the internet has become a common practice. However, security remains a top concern and we need to ensure that the scripts we obtain online are safe and won’t harm our systems. In this blog post, we’ll explore using PowerShell to safely run downloaded scripts from the internet.

The Challenge of Downloaded Scripts

When we download scripts from the internet and attempt to run them in PowerShell, we often encounter a security hurdle. By default, PowerShell restricts the execution of scripts from the web to prevent potential threats.

If we right-click a PowerShell script downloaded from the web and view its properties, we will see something similar to the following:

Unblock-File

Unblocking Downloaded Files

We could of course simply check the unblock checkbox, click ok and then run the script!

But what if we want to automate the process of downloading a file and running it? Well, we can use the Unblock-File cmdlet. The Unblock-File cmdlet allows us to remove the zone information from files that were downloaded from the internet. This action signifies that we trust the file and it can be executed without restrictions imposed by the security policy.

Using “Unblock-File”

We can use the “Unblock-File” cmdlet to unblock downloaded scripts. Here’s how we do it:


Unblock-File -Path C:\Alkane\Alkane.ps1

This command removes the zone information from the specified script, making it safe to execute.

Using PowerShell to Safely Run Downloaded Scripts from the Internet

While Unblock-File is a powerful tool, it’s essential to exercise caution when running scripts from the internet. We should always ensure that we trust the source from which we obtained the script. Additionally, we should consider other security measures like script signing when dealing with highly sensitive operations.