mirror of
https://github.com/pbatard/Fido.git
synced 2025-09-16 22:28:02 +02:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
eefc2453c4 | ||
![]() |
ed1a6b31a6 | ||
![]() |
9beb231b78 |
80
Fido.ps1
80
Fido.ps1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Fido v1.32 - Feature ISO Downloader, for retail Windows images and UEFI Shell
|
||||
# Fido v1.34 - Feature ISO Downloader, for retail Windows images and UEFI Shell
|
||||
# Copyright © 2019-2022 Pete Batard <pete@akeo.ie>
|
||||
# Command line support: Copyright © 2021 flx5
|
||||
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
||||
@@ -80,11 +80,12 @@ $code = @"
|
||||
|
||||
if (!$Cmd) {
|
||||
Write-Host Please Wait...
|
||||
$Drawing_Assembly = "System.Drawing"
|
||||
# PowerShell 7 altered the name of the Drawing assembly...
|
||||
if ($host.version -ge "7.0") {
|
||||
Add-Type -WarningAction Ignore -IgnoreWarnings -MemberDefinition $code -Namespace Gui -UsingNamespace System.Runtime, System.IO, System.Text, System.Drawing, System.Globalization -ReferencedAssemblies System.Drawing.Common -Name Utils -ErrorAction Stop
|
||||
} else {
|
||||
Add-Type -MemberDefinition $code -Namespace Gui -UsingNamespace System.IO, System.Text, System.Drawing, System.Globalization -ReferencedAssemblies System.Drawing -Name Utils -ErrorAction Stop
|
||||
$Drawing_Assembly += ".Common"
|
||||
}
|
||||
Add-Type -ErrorAction Stop -WarningAction Ignore -IgnoreWarnings -MemberDefinition $code -Namespace Gui -UsingNamespace System.Runtime, System.IO, System.Text, System.Drawing, System.Globalization -ReferencedAssemblies $Drawing_Assembly -Name Utils
|
||||
Add-Type -AssemblyName PresentationFramework
|
||||
# Hide the powershell window: https://stackoverflow.com/a/27992426/1069307
|
||||
[Gui.Utils]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0) | Out-Null
|
||||
@@ -98,7 +99,7 @@ $WindowsVersions = @(
|
||||
@(
|
||||
@("Windows 11", "windows11"),
|
||||
@(
|
||||
"22H2 (Build 22621.521 - 2022.09)",
|
||||
"22H2 (Build 22621.382 - 2022.09)",
|
||||
@("Windows 11 Home/Pro/Edu", 2360),
|
||||
@("Windows 11 Home China ", ($zh + 2361))
|
||||
),
|
||||
@@ -800,7 +801,16 @@ function Get-Windows-Download-Links([int]$SelectedVersion, [int]$SelectedRelease
|
||||
$Is64 = [Environment]::Is64BitOperatingSystem
|
||||
# Must add a referer for POST requests, else Microsoft's servers will deny them
|
||||
$ref = "https://www.microsoft.com/software-download/windows11"
|
||||
$r = Invoke-WebRequest -Method Post -Headers @{"Referer" = $ref} -UseBasicParsing -UserAgent $UserAgent -WebSession $Session $url
|
||||
$wr = [System.Net.WebRequest]::Create($url)
|
||||
# Windows 7 PowerShell doesn't support 'Invoke-WebRequest -Headers @{"Referer" = $ref}'
|
||||
# (produces "The 'Referer' header must be modified using the appropriate property or method")
|
||||
# so we use StreamReader() with GetResponseStream() and do this whole gymkhana instead...
|
||||
$wr.Method = "POST"
|
||||
$wr.Referer = $ref
|
||||
$wr.UserAgent = $UserAgent
|
||||
$wr.ContentLength = 0
|
||||
$sr = New-Object System.IO.StreamReader($wr.GetResponse().GetResponseStream())
|
||||
$r = $sr.ReadToEnd()
|
||||
if ($r -match "errorModalMessage") {
|
||||
Throw-Error -Req $r -Alt "Could not retrieve architectures from server"
|
||||
}
|
||||
@@ -951,6 +961,10 @@ if ($Cmd) {
|
||||
}
|
||||
if ($Lang -eq "List") {
|
||||
Write-Host "Please select a Language (-Lang) for ${Selected}:"
|
||||
} elseif ($Lang) {
|
||||
# Escape parentheses so that they aren't interpreted as regex
|
||||
$Lang = $Lang.replace('(', '\(')
|
||||
$Lang = $Lang.replace(')', '\)')
|
||||
}
|
||||
$i = 0
|
||||
foreach ($language in $languages) {
|
||||
@@ -967,7 +981,7 @@ if ($Cmd) {
|
||||
}
|
||||
$i++
|
||||
}
|
||||
if ($winLanguageId -eq $null -or $winLanguageName -eq $null) {
|
||||
if (!$winLanguageId -or !$winLanguageName) {
|
||||
if ($Lang -ne "List") {
|
||||
Write-Host "Invalid Windows language provided."
|
||||
Write-Host "Use '-Lang List' for a list of available languages or remove the option to use system default."
|
||||
@@ -1163,8 +1177,8 @@ exit $ExitCode
|
||||
# SIG # Begin signature block
|
||||
# MIIkWQYJKoZIhvcNAQcCoIIkSjCCJEYCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD6h5jkGuLA4flo
|
||||
# AEOvdhqzbH5KP4Nh/95HnUq3WD2RxKCCElkwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCALq9WUjK/n7osl
|
||||
# kwRBr6duVZgEzaRe3mDKv+dLomlaQaCCElkwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
||||
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
||||
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
||||
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
||||
@@ -1267,23 +1281,23 @@ exit $ExitCode
|
||||
# aWMgQ29kZSBTaWduaW5nIENBIEVWIFIzNgIRAL+xUAG79ZLUlip3l+pzb6MwDQYJ
|
||||
# YIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK
|
||||
# KwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG
|
||||
# 9w0BCQQxIgQgYNJ1tAjux5cSXZGUyaCHzKMqd3wSI6IPP6QRgfqH7ZcwDQYJKoZI
|
||||
# hvcNAQEBBQAEggIAC77UeQjlf3wPGfBs449r/Fd86SGJTkIhncW5qierUDv7jCzG
|
||||
# 41Z+GHaDoDqyuha2ciiMy41YyEOXsxAQ3jvN0AUk3lhFrw1vpxRgljp3Gqix92QW
|
||||
# gwweiJIf7Wk25F0AIQRxTrYcUeHQTglaAJ9pWsnRDkrBNMmEWF13dYzwLEh27WYn
|
||||
# R+tGNGysWWincXwjiB4siSvYc8UOkWci/scK1xP8OYPrHSkA4dkgPtdE5C4h0hU2
|
||||
# 7stnpOtb0ghRLSoEBSASfTD1827GAV2/tWZ0imnluEtK6AW8mNDO6Y8Y1hqfsYl6
|
||||
# DapPzvFAE/AqvMEnLRF2GnYAChTsFj2dhlNk7bRGqdTU5Y68VYjolNTEcuXJ7cAD
|
||||
# RVXUvA/kcaF03cm14h0uBC1H5r4uKV5qp0QX3442yze8xwLsoEJncS+lzgOzMpsf
|
||||
# sFND0eShfTDbS9o5xZqunafY1NZOzu3zd6zh+YssOA8JCkPxdFGDzCSv0FUjM9bE
|
||||
# +ieZptkB5ENhva07fajhKdY/HVUOxEGUFUuWz0oiPGtCtcsTLT/LIda/xxmM4iFe
|
||||
# w8eqmuDJFNGtRWhJrd5JjU5CVhMUHvlrC/sA+QqkFvE7uQ1AkwmXocY8vbGR4H2V
|
||||
# wnlccMmGuBkYniuhYFdikRwS/hXT/YOr3tsb1Upnkze/udz8rGsHOMUKt9ehgg49
|
||||
# 9w0BCQQxIgQgFTNCPPaPOvuFXjtSmSj6kmL7aelK+dtEo03k3KPZTlQwDQYJKoZI
|
||||
# hvcNAQEBBQAEggIAeNJXRkURPIcJyxDqW8X4frFhcWLt0akkWfV2btU74/OpewpH
|
||||
# TPDADh93//9j01mOrbbFovL+5y3G/WE3EeLuzqvrfZC6g+McInSpK9wYeOEzjkfH
|
||||
# 4ACKOImDO5WNXILKtTQyfVwRuTgmWPb6SCC6HJIipciGlfuvrNcDMBjMyAbWblLe
|
||||
# OsU/N4lf1Wjd5oaM5b9kaZ7jwHLy1LderrvE0TZW7SqttfsPuqYI+QBq7ZrIxPcW
|
||||
# JKExxsWXLAAjxaSTHSTvYBE8uSA0ptEWna46mTywe6mkOHSDpnJBldwlINpNtfEl
|
||||
# wDxZ5x3phesQ71RjaE5YYupc5lt2gmpN0xz+l5Hj31wh9at8wusIYEiERWg1lBGi
|
||||
# oZZDLoNz2xjpWnPdOWaJnXKXJ7+iz28+BgjbcvMik3T0EtB41fvImq/y6UGk4vSE
|
||||
# yYQ6NFadcuCRS7yNiiP1aNw+SuZeq7rqBHlURgMP8Bck4sJIUfM3N4ONlKShBq1K
|
||||
# lq9W0IjKYVtLPSihQAbHx63DkmsJsgXlraQ9oVbhrOI5uEr03EDw1GYWrsJRiBRL
|
||||
# YQReZP6clxEoTSHqseDFm+HWmi4hv2YuVtSVobQFax5ljn5nkXRGbjIr39lE+tX6
|
||||
# loXHW4+c9R5cgyCGUCWg4HVNMSXZbNjvSVOIRxK1cDg+62XYCpAUDVCf2f2hgg49
|
||||
# MIIOOQYKKwYBBAGCNwMDATGCDikwgg4lBgkqhkiG9w0BBwKggg4WMIIOEgIBAzEN
|
||||
# MAsGCWCGSAFlAwQCATCCAQ8GCyqGSIb3DQEJEAEEoIH/BIH8MIH5AgEBBgtghkgB
|
||||
# hvhFAQcXAzAxMA0GCWCGSAFlAwQCAQUABCA14LAXm88+tZ3FC2cVxGuBtbMKzk6a
|
||||
# NCjj3OgaseaZvgIVAIhD9ElHH5Y3yqMokr9xGzeLKkwSGA8yMDIyMDkyMDIxNTcw
|
||||
# OFowAwIBHqCBhqSBgzCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVj
|
||||
# hvhFAQcXAzAxMA0GCWCGSAFlAwQCAQUABCD5Ric03I9pVDsoAfQBikG2Nk8QtF+C
|
||||
# jRKwiA3WiZoyAAIVAKlIW+qovWh/vTmKAgLa7ii9nmKzGA8yMDIyMDkyMzE2MDEy
|
||||
# OVowAwIBHqCBhqSBgzCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVj
|
||||
# IENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEw
|
||||
# LwYDVQQDEyhTeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIFNpZ25lciAtIEcz
|
||||
# oIIKizCCBTgwggQgoAMCAQICEHsFsdRJaFFE98mJ0pwZnRIwDQYJKoZIhvcNAQEL
|
||||
@@ -1346,13 +1360,13 @@ exit $ExitCode
|
||||
# BgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBU
|
||||
# cnVzdCBOZXR3b3JrMSgwJgYDVQQDEx9TeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1w
|
||||
# aW5nIENBAhB71OWvuswHP6EBIwQiQU0SMAsGCWCGSAFlAwQCAaCBpDAaBgkqhkiG
|
||||
# 9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTIyMDkyMDIxNTcw
|
||||
# OFowLwYJKoZIhvcNAQkEMSIEICcu8Fuw/1HxTul0vtNyaZO+8LZLFsCph/n2wPti
|
||||
# mtGwMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEIMR0znYAfQI5Tg2l5N58FMaA+eKC
|
||||
# ATz+9lPvXbcf32H4MAsGCSqGSIb3DQEBAQSCAQB5LyfB7M+z9j4uVqZ76ibc5DuL
|
||||
# SGPIqu9Uakos5Mbg7IMAYt1MrnCzqQw00eqa87HCfa48UJz4npEjeo9wo+iHFf+S
|
||||
# fLXDzzJ1UK6d8o0ESEQI6/HKi/CQ052Ikt2q0gbhsvp3tb2OlLDu5hWz0+yIf+ru
|
||||
# rP/lGpjwRImXpTdlQEfZ9nxOj+pEowaV7KyS/ukMOWygQn8pS42McNW2JV1WXAPT
|
||||
# MJ+bLdHy7W9jQIK8xZ6yqS7H9YYKRvCNz28zYBWrRl+Lgr5vsM+WJ6+1042pnd4G
|
||||
# 5NiyWHvp4kd5EiuKAIyc+8kb4yGATNf08utpKxNQ/0e58ibNaChRS3UyI/fO
|
||||
# 9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTIyMDkyMzE2MDEy
|
||||
# OVowLwYJKoZIhvcNAQkEMSIEIByRkrigMw50nFG5C1eKvrGlS8ZnhBTXMhAhFl6x
|
||||
# GwufMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEIMR0znYAfQI5Tg2l5N58FMaA+eKC
|
||||
# ATz+9lPvXbcf32H4MAsGCSqGSIb3DQEBAQSCAQBrJmQv2jU+K0w+IZbPxhLWTWse
|
||||
# LZUtQ31RIaZsNPo1Tqdx16bGqoA+JvBXffyDnnMQxVVNBrKqnPBEfff09WPeVWyn
|
||||
# SeLQJYmZPtt9ww3/9aJFmSkgeXPTJi/qBn+iymIEvYxgr1DbAY2STY05c/dwDF53
|
||||
# 760Bu3acQsT7cDMqgPxEMoIPYJRTdXXL8uBKUEZyWgHWYASpboljFSXBb0v6Hekp
|
||||
# 7hf4GPm80eOntPWpACN161wPLj9K5e7eu7/ZR9oyMWI5C/ckFnsxQgHXjEfmRK3C
|
||||
# P9iecy4hm1QE4UmDuY/DpOcodqaKT3nZ8aAdkIkHV1ayew3lrNgT8n5gfCCp
|
||||
# SIG # End signature block
|
||||
|
Reference in New Issue
Block a user