跳转至

系统信息命令

概述

Windows提供了多种获取系统信息的命令,用于查看硬件配置、系统版本、环境变量等信息。

systeminfo - 系统详细信息

systeminfo命令

显示关于计算机及其操作系统的详细配置信息。

语法

Text Only
systeminfo [/s computer [/u domain\user [/p password]]] [/fo {list | table | csv}] [/nh]

选项: - /s computer:指定远程计算机 - /u:指定用户名 - /p:指定密码 - /fo:输出格式(list, table, csv) - /nh:不显示列标题

示例

Text Only
1
2
3
4
5
systeminfo                        # 显示完整系统信息
systeminfo /fo table              # 表格格式
systeminfo /fo csv                # CSV格式
systeminfo /fo csv > sysinfo.csv  # 导出到文件
systeminfo /s 192.168.1.100       # 远程计算机信息

输出内容: - 主机名 - OS名称、版本、制造商 - 系统类型、处理器 - BIOS版本 - Windows目录、系统目录 - 启动设备、系统区域设置 - 总物理内存、可用的物理内存 - 安装日期、启动时间

msinfo32 - 系统信息工具

Text Only
1
2
3
msinfo32                          # 打开系统信息图形界面
msinfo32 /report sysinfo.txt      # 生成报告
msinfo32 /computer \\server01     # 连接远程计算机

hostname - 主机名

Text Only
hostname                          # 显示计算机名

whoami - 当前用户信息

Text Only
1
2
3
4
5
6
whoami                            # 显示当前用户
whoami /all                       # 显示所有信息
whoami /user                      # 显示用户SID
whoami /groups                    # 显示组信息
whoami /priv                      # 显示特权信息
whoami /fqdn                      # 显示完全限定域名

ver - 系统版本

Text Only
ver                               # 显示Windows版本

环境变量

set - 查看和设置环境变量

Text Only
1
2
3
4
5
6
set                               # 显示所有环境变量
set PATH                          # 显示PATH变量
set JAVA_HOME=C:\Java             # 设置环境变量(临时)
set MYVAR=                        # 删除环境变量
set /a result=2+3                 # 计算表达式
set /p input=请输入:              # 等待用户输入

setx - 永久设置环境变量

Text Only
1
2
3
setx MYVAR "Hello World"          # 设置用户环境变量
setx MYVAR "Hello World" /M       # 设置系统环境变量(需管理员)
setx PATH "%PATH%;C:\MyApp"       # 添加到PATH

echo - 显示环境变量值

Text Only
1
2
3
4
5
6
7
echo %PATH%                       # 显示PATH值
echo %USERNAME%                   # 显示用户名
echo %COMPUTERNAME%               # 显示计算机名
echo %DATE%                       # 显示日期
echo %TIME%                       # 显示时间
echo %OS%                         # 显示操作系统名
echo %NUMBER_OF_PROCESSORS%       # 显示处理器数量

wmic系统信息

wmic os - 操作系统信息

Text Only
1
2
3
4
5
6
wmic os get caption,version       # 系统版本
wmic os get serialnumber          # 序列号
wmic os get lastbootuptime        # 最后启动时间
wmic os get totalvisiblememorysize,freephysicalmemory  # 内存信息
wmic os call reboot               # 重启系统
wmic os call shutdown             # 关机

wmic computersystem - 计算机系统信息

Text Only
1
2
3
4
5
6
7
8
wmic computersystem get model     # 计算机型号
wmic computersystem get manufacturer  # 制造商
wmic computersystem get totalphysicalmemory  # 总物理内存
wmic computersystem get numberofprocessors  # 处理器数量
wmic computersystem get username  # 当前用户
wmic computersystem get domain    # 域名
wmic computersystem get workgroup # 工作组
wmic computersystem call rename "NewName"  # 重命名计算机

wmic cpu - CPU信息

Text Only
1
2
3
4
5
6
7
wmic cpu get name                 # CPU名称
wmic cpu get numberofcores        # 核心数
wmic cpu get numberoflogicalprocessors  # 逻辑处理器数
wmic cpu get maxclockspeed        # 最大时钟频率
wmic cpu get currentclockspeed    # 当前时钟频率
wmic cpu get loadpercentage       # 负载百分比
wmic cpu list full                # 完整信息

wmic memorychip - 内存信息

Text Only
1
2
3
4
5
wmic memorychip get capacity      # 容量
wmic memorychip get speed         # 速度
wmic memorychip get manufacturer  # 制造商
wmic memorychip get partnumber    # 部件号
wmic memorychip list full         # 完整信息

wmic bios - BIOS信息

Text Only
1
2
3
4
wmic bios get serialnumber        # 序列号
wmic bios get version             # 版本
wmic bios get manufacturer        # 制造商
wmic bios get releasedate         # 发布日期

wmic baseboard - 主板信息

Text Only
1
2
3
4
wmic baseboard get product        # 产品名
wmic baseboard get manufacturer   # 制造商
wmic baseboard get serialnumber   # 序列号
wmic baseboard get version        # 版本

PowerShell系统信息

获取系统信息

PowerShell
1
2
3
Get-ComputerInfo                  # 完整系统信息
Get-ComputerInfo -Property Os*    # 仅OS相关属性
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildTime

获取操作系统信息

PowerShell
1
2
3
Get-CimInstance Win32_OperatingSystem
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber
(Get-CimInstance Win32_OperatingSystem).Caption

获取计算机系统信息

PowerShell
Get-CimInstance Win32_ComputerSystem
Get-CimInstance Win32_ComputerSystem | Select-Object Name, Domain, TotalPhysicalMemory

获取CPU信息

PowerShell
1
2
3
Get-CimInstance Win32_Processor
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
Get-WmiObject Win32_Processor | Measure-Object LoadPercentage -Average

获取内存信息

PowerShell
1
2
3
Get-CimInstance Win32_PhysicalMemory
Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum
Get-CimInstance Win32_PhysicalMemory | Select-Object Manufacturer, Capacity, Speed

获取BIOS信息

PowerShell
Get-CimInstance Win32_BIOS
Get-CimInstance Win32_BIOS | Select-Object SerialNumber, Version, Manufacturer

获取环境变量

PowerShell
1
2
3
4
5
6
Get-ChildItem Env:                # 所有环境变量
$env:PATH                         # PATH变量
$env:USERNAME                     # 用户名
$env:COMPUTERNAME                 # 计算机名
[Environment]::GetEnvironmentVariable("PATH", "Machine")  # 系统PATH
[Environment]::GetEnvironmentVariable("PATH", "User")     # 用户PATH

设置环境变量

PowerShell
1
2
3
$env:MYVAR = "Hello"              # 设置临时变量
[Environment]::SetEnvironmentVariable("MYVAR", "Hello", "User")  # 永久设置用户变量
[Environment]::SetEnvironmentVariable("MYVAR", "Hello", "Machine")  # 永久设置系统变量

硬件信息查询

wmic diskdrive - 磁盘驱动器

Text Only
1
2
3
wmic diskdrive get model,size,status
wmic diskdrive get interfacetype
wmic diskdrive list brief

wmic nic - 网络适配器

Text Only
1
2
3
wmic nic get name,macaddress
wmic nic where "NetEnabled=true" get name,macaddress,ipaddress
wmic nicconfig get ipaddress,macaddress

wmic product - 已安装软件

Text Only
wmic product get name,version
wmic product where "name like '%Office%'" get name,version

实用脚本

导出系统信息到文件

Text Only
@echo off
echo === System Information === > sysinfo.txt
systeminfo >> sysinfo.txt
echo. >> sysinfo.txt
echo === CPU Information === >> sysinfo.txt
wmic cpu get name,numberofcores >> sysinfo.txt
echo. >> sysinfo.txt
echo === Memory Information === >> sysinfo.txt
wmic memorychip get capacity,speed >> sysinfo.txt
echo. >> sysinfo.txt
echo === Disk Information === >> sysinfo.txt
wmic diskdrive get model,size >> sysinfo.txt

检查系统版本

Text Only
@echo off
ver | find "10.0" > nul
if %errorlevel% equ 0 (
    echo Windows 10 or later
) else (
    ver | find "6.3" > nul
    if %errorlevel% equ 0 (
        echo Windows 8.1
    )
)

PowerShell系统报告

PowerShell
$report = @{
    ComputerName = $env:COMPUTERNAME
    OS = (Get-CimInstance Win32_OperatingSystem).Caption
    CPU = (Get-CimInstance Win32_Processor).Name
    Cores = (Get-CimInstance Win32_Processor).NumberOfCores
    MemoryGB = [math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB, 2)
    Uptime = (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
}

[PSCustomObject]$report | Format-List

参考资料