Данная тема - следствие вот это -
Какой минимальный код для скачивания и выполнения Powershell-скрипта с передачей в него аргументов?
Есть скрипт для поиска и замены hex-паттернов байт
https://github.com/Drovosek01/ReplaceHexPatcher/bl...
Я хочу сформировать однострочную команду для скачивания и выполнения этого скрипта, но командлет iex "ргуается" на комментарии в коде... и моментально закрывает окно Powershell
irm https://github.com/Drovosek01/ReplaceHexPatcher/raw/refs/heads/main/core/v2/ReplaceHexBytesAll.ps1 | iex
Хотя оригинальный файл в котором я пишу код - запускается без проблем.
Я переделал код на такой
& ([scriptblock]::Create((Invoke-RestMethod -Uri "https://github.com/Drovosek01/ReplaceHexPatcher/raw/refs/heads/main/core/v2/ReplaceHexBytesAll.ps1")))
Но он также выполнялся с ошибкой
Переделал код на такой, с скачиванием и сохранением его в файл и запуском файла
$url="https://github.com/Drovosek01/ReplaceHexPatcher/raw/refs/heads/main/core/v2/ReplaceHexBytesAll.ps1"; $f=[System.IO.Path]::GetTempFileName()+".ps1"; (irm $url)>$f; & $f
Но это все равно привело к ошибке
В итоге я перешел в папку %temp% и посмотрел созданный временный файл и он весил в 2 раза больше оригинального.
Оказалось, что скачанный код почему-то сохранился в файл с кодировкой UTF-16 LE
Почему так происходит?