1

Я пытаюсь создать сценарий, который при запуске выведет текстовый файл спецификаций этого компьютера.Получить системную информацию из интерфейса командной строки

Есть ли программа, которая предлагает интерфейс командной строки для создания текстового файла, содержащего упрощенные спецификации компьютера в ОС Windows?

Только основная информация о потребителях. т.е.: RAM, CPU, HDD и т. д. Мне не нужны или не нужны все последние подробности об этом компьютере.

Я понимаю, что MSinfo32, DxDiag, Speccy предлагают функции экспорта, однако Speccy не предлагает автоматизацию через CLI, а две другие просто экспортируют glob всей информации о системе. Большая часть из них является личной и ненужной для того, что мне нужно.

Единственное, что я могу придумать, - либо использовать эквивалент Windows команды grep/cat/awk, чтобы отфильтровать только необходимую информацию. Что может показаться довольно утомительным, поскольку каждая система, очевидно, имеет разные спецификации. В качестве альтернативы, используйте программу (если она существует), чтобы указать, какие спецификации собирать и какие из них оставить.

+0

Вы можете использовать 'Powershell', но есть кривая обучения. См. Сначала [Википедия] (http://en.wikipedia.org/wiki/Windows_PowerShell). – mins

+0

Многие langauges, [даже cmd] (http://betanews.com/2011/01/14/wmic-the-best-command-line-tool-you-ve-never-used/), поддержка [WMI] (https://msdn.microsoft.com/en-us/library/aa394582%28v=vs.85%29.aspx). Это будет тот путь, который я возьму для этого. PowerShell может сделать это лучше, но вы должны знать, как использовать его, чтобы он был наиболее эффективным. Вы можете начать поиск здесь для ответов WMI PowerShell. Посмотрите на http: // stackoverflow.ком/вопросы/6298941/как-ду-я-найти-CPU-и-RAM-использование-Using-PowerShell – Matt

ответ

2

В PowerShell:

$System = Get-CimInstance CIM_ComputerSystem 
$BIOS = Get-CimInstance CIM_BIOSElement 
$OS = Get-CimInstance CIM_OperatingSystem 
$CPU = Get-CimInstance CIM_Processor 
$HDD = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID = 'C:'" 
$EXTXT = "$env:USERPROFILE\Desktop\welp.txt" 
Clear-Host 

"Manufacturer: " + $System.Manufacturer >> $EXTXT 
"Model: " + $System.Model >> $EXTXT 
"CPU: " + $CPU.Name >> $EXTXT 
"RAM: " + "{0:N2}" -f ($System.TotalPhysicalMemory/1GB) + "GB" >> $EXTXT 
"HDD Capacity: " + "{0:N2}" -f ($HDD.Size/1GB) + "GB" >> $EXTXT 
"Operating System: " + $OS.caption >> $EXTXT 

В ответ на мой вопрос получил меня лучшие результаты поиска. Большая часть исходного кода отсюда: http://community.spiceworks.com/scripts/show_download/1831
После этого я смог скомпоновать добавление и прочее. Сохраните формат .ps1, и это хорошо.

Или, если вы предпочитаете, то же, относительный, скрипт написан на Python. Использование собственных команд Windows и PowerShell.

import os 
import wmi 
import math 

c = wmi.WMI()  
SYSINFO = c.Win32_ComputerSystem()[0] 
OSINFO = c.Win32_OperatingSystem()[0] 
CPUINFO = c.Win32_Processor()[0] 
HDDINFO = c.Win32_LogicalDisk()[0] 
RAMINFO = c.Win32_PhysicalMemory()[0] 

MANUFACTURER = SYSINFO.Manufacturer 
MODEL = SYSINFO.Model 
RAMTOTAL = int(SYSINFO.TotalPhysicalMemory) 
HDDTOTAL = int(HDDINFO.size) 
RAMSIZE = round(RAMTOTAL) 
HDDSIZE = round(HDDTOTAL) 

os.system('cls') 
print "Model: " + MANUFACTURER + " " + MODEL 
print "\r" 
print "HDD: " + str(HDDTOTAL) + "GB" 
print "RAM: " + str(RAMTOTAL) + "GB" 
print "CPU: " + CPUINFO.name 
print "OS: " + OSINFO.caption 
3

Помимо PowerShell, WMIC представляет собой встроенный инструмент командной строки, который предназначен для передачи данных WMI, включая все виды системной информации и вывода их в различных форматах. В нем нет отчета о аппаратных средствах системных систем, но вы можете использовать его для получения нужных настроек.

Например, для вывода списка дисков на компьютере, я могу выполнить следующее:

C:\>wmic diskdrive get Manufacturer,Partitions,Size /value 
Manufacturer=(Standard disk drives) 
Partitions=2 
Size=320070320640 

...

Или, если вы хотите лодку информации о конкретном изделии, вы можете использовать это:

wmic cpu list /format:list 

AddressWidth=64 
Architecture=9 
Availability=3 
Caption=Intel64 Family 6 Model 26 Stepping 5 
ConfigManagerErrorCode= 
ConfigManagerUserConfig= 
CpuStatus=1 
CreationClassName=Win32_Processor 
CurrentClockSpeed=2794 
CurrentVoltage= 
DataWidth=64 
Description=Intel64 Family 6 Model 26 Stepping 5 
DeviceID=CPU0 

...

LoadPercentage=24 
Manufacturer=GenuineIntel 
MaxClockSpeed=2794 
Name=Intel(R) Xeon(R) CPU   W3530 @ 2.80GHz 

Этот сайт показывает отличные примеры для WMIC or PowerShell

Microsoft имеет full documentation в Интернете, но это действительно не дает вам понять, как использовать его.