[byte[]]$bInput = Get-Content D:\TEMP\test.exe -Encoding Byte -Raw
$bOriginal = [Byte[]](0x48, 0x83, 0xEC, 0x28, 0x48, 0x8D, 0x0D, 0xE5)
$bSubstitute = [Byte[]](0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88)
$bOutput = [Byte[]]("$bInput" -Replace "\b$bOriginal\b", "$bSubstitute" -Split '\s+')
Set-Content "D:\TEMP\test22.exe" -Encoding Byte -Value $bOutput
Да. Но использование для этой цели массивов оболочки выглядит странно и расточительно. В shell канонично считать строки командой wc -l
% find . -maxdepth 1 | wc -l
83
когда нужно выполнить ряд команд с привилегиями супер пользователя, чтобы не писать перед каждой командой sudo, я сначала выполняю команду sudo su
Ошибок никаких не наблюдаю