从命令行界面获取系统信息

时间:2015-03-19 18:04:47

标签: windows powershell command-line-interface system-information

我正在尝试创建一个脚本,运行时会输出该计算机规格的文本文件。

是否有一个程序提供命令行界面来生成包含Windows操作系统上简化的计算机规范的文本文件?

只是基本的消费者信息。即:RAM,CPU,HDD等。我不需要或想要关于计算机的每一个细节。

据我所知,MSinfo32,DxDiag,Speccy提供导出功能,但是Speccy不通过CLI提供自动化,而另外两个只是导出所有系统信息的全局。其中大部分都是个人的,不需要我的东西。

我能想到的唯一两个解决方法是使用Windows等效的grep / cat / awk命令来筛选出必要的信息。事实证明,每个系统显然会有不同的规格,这可能会非常繁琐。或者,使用程序(如果存在)来指定要收集哪些规范以及遗漏哪些规范。

2 个答案:

答案 0 :(得分: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,但它并没有真正让您了解如何使用它。

答案 1 :(得分: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
相关问题