Table of Contents
Fido: A PowerShell download script for Microsoft Windows
Fido is a PowerShell script that is primarily designed to be used in Rufus, but that can also be used in standalone fashion, and whose purpose is to automate access to the official Microsoft Windows retail ISO download links as well as provide convenient access to bootable UEFI Shell images.
Read more about the project: https://github.com/pbatard/Fido
Note however that, as of 2023.05, Microsoft has removed access to older releases of Windows ISOs and as a result, the list of releases that can be downloaded from Fido has had to be reduced to only the latest for each version.
How to use Fido to download Windows ISO
1. Download the script at https://github.com/pbatard/Fido/blob/master/Fido.ps1 then save it into your computer. For example, we save it in C:\fido.
If you don’t want to do it manually, you can run the below PowerShell commands:
New-Item -Path C:\fido -ItemType Directory -Force
irm 'https://raw.githubusercontent.com/pbatard/Fido/master/Fido.ps1' -OutFile 'C:\fido\fido.ps1'
Set-Location 'C:\fido'
2. Allow running PowerShell scripts, for security purposes, you should enable it for the current session only. Or you can set the policy to RemoteSigned.
Set-ExecutionPolicy Bypass Process
3. Now, navigate to the folder that you have the script on it then obtain a list of supported versions by specifying -Win List.
PS C:\fido> .\fido.ps1 -Win list
Please select a Windows Version (-Win):
- Windows 11
- Windows 10
- Windows 8.1
- UEFI Shell 2.2
- UEFI Shell 2.0
Win: Specify Windows version (e.g. “Windows 10”). Abbreviated version should work as well (e.g -Win 10) as long as it is unique enough. If this option isn’t specified, the most recent version of Windows is automatically selected.
4. Download the latest version of Windows 10 as follows:
.\fido.ps1 -Win 10
The downloaded ISO file would be saved in the same location with the script.
PS C:\fido> .\fido.ps1 -Win 10
No release specified (-Rel). Defaulting to '22H2 v1 (Build 19045.2965 - 2023.05)'.
No edition specified (-Ed). Defaulting to 'Windows 10 Home/Pro/Edu'.
No language specified (-Lang). Defaulting to 'English International'.
No architecture specified (-Arch). Defaulting to 'x64'.
Selected: Windows 10 22H2 v1 (Build 19045.2965 - 2023.05), Home/Pro/Edu, English International, [x64]
Downloading 'Win10_22H2_EnglishInternational_x64v1.iso' (6.0 GB)...
PS C:\fido> ls
Directory: C:\fido
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/13/2023 9:04 PM 48680 fido.ps1
-a---- 5/23/2023 11:49 PM 6135633920 Win10_22H2_EnglishInternational_x64v1.iso
5. Download the latest version of Windows 11 using the below command:
PS C:\fido> .\fido.ps1 -Win 11
No release specified (-Rel). Defaulting to '22H2 v2 (Build 22621.1702 - 2023.05)'.
No edition specified (-Ed). Defaulting to 'Windows 11 Home/Pro/Edu'.
No language specified (-Lang). Defaulting to 'English International'.
No architecture specified (-Arch). Defaulting to 'x64'.
Selected: Windows 11 22H2 v2 (Build 22621.1702 - 2023.05), Home/Pro/Edu, English International, [x64]
Downloading 'Win11_22H2_EnglishInternational_x64v2.iso' (5.0 GB)...
PS C:\fido> ls
Directory: C:\fido
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/13/2023 9:04 PM 48680 fido.ps1
-a---- 5/23/2023 11:49 PM 6135633920 Win10_22H2_EnglishInternational_x64v1.iso
-a---- 5/23/2023 11:52 PM 5827649536 Win11_22H2_EnglishInternational_x64v2.iso
6. Lang: Specify Windows language (e.g. “Arabic”). Abbreviated or part of a language (e.g. -Lang Int for English International) should work as long as it’s unique enough. If this option isn’t specified, the script attempts to select the same language as the system locale. You can obtain a list of supported languages by specifying -Lang List.
PS C:\fido> .\fido.ps1 -Win 10 -Lang List
- Arabic
- Brazilian Portuguese
- Bulgarian
- Chinese (Simplified)
- Chinese (Traditional)
- Croatian
- Czech
- Danish
- Dutch
- English
- English International
- Estonian
- Finnish
- French
- French Canadian
- German
- Greek
- Hebrew
- Hungarian
- Italian
- Japanese
- Korean
- Latvian
- Lithuanian
- Norwegian
- Polish
- Portuguese
- Romanian
- Russian
- Serbian Latin
- Slovak
- Slovenian
- Spanish
- Spanish (Mexico)
- Swedish
- Thai
- Turkish
- Ukrainian
For instance, we’ll download Windows 10 Spanish ISO from Microsoft.
PS C:\fido> .\fido.ps1 -Win 10 -Lang Spanish
Selected: Windows 10 22H2 v1 (Build 19045.2965 - 2023.05), Home/Pro/Edu, Spanish, [x64]
Downloading 'Win10_22H2_Spanish_x64v1.iso' (6.0 GB)...
PS C:\fido> ls
Directory: C:\fido
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/13/2023 9:04 PM 48680 fido.ps1
-a---- 5/23/2023 11:50 PM 6160668672 Win10_22H2_Spanish_x64v1.iso
7. GetUrl: By default, the script attempts to automatically launch the download. But when using the -GetUrl switch, the script only displays the download URL, which can then be piped into another command or into a file.
PS C:\fido> .\fido.ps1 -Win 10 -GetUrl
https://software.download.prss.microsoft.com/dbazure/Win10_22H2_EnglishInternational_x64v1.iso?t=eb5fdece-ba3f-4af2-8b60-50a7d61586a4&e=1692024397&h=4556b5bd4f4a9db1fd1843a16310453ddb6ecd3d8a82b4a074309813af7ff941
PS C:\fido> .\fido.ps1 -Win 11 -GetUrl
https://software.download.prss.microsoft.com/dbazure/Win11_22H2_EnglishInternational_x64v2.iso?t=efde69ea-8a62-40c1-babe-56836e15cfd3&e=1692024425&h=fc32298175ea1f95915f6e4f9ed45c528408263dcda5482c37674c42a953a025
PowerShell Scripting
We’ve PowerShell, so we’ve created a PowerShell script at https://bonguides/com/fido. So, you just need to open PowerShell or Terminal as administrator then run the following command:
irm bonguides.com/fido | iex
From here, you can download the latest ISO image of Windows 10, 11 from Microsoft officially.
Please select a Windows Version (-Win):
- Windows 11
- Windows 10
- Windows 8.1
- UEFI Shell 2.2
- UEFI Shell 2.0
*Instructions..................................................
- Donwload Windows 10: .\fido.ps1 -win 10
- Donwload Windows 11: .\fido.ps1 -win 11
- Get supported languages: .\fido.ps1 -win 10 -lang list
- Download custom language: .\fido.ps1 -win 10 -lang Spanish
- Get download URL: .\fido.ps1 -win 10 -GetURL
*..............................................................
Not a reader? Watch this related video tutorial: