Skip to content

Commit c034a4e

Browse files
committed
Fix localization of error message 715-123130
* As usual, Microsoft are completely unable to properly process UTF-8 content, even if the response from an Invoke-WebRequest query explicitly specifies "charset=utf-8". * So, once again, we need to force PowerShell's hand to treat the content as UTF-8. * Also improve the default error message if we can't get it from Microsoft.
1 parent ce405fa commit c034a4e

File tree

1 file changed

+43
-38
lines changed

1 file changed

+43
-38
lines changed

Fido.ps1

+43-38
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Fido v1.62 - ISO Downloader, for Microsoft Windows and UEFI Shell
2+
# Fido v1.63 - ISO Downloader, for Microsoft Windows and UEFI Shell
33
# Copyright © 2019-2024 Pete Batard <[email protected]>
44
# Command line support: Copyright © 2021 flx5
55
# ConvertTo-ImageSource: Copyright © 2016 Chris Carter
@@ -516,16 +516,21 @@ function Get-Code-715-123130-Message
516516
Write-Host Querying $url
517517
}
518518
$r = Invoke-WebRequest -UseBasicParsing -TimeoutSec $DefaultTimeout -MaximumRedirection 0 $url
519+
# Microsoft's handling of UTF-8 content is soooooooo *UTTERLY BROKEN*!!!
520+
$r = [System.Text.Encoding]::UTF8.GetString($r.RawContentStream.ToArray())
519521
# PowerShell 7 forces us to parse the HTML ourselves
520522
$r = $r -replace "`n" -replace "`r"
521523
$pattern = '.*<input id="msg-01" type="hidden" value="(.*?)"/>.*'
522524
$msg = [regex]::Match($r, $pattern).Groups[1].Value
523-
$msg = $msg -replace "&lt;", "<" -replace "<[^>]+>" -replace "\s+", " " -replace "\?\?\?", "-"
524-
if ($msg -eq $null) {
525+
$msg = $msg -replace "&lt;", "<" -replace "<[^>]+>" -replace "\s+", " "
526+
if (($msg -eq $null) -or !($msg -match "715-123130")) {
525527
throw
526528
}
527529
} catch {
528-
$msg = "You are (temporarily) banned from using this Microsoft service. Please try againg later. Refer to message code 715-123130 and"
530+
$msg = "Your IP address has been banned by Microsoft for issuing too many ISO download requests or for "
531+
$msg += "belonging to a region of the world where sanctions currently apply. Please try again later.`r`n"
532+
$msg += "If you believe this ban to be in error, you can try contacting Microsoft by referring to "
533+
$msg += "message code 715-123130 and session ID "
529534
}
530535
return $msg
531536
}
@@ -1068,8 +1073,8 @@ exit $ExitCode
10681073
# SIG # Begin signature block
10691074
# MIItPAYJKoZIhvcNAQcCoIItLTCCLSkCAQExDzANBglghkgBZQMEAgEFADB5Bgor
10701075
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
1071-
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB0klYG7kMpXYlu
1072-
# 6Vmn7G7O3iGdiVPXhDhg2Qn662fa+aCCEkAwggVvMIIEV6ADAgECAhBI/JO0YFWU
1076+
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD6jbVu0UdrYfJb
1077+
# 8cK/D+0aQvT69PGzJ/i6VUytxeUOc6CCEkAwggVvMIIEV6ADAgECAhBI/JO0YFWU
10731078
# jTanyYqJ1pQWMA0GCSqGSIb3DQEBDAUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQI
10741079
# DBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoM
10751080
# EUNvbW9kbyBDQSBMaW1pdGVkMSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2Vy
@@ -1171,23 +1176,23 @@ exit $ExitCode
11711176
# MS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgRVYgUjM2
11721177
# AhA3xQo8HaADcccNx8YmkC/lMA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYBBAGCNwIB
11731178
# DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
1174-
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIMda0hrcJMlznUby0JMTJZii
1175-
# YrlB+XbYbN64MDk3LZaPMA0GCSqGSIb3DQEBAQUABIICAKK5L6bwuDw5ehUQPObq
1176-
# jol9xpRSY++pCqutnYyjg+rUWlkbizUiUOCZlUPwKhEOLy84RyhEXHwdVKYovTZE
1177-
# NMODe1cUOuYKmsVuOT6YalqSVx2OZamhwuuniBZZE2oiNskos2MkuzuAi8MIE3Er
1178-
# 3YwzvsFRrEeyr46yxGPGAMdU8oibriANnvhyCuAAg30OeIp8dWU53o51ncjqsuBL
1179-
# uCTdgXcHYHI5g9C/5pgLHHGWf77Gy2XZSnUaquXo1BAaPigmOYO26UIG3/bQ8WhN
1180-
# ahdGCIRU40fJI/WeYCCAS8xc+x6SuyZym49DdKqVwEDzy4bCzzr8x7f8AB/I7sgH
1181-
# yXWU8hKqjCdxtmi68BA0Ab49dVXGW7htMvdGsZH0nETjQBhZoVYttl3VcaCWNTO3
1182-
# IdQiEHA5ikWX3j/Jwo5XP+kodHxFf3PRE0Y1TIDh+RrhiC0tOND8HK4JlHBZZe2o
1183-
# sC+MFC2F7kfAUcFFaMPDIJ2vo/EjOC7fdItEJpVP+sY0CucleMXUHWN+JqT4qGTo
1184-
# zAppkvZdYsN1Btj0vtCbvB3snSRtskkwjcmjWLMuVS8LE9F23uwz7zYhiIU5JT4j
1185-
# htAQ0WP/98991HpLVkOzrFe2yUPKUpOlGXM8EjW+z8bqXeV+plr0Fel7l118gKwi
1186-
# 84aPf60L+QL51ro5wTFweNWkoYIXOjCCFzYGCisGAQQBgjcDAwExghcmMIIXIgYJ
1179+
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIGbl5diWRQ7DLJ4C9ZmKlcXk
1180+
# yUk9BLKAuJRp2vOgG9n7MA0GCSqGSIb3DQEBAQUABIICAJv8sDWT9KFIOBSMyjoJ
1181+
# ITeArTfFdB2PdmyduYPBtMwhD+D7YOLQUOcjNhLB7Fu3uYHvwMgRRd7L689Thf8k
1182+
# IbzyX/gb8OJBHUMnEbbS6M98//8yLsLGnmojDwhrv8v8EzPrWz+7nbDXkVF+PaoK
1183+
# Sgn6Q76Y+gZcVEW1rGhzAwBBW8LsWpcfTeLmUKjRozI8BwsEWv9i988fYraHlejb
1184+
# Wbsw3bwhjKr7afseQqHzw08aCPUl72AOlYGidiTfumYwKu8F+om0519gd/2JZmwq
1185+
# v+qWjWQioiAJ1Y4DgsZy1dNpe5+WketFb/wsV2lN+5MxZ86tx6f5zQSDwOWofqt9
1186+
# BzpSKZUTcfvML76EhQLhxxOZfS7safG5JrzOO4Xyt63hfBWGrQkz989pQWbiVrLq
1187+
# mWVb1ll+LLpsbtOf85isJYX8QYVeO4YPOLbESkbwDYvt3nvL0QVs/b7gxGTUY9SN
1188+
# P4q5nFLfQxPkAnm+fyuZKuIh6bjOyvtshDs8Z6J/bniVaZ4/jfbq5p20nKj3pXzb
1189+
# f+l8HXBp2mYEKxlfU1JMG8okCsXKUdopIlBHz8CpFqL6OkdkDysYHzz9ouMEda9b
1190+
# virrSgCS5ckpDvSkpVUBC+eSN6jWzS4bwAZr6F1G2aeJksSAdWWpAgcRaVW/sn5Z
1191+
# WGPmbB9nydrz4y5M+rNzwWZ7oYIXOjCCFzYGCisGAQQBgjcDAwExghcmMIIXIgYJ
11871192
# KoZIhvcNAQcCoIIXEzCCFw8CAQMxDzANBglghkgBZQMEAgEFADB4BgsqhkiG9w0B
1188-
# CRABBKBpBGcwZQIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAEIKv6jXxT
1189-
# SwYS1e/Id/A50U1BrZQmL4ZM3oinw9cfDogGAhEA4JCHEEKpszHYqo9JnStu0RgP
1190-
# MjAyNDExMTkyMjM3NDJaoIITAzCCBrwwggSkoAMCAQICEAuuZrxaun+Vh8b56QTj
1193+
# CRABBKBpBGcwZQIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAEILd71/a4
1194+
# gVVWP5LfUj3FWsx+HyT9V2GTMsQpcDkwaO+vAhEA7KPtUMEgD+i4B116YIMbURgP
1195+
# MjAyNDExMjAxMzQ0NTBaoIITAzCCBrwwggSkoAMCAQICEAuuZrxaun+Vh8b56QTj
11911196
# MwQwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lD
11921197
# ZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYg
11931198
# U0hBMjU2IFRpbWVTdGFtcGluZyBDQTAeFw0yNDA5MjYwMDAwMDBaFw0zNTExMjUy
@@ -1292,20 +1297,20 @@ exit $ExitCode
12921297
# ATB3MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkG
12931298
# A1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3Rh
12941299
# bXBpbmcgQ0ECEAuuZrxaun+Vh8b56QTjMwQwDQYJYIZIAWUDBAIBBQCggdEwGgYJ
1295-
# KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNDExMTky
1296-
# MjM3NDJaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFNvThe5i29I+e+T2cUhQhyTV
1297-
# hltFMC8GCSqGSIb3DQEJBDEiBCDJR/9SrHl3jTtyDm/69Jj4rIadIbkK8kPggAhw
1298-
# EixSTDA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCB2dp+o8mMvH0MLOiMwrtZWdf7X
1299-
# c9sF1mW5BZOYQ4+a2zANBgkqhkiG9w0BAQEFAASCAgBCDEmF9G2nc30BRigzIqkp
1300-
# 6C2LwvDVD4WP2lP7iodnfh0xJOH/mjtUhM5nN3mrl+g6njdSfQ0XSWTWFPktkB5K
1301-
# 4MfaSNY53ZBBJ7e2rx6TCcDCi8AHi8NvszFFQR6V2rtLxdwcbiRYcny0pW0oOnC7
1302-
# tFIbswA+bIfeOfakPxRWCSjYIalNZF07F0LrsTZwD1ZbZhJzbL97KSr/IgZWeZlH
1303-
# D55hGgtKUtXW/4lv55fO/Uv6HctZgD2HCwrt5pvRa4kWPM8h3D5ZMUpijqVzfiCJ
1304-
# G6gxArYx5fE89+/BiKGf8F7DJQxDTdcy1lLOFR3RhcYrEg1g3acQBDCc/tGnEeSS
1305-
# D7HDLUnzHq3VQ47Wm8MjLhL2e5myE+Jiy9TaQB67GHKtUAc4JlO8Ct6H2XkWk003
1306-
# 3gyNGsfK3PZsmG7syNgFz7lI+mCycqReACkV62IvFz+mVXCjCBGS80R2traxFSso
1307-
# TerPqC4VwGD9wgwrdXF1bzzOEv7zaV3k+XnrJqRG4ZY53no04ggttROT/HFBvthh
1308-
# wcUcFA17tYgMVosai1DNxJR+E+ioE+JoRJlCcfoGBcUi0D5G7NArraA/Hx97gMC3
1309-
# SMKHS4pToqOvXa3cg+GfQNXTjouKOQY86Bb1fx/Chjx84MRY1gzcTaZ5w+/CFpmH
1310-
# TTLfnQjpTLMeIpYWm0g7Eg==
1300+
# KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNDExMjAx
1301+
# MzQ0NTBaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFNvThe5i29I+e+T2cUhQhyTV
1302+
# hltFMC8GCSqGSIb3DQEJBDEiBCD5g3705gmlQz2bmcq2Ps3i0rw6NNi5j4xzgsrb
1303+
# +bNGlzA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCB2dp+o8mMvH0MLOiMwrtZWdf7X
1304+
# c9sF1mW5BZOYQ4+a2zANBgkqhkiG9w0BAQEFAASCAgA/HVsPnnLMgW3zayP9F6hC
1305+
# ax+xG80qXAKYvSIIP+auCO3RJKu5aR8JvSW/VjhJS7tZbuOR5bi+8sQE5FBRgWFJ
1306+
# vNB2i0CvZ/rA2UZgocgFi3Wcg0PIL/+TZ1/LpJt+BtWpKsvNqjvYzNyBTDdmXJkF
1307+
# +ukCZM8AZuTS1EkYQveAJMrda7r3gjGAbdtKyVK5wRaw1Wuw11KJPIIWXl4LomV+
1308+
# 34XJMsuD6t8PKYXSvOzAc5xsp38luVt6y6IQhrohZCM5PWoJVs86aWUEM5MV5xQr
1309+
# eTH+igDo7nWOcX/JDZpxU101BEsLoLXyJdyb1DKfMNoUwF9tQ1cHCus4IeDYuibg
1310+
# Bql4WoRWnfPMFtf8uX4/JLiNRSDu16NdKMsst665uJYy6xnWf5kZjH2m3PuLB8FB
1311+
# yrvuPsbX2vR+L2bsJbzCajCApIUl367h0jnhstuSNj/4xQi5nOjWJLaJEa+DydmT
1312+
# qfrwUp93ygM3A4zesia7lWak0dY0RLkm64CTDmveFete2z7dCBwcwmEqNLOPifen
1313+
# xe8EZ1jeWu6ylRRMEF/nMt6N0YVyDpEOLoOFsk8byOMAFIkcwDA8XN+EzqlDpygq
1314+
# S06fEdD/aKU3ORZoMa4fccY1DdmZi7jQXiGep0zF1HGsLKxvZ3oP0pzhexlRu0NG
1315+
# /eJVzlgUWLfkmuToCuzwqQ==
13111316
# SIG # End signature block

0 commit comments

Comments
 (0)