Я не совсем уверен, правильно ли я понял вопрос, но вы можете скачать двоичный файл и сохранить байты в файле.
Для демонстрации я использовал 7zip.exe.
$Response = Invoke-WebRequest -Uri "https://www.7-zip.org/a/7z1900-x64.exe" -OutFile "D:\decryption.key"
или с помощью BitsTransfer
Import-Module BitsTransfer
Start-BitsTransfer -Source "https://www.7-zip.org/a/7z1900-x64.exe" -Destination "D:\decryption.key"
Затем вы можете прочитать этот файл как байтовый массив, используя:
[byte[]]$bytes = [System.IO.File]::ReadAllBytes("D:\decryption.key")
Или как строку с отображением байтов 1: 1 с помощью этого помощника.функция:
function Import-BinaryString {
# Imports the bytes of a file to a string that has a
# 1-to-1 mapping back to the file's original bytes.
# Useful for performing binary regular expressions.
Param (
[Parameter(Mandatory = $True, ValueFromPipeline = $True, Position = 0)]
[ValidateScript( { Test-Path $_ -PathType Leaf } )]
[String]$Path
)
$Stream = New-Object System.IO.FileStream -ArgumentList $Path, 'Open', 'Read'
# Note: Codepage 28591 returns a 1-to-1 char to byte mapping
$Encoding = [Text.Encoding]::GetEncoding(28591)
$StreamReader = New-Object System.IO.StreamReader -ArgumentList $Stream, $Encoding
$BinaryText = $StreamReader.ReadToEnd()
$StreamReader.Close()
$Stream.Close()
return $BinaryText
}
и использовать его с:
$binaryString = Import-BinaryString -Path "D:\decryption.key"
Надеюсь, что поможет