PowerShell – Automatically retrieve download links from Microsoft Evaluation Center

Last Updated on February 19, 2024 by Michael Morten Sonne


In the ever-evolving realm of IT, efficiency and automation stand as crucial elements. Presenting a concise PowerShell script designed to expedite the download of .ISO files from Microsoft’s Evaluation Center. This script automate the extraction of download links, offering IT professionals a convenient and effective means to acquire essential links for evaluating various software products.

One particularly beneficial application of automation is evident in the retrieval of download links from platforms such as the Microsoft Evaluation Center. Explored in this blog post is a PowerShell script meticulously crafted to optimize this process, providing IT professionals with a streamlined approach to promptly access the required resources.

The manual navigation of web pages for the location and compilation of download links is a laborious task. Automation simplifies this process, empowering IT professionals to swiftly and efficiently obtain the necessary links. Time saved through automation can be redirected towards more strategic and impactful aspects of IT management.

Furthermore, automation eradicates the potential for human errors inherent in manual collection. By consistently retrieving accurate download links, automation establishes a dependable and error-free method for accessing installers from the Microsoft Evaluation Center.

PowerShell Script

My small PowerShell script here simplifies the often task of manually obtaining download links from the Microsoft Evaluation Center. By leveraging automation, users can save time and reduce the risk of errors associated with manual processes.

See the script on The PowerSehll Script tab – it´s hosted on my public repo on my GitHub account here: https://github.com/michaelmsonne/public

You use the script like this in PowerShell:

.\DownloadNewestMicrosoftEvalSoftware.ps1 -outputfile 'C:\Folder\EvalCenterDownloads.csv'

If you don’t specify the -outputfile parameter, it will default to C:\Temp\EvalCenterDownloads.csv.

  • The script will display information about each URL it processes, including the number of download links found. It will also provide details for each link, such as Title, Name, Tag, Format and download link.
Console output with titel, name, tag, format and link
  • The script will export the collected download links to a CSV file as specified by the -outputfile parameter. If you didn’t specify a custom path, it will be saved to the default location.
.CSV file output
  • The script will provide a summary indicating the total number of downloads found. It will also inform you about the location where the download links have been exported.

Automation enables regular and scheduled checks for new software releases or updates on the Microsoft Evaluation Center. This ensures that IT professionals stay informed about the latest offerings and can proactively plan for evaluations or upgrades.

The script

How it works

  • Parameterized Output File Location:
    • The script accepts a parameter $outputfile, allowing users to specify the location where the collected download links will be exported as a CSV file. If not specified, it defaults to ‘C:\Temp\EvalCenterDownloads.csv’.
  • List of Microsoft Evaluation Center URLs:
    • The script contains a predefined list of URLs representing different Microsoft Evaluation Center software products. These URLs are stored in the $urls array.
  • Automated Link Collection:
    • The script utilizes PowerShell’s Invoke-WebRequest to fetch the HTML content of each URL in the $urls array.
    • It then searches for download links by filtering the links based on criteria such as ‘aria-label’ containing ‘Download,’ ‘fwlink’ in outer HTML, or ’64-bit edition’ in ‘aria-label.’
  • Display and Export:
    • The script displays information for each URL, including the number of download links found and details for each link (Title, Name, Tag, Format, Link) in the console.
    • It creates a custom object $downloadDetails for each download link and adds it to the $totalfound array.
    • If no download links are found for a URL, a corresponding message is displayed in red.
    • After processing all URLs, the script exports the collected download links to a CSV file specified by the user or the default path.
  • Final Output:
    • The script provides a summary of the total number of downloads found and informs the user about the exported CSV file’s location.


Downloading ISOs from the Evaluation Center streamlines the process of acquiring trial versions of Microsoft products. This efficiency is particularly beneficial when setting up labs for educational purposes, certifications, or exploring the capabilities of different software solutions.

Microsoft often provides generous trial periods for its evaluation software, allowing you ample time to thoroughly assess features, functionality, and compatibility within your lab environment. This flexibility enables you to conduct in-depth evaluations and make informed decisions about the adoption of specific technologies.

I also employ this approach when independently crafting lab environments.


In conclusion, automating the collection of download links from the Microsoft Evaluation Center aligns with the principles of efficiency, accuracy, and adaptability that modern IT environments demand. By embracing automation, IT professionals can elevate their workflow, reduce manual overhead, and stay updated to there labs in the face of evolving software landscapes allways changeing/updating.

By incorporating this PowerShell script into your toolkit or automated run, you can effortlessly automate the process of obtaining download links from the Microsoft Evaluation Center to have the last installers when you need them. This not only saves time but also enhances accuracy and ensures that your IT endeavors remain efficient and effective. Feel free to customize the script to suit your specific requirements and stay ahead in the fast-paced world of technology.

Thank you for taking the time to visit my blog. Kindly share it with others if you find it helpful for them! 😉🔐👍

Stay tuned for the new post about something cool! 🥳

Previous Article

Entra ID - Stale Application Analysis with PowerShell

Next Article

Microsoft Defender for Identity - What is it, how to install it and setup requirements

Related Posts

Discover more from Sonne´s Cloud

Subscribe now to keep reading and get access to the full archive 🤝🧑‍💻

Join 15 other subscribers