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



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

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

只是基本的消费者信息。内存、中央处理器、硬盘等等。我不需要也不想要电脑的每一个细节。

我知道MSinfo32、DxDiag、Speccy提供导出功能,但Speccy不通过CLI提供自动化功能,其他两个只是导出所有系统信息的全局。其中大部分都是私人的,对于我的需要来说是不必要的。

我能想到的唯一两种解决方案是,要么使用相当于grep/cat/awk命令的Windows,只筛选出必要的信息。考虑到每个系统显然都有不同的规格,这可能会被证明是相当乏味的。或者,使用程序(如果存在)指定要收集的规格和要排除的规格。

在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:USERPROFILEDesktopwelp.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

除了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或PowerShell 的优秀示例

微软有完整的在线文档,但它并没有真正让你了解如何使用它。

最新更新