Скрипт-таки доработал (я про это). Выбросил лишнее и сменил реализацию. Правда, в ущерб информативности, но это уже можно списать на «придумаю и допишу позже«.
Как и в классическом батнике образца мая 2022 года, скрипт спросит имя хоста для анализа и (если хост отвечает на icmp) выведет информацию о материнской плате, процессоре, оперативной памяти и накопителе. Вывод будет осуществляться в консоль.
[System.Console]::Title = "Общие данные о конфигурации удалённого хоста"
$remotehost = Read-Host "Имя удалённого хоста"
if (Test-Connection -ComputerName $remotehost -Quiet -Count 1)
{
# Получаем модель процессора #
$cpu = (Get-WmiObject -ComputerName $remotehost -Class win32_processor).Name
# Получаем модель материнской платы #
$mb = (Get-WmiObject -ComputerName $remotehost -Class win32_baseboard).Product
# Получаем общий объём оперативной памяти в МБ #
$memory = [int]((Get-WmiObject -ComputerName $remotehost -Class Win32_ComputerSystem).TotalPhysicalMemory/1mb)
# Получаем модели и количество плат ОЗУ #
$ram = -split (Get-WmiObject -ComputerName $remotehost -Class Win32_PhysicalMemory).PartNumber
$ramcount = [int]($ram | measure).Count
$rams = $ram -join ", "
# Получаем модели жёстких дисков #
$hdd = -split (Get-WmiObject -ComputerName $remotehost -Class Win32_diskdrive).Model
## Строим вывод в консоль ##
Clear
Write-Host
Write-Host "Удалённый хост: $remotehost" -ForegroundColor Cyan
Write-Host
Write-Host "ЦПУ: $cpu" -ForegroundColor Cyan
Write-Host "Материнская плата: $mb" -ForegroundColor Cyan
Write-Host
Write-Host "Общий объём оперативной памяти: $memory Мб" -ForegroundColor Cyan
Write-Host "Количество плат оперативной памяти: $ramcount шт." -ForegroundColor Cyan
if ($ramcount -eq 1) { Write-Host "Модель платы оперативной памяти: $ram" -ForegroundColor Cyan }
else { Write-Host "Модели плат оперативной памяти: $rams" -ForegroundColor Cyan }
Write-Host
Write-Host "Жёсткие диски: $hdd" -ForegroundColor Cyan
Read-Host
}
else { Write-Host "Удалённый хост $remotehost недоступен!" -ForegroundColor Red; Read-Host }
Кстати, где-то здесь был скрипт для получения данных о материнской плате c удалённых хостов.