PSScript: Определение архитектуры
27.03.2018 4 комментария
Нашел скрипт в просторах интернета, который определяет архитектуру (битность) библиотеки и немного доработал его.
function Get-FilePlatform { param ( [ValidateScript({$_.Exists})] [System.IO.FileInfo]$FileName ) [int]$PE_POINTER_OFFSET = 60; [int]$MACHINE_OFFSET = 4; [byte[]]$Data = New-Object byte[] 4096; [IO.Stream]$Stream = New-Object IO.FileStream($FileName, [IO.FileMode]::Open, [IO.FileAccess]::Read) $Stream.Read($Data, 0, $Data.Length) | Out-Null [int]$PE_HEADER_ADDR = [BitConverter]::ToInt32($Data, $PE_POINTER_OFFSET); [int]$MachineUint = [BitConverter]::ToUInt16($Data, $PE_HEADER_ADDR + $MACHINE_OFFSET); switch($MachineUint) { 0x0000 {"Native"} 0x014c {"x86"} 0x0200 {"Itanium"} 0x8664 {"x64"} } $Stream.Close() }
Внезапно. 😉
06.12.2016 и 27.03.2018. Хм.. ))))
Всё реже и реже 🙂
следующий пост должен быть в 2022ом.
зыж на коммент ответ так же молниеносный ))))
Надеюсь, что будет чуть раньше 🙂