mirror of
https://github.com/pbatard/Fido.git
synced 2025-09-16 14:18:02 +02:00
Improve error reporting
* Now return the error message from the Microsoft server where possible (See #52)
This commit is contained in:
65
Fido.ps1
65
Fido.ps1
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Fido v1.37 - Feature ISO Downloader, for retail Windows images and UEFI Shell
|
# Fido v1.38 - Feature ISO Downloader, for retail Windows images and UEFI Shell
|
||||||
# Copyright © 2019-2022 Pete Batard <pete@akeo.ie>
|
# Copyright © 2019-2023 Pete Batard <pete@akeo.ie>
|
||||||
# Command line support: Copyright © 2021 flx5
|
# Command line support: Copyright © 2021 flx5
|
||||||
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
|
||||||
#
|
#
|
||||||
@@ -499,7 +499,7 @@ function ConvertTo-ImageSource
|
|||||||
|
|
||||||
function Throw-Error([object]$Req, [string]$Alt)
|
function Throw-Error([object]$Req, [string]$Alt)
|
||||||
{
|
{
|
||||||
$Err = $(GetElementById -Request $r -Id "errorModalMessage").innerText
|
$Err = $(GetElementById -Request $Req -Id "errorModalMessage").innerText -replace '<[^>]+>',''
|
||||||
if (-not $Err) {
|
if (-not $Err) {
|
||||||
$Err = $Alt
|
$Err = $Alt
|
||||||
} else {
|
} else {
|
||||||
@@ -824,7 +824,14 @@ function Get-Windows-Download-Links([int]$SelectedVersion, [int]$SelectedRelease
|
|||||||
$sr = New-Object System.IO.StreamReader($wr.GetResponse().GetResponseStream())
|
$sr = New-Object System.IO.StreamReader($wr.GetResponse().GetResponseStream())
|
||||||
$r = $sr.ReadToEnd()
|
$r = $sr.ReadToEnd()
|
||||||
if ($r -match "errorModalMessage") {
|
if ($r -match "errorModalMessage") {
|
||||||
Throw-Error -Req $r -Alt "Could not retrieve architectures from server"
|
$regex = New-Object Text.RegularExpressions.Regex '<p id="errorModalMessage">(.+?)<\/p>'
|
||||||
|
$m = $regex.Match($r)
|
||||||
|
# Make the typical error message returned by Microsoft's servers more presentable
|
||||||
|
$Alt = $m.Groups[1] -replace '<[^>]+>' -replace ' Microsoft Support – Contact Us ',' "Microsoft Support – Contact Us" ' -replace ' and$','.'
|
||||||
|
if (-not $Alt) {
|
||||||
|
$Alt = "Could not retrieve architectures from server"
|
||||||
|
}
|
||||||
|
Throw-Error -Req $r -Alt $Alt
|
||||||
}
|
}
|
||||||
$pattern = '(?s)(<input.*?></input>)'
|
$pattern = '(?s)(<input.*?></input>)'
|
||||||
ForEach-Object { [regex]::Matches($r, $pattern) } | ForEach-Object { $html += $_.Groups[1].value }
|
ForEach-Object { [regex]::Matches($r, $pattern) } | ForEach-Object { $html += $_.Groups[1].value }
|
||||||
@@ -1192,8 +1199,8 @@ exit $ExitCode
|
|||||||
# SIG # Begin signature block
|
# SIG # Begin signature block
|
||||||
# MIIkWAYJKoZIhvcNAQcCoIIkSTCCJEUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
# MIIkWAYJKoZIhvcNAQcCoIIkSTCCJEUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCIu9oI700HZxb3
|
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCA8HBGUKpZF1hGq
|
||||||
# w6BvRyJWzIrL4aGutJadchpCiPvxiaCCElkwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
# 7vrEyB4Rxs5RjECuccksFkOHdV+pYqCCElkwggVvMIIEV6ADAgECAhBI/JO0YFWU
|
||||||
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
|
||||||
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
|
||||||
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
|
||||||
@@ -1296,22 +1303,22 @@ exit $ExitCode
|
|||||||
# aWMgQ29kZSBTaWduaW5nIENBIEVWIFIzNgIRAL+xUAG79ZLUlip3l+pzb6MwDQYJ
|
# aWMgQ29kZSBTaWduaW5nIENBIEVWIFIzNgIRAL+xUAG79ZLUlip3l+pzb6MwDQYJ
|
||||||
# YIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK
|
# YIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK
|
||||||
# KwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG
|
# KwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG
|
||||||
# 9w0BCQQxIgQg6jgFb4FuL7yvtN2F8EfthVB5EwLiVoFh5/z9lnLw0f0wDQYJKoZI
|
# 9w0BCQQxIgQg4hR7V8VVVF6zW/rpd848bxRgtdkoph/atS+BROPclkYwDQYJKoZI
|
||||||
# hvcNAQEBBQAEggIAIaiHGVVcr5tUwEGY+uNs717INqUf4s8L/GYWuVYrpTAB6xtK
|
# hvcNAQEBBQAEggIAkoPzSU+w9U9Ua63aaYbulBie6w1F31pjiHg3B9mm10UIIZp7
|
||||||
# z9UgpjfhiP8Rg+nebNxzAQSKG+ylUomqvFIswH6olcZI74Dn8VqE9zGDB029gMbI
|
# cb/B1JTMr+gUt4e8XvdxKm332Pwee3i21yOCYGX+ZOAqqJ58fu67mdz/BPep/Xc6
|
||||||
# hnJcNgwvhiggl7PjQClo6JMVCD0xa7ChYIJRYa+c7SNF6OJXrHbQAlOoVeyv+2mb
|
# Wk7O0lokWkJLfR3CYYjVxTo4Azg01zum1srJghYHGVN/sidOLqIz8DT50XFuUGyh
|
||||||
# UOGKRK0D8oR1tCVCkBCb+2/V8ryjOFo3DjxVvNxCRmItoB0HntL2JVQiJjXZd2mv
|
# 6oFoXn5mrVKr0nNPIqViT2nhuPVRy8D4IdpAauE9GP2zM4WtEuEIB7sLSRfkPAwk
|
||||||
# 1RjhW1g11x9ILsRWq4913/p3eF3zH0janBBs0APdzyw8Zp4LM4vPYLzeaWp0/olq
|
# YYfkef9pNfbt0lZ0HogiTgiqbQzQnKT0BV9nhSCG8uvy475Gv/QhhfwMhN1wnrcc
|
||||||
# U8Hga4NkEBLZzMSyuESgYCZPpLRJKEbLNxA/EUKM+5k0BLQ+Wx/sOQMkyU+PbhL+
|
# +Ird4u92p27K9nCnQOzQyfpNgIOlbFE4WEyjvOh+TblUG9IrGrMOMNrYGCiXl9oY
|
||||||
# fLwifZmy7kYmQLfS36T8je/LgVVa7iBhvM8WOu/gkXEAJMn9E3IhiPKOSskTZvdJ
|
# KudQ4JoUyXIhlo3vzyasE0fjQ8IyCowal+65TFiKJeo+aFFehfMlwc+KyLi8Xsm7
|
||||||
# bZTZZHKiYFk9JoDaAAFSSFZ0EJnV2V4kbTFzc+4q4kpDMVPa2yrhsoNW0j108xXl
|
# UeayF5LPSrHS3Eexh7bMeI8XPENVsMf9fChyM7N4Fsoqu/LTOOzfOuvke6Y9S2/c
|
||||||
# sOIaiD3urr8HisC15XV941/AHz1tJsVIbrKLvP4UbSgx4GRdstHHdNe9YI+SQ0fX
|
# e1Ds2Hn9RZ2r/OsdDBQRu6zf38PSRvnWUlSIBXLkAyvp6ZoenrxyyRzi3BBGTtKX
|
||||||
# YbqmO85mUkPhytCTmQYXkC3zOuncRt9B6X5a1RtrByBqleMdHzY/0udp9YEUK0D7
|
# aqTechxuEvTr4q2mPP+qOm2RFTtBevDnYZ6DyWKEW9DC0qpZR29XKfUuiA9CZFLR
|
||||||
# yzRjx9+knXP+e4UsGrpg+5ql+l0krqfmacNfdWwd10PG/2qkvij0oSm/yJ2hgg48
|
# ABGbzlbaHQW0kAd2NgN6t1ODrfAPkoPD3NtnUVzKgFqhDBoHhZN+B0fAPzehgg48
|
||||||
# MIIOOAYKKwYBBAGCNwMDATGCDigwgg4kBgkqhkiG9w0BBwKggg4VMIIOEQIBAzEN
|
# MIIOOAYKKwYBBAGCNwMDATGCDigwgg4kBgkqhkiG9w0BBwKggg4VMIIOEQIBAzEN
|
||||||
# MAsGCWCGSAFlAwQCATCCAQ4GCyqGSIb3DQEJEAEEoIH+BIH7MIH4AgEBBgtghkgB
|
# MAsGCWCGSAFlAwQCATCCAQ4GCyqGSIb3DQEJEAEEoIH+BIH7MIH4AgEBBgtghkgB
|
||||||
# hvhFAQcXAzAxMA0GCWCGSAFlAwQCAQUABCCl76O7SS4cwM8X83mI8r35FZLf3rWC
|
# hvhFAQcXAzAxMA0GCWCGSAFlAwQCAQUABCCL/oKmML+jTCp9vj9QbJ2uyoOANAMk
|
||||||
# 8lvQfpcD2cvmVwIULSw32zIonkqtoMhGBCMfzXK+f4EYDzIwMjIxMjE1MDAxODI0
|
# 6Rzl4pUyVjSPXQIUceL18ZkiSTgFvzQDRP54gARBDMgYDzIwMjMwMTA2MjE0ODEz
|
||||||
# WjADAgEeoIGGpIGDMIGAMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMg
|
# WjADAgEeoIGGpIGDMIGAMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMg
|
||||||
# Q29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMTAv
|
# Q29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMTAv
|
||||||
# BgNVBAMTKFN5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgU2lnbmVyIC0gRzOg
|
# BgNVBAMTKFN5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgU2lnbmVyIC0gRzOg
|
||||||
@@ -1375,13 +1382,13 @@ exit $ExitCode
|
|||||||
# A1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRy
|
# A1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRy
|
||||||
# dXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBp
|
# dXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBp
|
||||||
# bmcgQ0ECEHvU5a+6zAc/oQEjBCJBTRIwCwYJYIZIAWUDBAIBoIGkMBoGCSqGSIb3
|
# bmcgQ0ECEHvU5a+6zAc/oQEjBCJBTRIwCwYJYIZIAWUDBAIBoIGkMBoGCSqGSIb3
|
||||||
# DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjIxMjE1MDAxODI0
|
# DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjMwMTA2MjE0ODEz
|
||||||
# WjAvBgkqhkiG9w0BCQQxIgQgsw9WKFlYqvyfplQHJTt3QEkl2HZAxohscRE4ony+
|
# WjAvBgkqhkiG9w0BCQQxIgQgHSDSEiZ1z3yfLc/y0YCLnP2xwjdFHkPqw1Kcb6Qg
|
||||||
# 88owNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQgxHTOdgB9AjlODaXk3nwUxoD54oIB
|
# W7UwNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQgxHTOdgB9AjlODaXk3nwUxoD54oIB
|
||||||
# PP72U+9dtx/fYfgwCwYJKoZIhvcNAQEBBIIBADj8Kp9BIS2MqfSVaaxBzdwoWM0m
|
# PP72U+9dtx/fYfgwCwYJKoZIhvcNAQEBBIIBAAFLpmKwrgrGCC8EcqevsD8KuZzC
|
||||||
# 7f2eqqbMymXmX0msLnW3fITTw19Hun1fo9YebTmgXd5XttgHvFmjdHUkZnQAZDt7
|
# Eslww0wvaj4c6Vb/fXlJUtHMhrUc5l6YjLN+P1CeHYozr0A7ElD/ZVDjQol8yyPJ
|
||||||
# dk9h3KkGNqd5PMPiVAZnI8/ubaqV9Py+dGWT2bmdyBMan2CoU2U9sfAyIclGHxvn
|
# WGS+c8mRxq8iYpBnuqyxpYahzUhYPLl3JIpm4NAk379R3xzpFe02aZKwULDhPukw
|
||||||
# 1dbDS9NZpruOH4GTYtcPqROkN/sePoCKWqu5hzdq7HuAdsyQmf/6OP6JL7yft1Rb
|
# N0DNqmNUJj7YRxq56BbDN0Vw9HAAOWq02PXffqhUwS9vBUMBZDQjIxiBRdJdBGqn
|
||||||
# ZKHERak8wQqsgu5B/6f5j+M3vE01ZIWHvgaMrC/a6+EzeormRQAuF3B8Eg9a7/AU
|
# 1oaS25drZ1c+MmJL+Q3lpBYxKWzKs6DYX1M+p2bpxB9QU+x8FjHoFB0ogwwDKLGa
|
||||||
# 0C/w9SiFOKg4NYuUu2i+68HTNGTVhBUZ3eas1gZdz4AvYRj47BYIG62Ijhw=
|
# z6G4Vq2oTrTkvc6qYYukUiOoxZX79IlkzrYtAkjLQY7nIZsF/oiP4rnAuew=
|
||||||
# SIG # End signature block
|
# SIG # End signature block
|
||||||
|
Reference in New Issue
Block a user