Нашёл на Stack Overflow хорошую функцию по определению разрядности ОС и процесса #PowerShell. Запишу, обязательно пригодится.
Разрядность ОС можно определить следующей функцией:
1
2
3
4
5
6
7
8
9
10
11
12
13
| function Get-Architecture {
# What bitness does Windows use.
switch ([Environment]::Is64BitOperatingSystem) { # Needs '.NET 4'.
$true { 64; break }
$false { 32; break }
default {
(Get-WmiObject -Class Win32_OperatingSystem).OSArchitecture -replace '\D'
# Or do any of these:
# (Get-WmiObject -Class Win32_ComputerSystem).SystemType -replace '\D' -replace '86', '32'
# (Get-WmiObject -Class Win32_Processor).AddressWidth # This is slow...
}
}
}
|
Можно записать эту функцию в файл и запустить файл в терминале, или же внедрить в крупный проект и вызывать по имени Get-Architecture
.
Расширенная версия, которая позволяет определить разрядность ОС и процесса PowerShell, под которым выполняется функция.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| function Get-Architecture {
# What bitness does Windows use.
$windowsBitness = switch ([Environment]::Is64BitOperatingSystem) { # Needs '.NET 4'.
$true { 64; break }
$false { 32; break }
default {
(Get-WmiObject -Class Win32_OperatingSystem).OSArchitecture -replace '\D'
# Or do any of these:
# (Get-WmiObject -Class Win32_ComputerSystem).SystemType -replace '\D' -replace '86', '32'
# (Get-WmiObject -Class Win32_Processor).AddressWidth # Slow...
}
}
# What bitness does this PowerShell process use.
$processBitness = [IntPtr]::Size * 8
# Or do any of these:
# $processBitness = $env:PROCESSOR_ARCHITECTURE -replace '\D' -replace '86|ARM', '32'
# $processBitness = if ([Environment]::Is64BitProcess) { 64 } else { 32 }
# Return the info as object.
New-Object -TypeName PSObject -Property @{
'ProcessArchitecture' = "{0} bit" -f $processBitness
'WindowsArchitecture' = "{0} bit" -f $windowsBitness
}
}
|
Можно записать эту функцию в файл и запустить файл в терминале, или же внедрить в крупный проект и вызывать по имени Get-Architecture
.
1
2
3
4
5
| .\arch.ps1
ProcessArchitecture WindowsArchitecture
------------------- -------------------
64 bit 64 bit
|