Windows——WMIC命令简单使用[windows获取private bytes]

前言

开发一个electron的应用,需要获取到某一应用程序的Private Bytes,查看了微软的文档后发现了神奇的WMIC命令;
鉴于本次只操作process的信息,所以命令详解只会演示下有关process的哈~

文档: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wmic

内容

帮助文档

C:\Users\WangYang>wmic /?

[全局开关] <命令>

可以使用以下全局开关:
/NAMESPACE           别名在其上操作的命名空间的路径。
/ROLE                包含别名定义的角色的路径。
/NODE                别名在其上操作的服务器。
/IMPLEVEL            客户端模拟级别。
/AUTHLEVEL           客户端身份验证级别。
/LOCALE              客户端应使用的语言 ID。
/PRIVILEGES          启用或禁用所有权限。
/TRACE               将调试信息输出到 stderr。
/RECORD              记录所有输入命令和输出内容。
/INTERACTIVE         设置或重置交互模式。
/FAILFAST            设置或重置 FailFast 模式。
/USER                会话期间要使用的用户。
/PASSWORD            登录会话时要使用的密码。
/OUTPUT              指定输出重定向模式。
/APPEND              指定输出重定向模式。
/AGGREGATE           设置或重置聚合模式。
/AUTHORITY           指定连接的 <授权类型>。
/?[:<BRIEF|FULL>]    用法信息。

有关特定全局开关的详细信息,请键入: switch-name /?

按任意键可继续操作,或按 Esc 键停止操作
当前角色中可以使用以下别名:
ALIAS                    - 对本地系统上可用别名的访问
BASEBOARD                - 基板(也称为主板或系统板)管理。
BIOS                     - 基本输入/输出服务(BIOS)管理。
BOOTCONFIG               - 启动配置管理。
CDROM                    - CD-ROM 管理。
COMPUTERSYSTEM           - 计算机系统管理。
CPU                      - CPU 管理。
CSPRODUCT                - SMBIOS 中的计算机系统产品信息。
DATAFILE                 - 数据文件管理。
DCOMAPP                  - DCOM 应用程序管理。
DESKTOP                  - 用户的桌面管理。
DESKTOPMONITOR           - 桌面监视器管理。
DEVICEMEMORYADDRESS      - 设备内存地址管理。
DISKDRIVE                - 物理磁盘驱动器管理。
DISKQUOTA                - 用于 NTFS 卷的磁盘空间使用量。
DMACHANNEL               - 直接内存访问(DMA)通道管理。
ENVIRONMENT              - 系统环境设置管理。
FSDIR                    - 文件系统目录项管理。
GROUP                    - 组帐户管理。
IDECONTROLLER            - IDE 控制器管理。
IRQ                      - 中断请求线路(IRQ)管理。
JOB                      - 提供对使用计划服务安排的作业的访问。
LOADORDER                - 定义执行依赖关系的系统服务的管理。
LOGICALDISK              - 本地存储设备管理。
LOGON                    - 登录会话。
MEMCACHE                 - 缓存内存管理。
MEMORYCHIP               - 内存芯片信息。
MEMPHYSICAL              - 计算机系统的物理内存管理。
NETCLIENT                - 网络客户端管理。
NETLOGIN                 - 网络登录信息(属于特定用户)管理。
NETPROTOCOL              - 协议(及其网络特征)管理。
NETUSE                   - 活动网络连接管理。
NIC                      - 网络接口控制器(NIC)管理。
NICCONFIG                - 网络适配器管理。
NTDOMAIN                 - NT 域管理。
NTEVENT                  - NT 事件日志中的项目。
NTEVENTLOG               - NT 事件日志文件管理。
ONBOARDDEVICE            - 主板(系统板)中内置的通用适配器设备的管理。
OS                       - 已安装操作系统的管理。
PAGEFILE                 - 虚拟内存文件交换管理。
PAGEFILESET              - 页面文件设置管理。
PARTITION                - 物理磁盘的已分区区域的管理。
PORT                     - I/O 端口管理。
PORTCONNECTOR            - 物理连接端口管理。
PRINTER                  - 打印机设备管理。
PRINTERCONFIG            - 打印机设备配置管理。
PRINTJOB                 - 打印作业管理。
PROCESS                  - 进程管理。
PRODUCT                  - 安装程序包任务管理。
QFE                      - 快速修复工程。
QUOTASETTING             - 卷上的磁盘配额设置信息。
RDACCOUNT                - 远程桌面连接权限管理。
RDNIC                    - 对特定网络适配器的远程桌面连接管理。
RDPERMISSIONS            - 特定远程桌面连接的权限。
RDTOGGLE                 - 远程打开或关闭远程桌面侦听程序。
RECOVEROS                - 操作系统出现故障时将从内存收集的信息。
REGISTRY                 - 计算机系统注册表管理。
SCSICONTROLLER           - SCSI 控制器管理。
SERVER                   - 服务器信息管理。
SERVICE                  - 服务应用程序管理。
SHADOWCOPY               - 卷影副本管理。
SHADOWSTORAGE            - 卷影副本存储区域管理。
SHARE                    - 共享资源管理。
SOFTWAREELEMENT          - 系统上安装的软件产品元素的管理。
SOFTWAREFEATURE          - SoftwareElement 的软件产品子集的管理。
SOUNDDEV                 - 声音设备管理。
STARTUP                  - 当用户登录到计算机系统时自动运行的命令的管理。
SYSACCOUNT               - 系统帐户管理。
SYSDRIVER                - 基本服务的系统驱动程序管理。
SYSTEMENCLOSURE          - 物理系统外壳管理。
SYSTEMSLOT               - 物理连接点(包括端口、插槽和外设以及专用连接点)的管理。
TAPEDRIVE                - 磁带驱动器管理。
TEMPERATURE              - 温度传感器(电子温度计)数据管理。
TIMEZONE                 - 时区数据管理。
UPS                      - 不间断电源(UPS)管理。
USERACCOUNT              - 用户帐户管理。
VOLTAGE                  - 电压传感器(电子电压表)数据管理。
VOLUME                   - 本地存储卷管理。
VOLUMEQUOTASETTING       - 将磁盘配额设置与特定磁盘卷相关联。
VOLUMEUSERQUOTA          - 每用户存储卷配额管理。
WMISET                   - WMI 服务操作参数管理。

有关特定别名的详细信息,请键入: alias /?

CLASS     - 按 Esc 键可获取完整 WMI 架构。
PATH      - 按 Esc 键可获取完整 WMI 对象路径。
CONTEXT   - 显示所有全局开关的状态。
QUIT/EXIT - 退出程序。

有关 CLASS/PATH/CONTEXT 的详细信息,请键入: (CLASS | PATH | CONTEXT) /?

交互式命令行

C:\Users\WangYang>wmic
wmic:root\cli>process /?


PROCESS - 进程管理。

提示: BNF 的别名用法。
(<别名> [WMI 对象] | <别名> [<路径 where>] | [<别名>] <路径 where>) [<谓词子句>]。

用法:

PROCESS ASSOC [<格式说明符>]
PROCESS CALL <方法名称> [<实际参数列表>]
PROCESS CREATE <分配列表>
PROCESS DELETE
PROCESS GET [<属性列表>] [<获取开关>]
PROCESS LIST [<列表格式>] [<列表开关>]
wmic:root\cli>
键入“/?”可获取帮助,键入 QUIT 可退出。

非交互式命令行

C:\Users\WangYang>wmic process /?

PROCESS - 进程管理。

提示: BNF 的别名用法。
(<别名> [WMI 对象] | <别名> [<路径 where>] | [<别名>] <路径 where>) [<谓词子句>]。

用法:

PROCESS ASSOC [<格式说明符>]
PROCESS CALL <方法名称> [<实际参数列表>]
PROCESS CREATE <分配列表>
PROCESS DELETE
PROCESS GET [<属性列表>] [<获取开关>]
PROCESS LIST [<列表格式>] [<列表开关>]

因为是在electron中去调用所以非交互式肯定是我的首选

命令详解

process

  1. 查询指定应用的全部信息
C:\Users\WangYang>wmic process where name="WXWork.exe" list full

CommandLine="D:\Program Files (x86)\WXWork\WXWork.exe" /relogin_param=EAQaBuayieeUuCIAMKkJOP0BQPBpSMTsk/2BgIADUKut74iZAloAYhLlubPlronpk7booYzmtYvor5U=
CSName=WANGYANG
Description=WXWork.exe
ExecutablePath=D:\Program Files (x86)\WXWork\WXWork.exe
ExecutionState=
Handle=8740
HandleCount=1552
InstallDate=
KernelModeTime=41406250
MaximumWorkingSetSize=1380
MinimumWorkingSetSize=200
Name=WXWork.exe
OSName=Microsoft Windows 11 Pro for Workstations|C:\WINDOWS|\Device\Harddisk0\Partition3
OtherOperationCount=138247
OtherTransferCount=1306930
PageFaults=317919
PageFileUsage=171972
ParentProcessId=13552
PeakPageFileUsage=174308
PeakVirtualSize=723214336
PeakWorkingSetSize=181060
Priority=8
PrivatePageCount=176099328
ProcessId=8740
QuotaNonPagedPoolUsage=151
QuotaPagedPoolUsage=999
QuotaPeakNonPagedPoolUsage=360
QuotaPeakPagedPoolUsage=1023
ReadOperationCount=26043
ReadTransferCount=490201939
SessionId=1
Status=
TerminationDate=
ThreadCount=85
UserModeTime=45156250
VirtualSize=699047936
WindowsVersion=10.0.22598
WorkingSetSize=183103488
WriteOperationCount=16299
WriteTransferCount=50982793
  1. 显示摘要信息
    通过list的参数可以展示指定的信息
C:\Users\WangYang>wmic process where name="WXWork.exe" list /?

属性列表操作。
用法:

LIST [<列表格式>] [<列表开关>]

可以使用以下 LIST 格式:

BRIEF                     - ThreadCount, HandleCount, Name, Priority, ProcessId, WorkingSetSize
FULL                      - CommandLine, CSName, Description, ExecutablePath, ExecutionState, Handle, HandleCount, InstallDate, KernelModeTime, MaximumWorkingSetSize, MinimumWorkingSetSize, Name, OSName, OtherOperationCount, OtherTransferCount, PageFaults, PageFileUsage, ParentProcessId, PeakPageFileUsage, PeakVirtualSize, PeakWorkingSetSize, Priority, PrivatePageCount, ProcessId, QuotaNonPagedPoolUsage, QuotaPagedPoolUsage, QuotaPeakNonPagedPoolUsage, QuotaPeakPagedPoolUsage, ReadOperationCount, ReadTransferCount, SessionId, Status, TerminationDate, ThreadCount, UserModeTime, VirtualSize, WindowsVersion, WorkingSetSize, WriteOperationCount, WriteTransferCount
INSTANCE                  - __PATH
IO                        - Name, ProcessId, ReadOperationCount, ReadTransferCount, WriteOperationCount, WriteTransferCount
MEMORY                    - Handle, MaximumWorkingSetSize, MinimumWorkingSetSize, Name, PageFaults, PageFileUsage, PeakPageFileUsage, PeakVirtualSize, PeakWorkingSetSize, PrivatePageCount, QuotaNonPagedPoolUsage, QuotaPagedPoolUsage, QuotaPeakNonPagedPoolUsage, QuotaPeakPagedPoolUsage, VirtualSize, WorkingSetSize
STATISTICS                - HandleCount, Name, KernelModeTime, MaximumWorkingSetSize, MinimumWorkingSetSize, OtherOperationCount, OtherTransferCount, PageFaults, PageFileUsage, PeakPageFileUsage, PeakVirtualSize, PeakWorkingSetSize, PrivatePageCount, ProcessId, QuotaNonPagedPoolUsage, QuotaPagedPoolUsage, QuotaPeakNonPagedPoolUsage, QuotaPeakPagedPoolUsage, ReadOperationCount, ReadTransferCount, ThreadCount, UserModeTime, VirtualSize, WorkingSetSize, WriteOperationCount, WriteTransferCount
STATUS                    - Status, Name, ProcessId
SYSTEM                    - __CLASS, __DERIVATION, __DYNASTY, __GENUS, __NAMESPACE, __PATH, __PROPERTY_COUNT, __RELPATH, __SERVER, __SUPERCLASS

可以使用以下 LIST 开关:

/TRANSLATE:<表名称>      - 通过 <表名称> 中的值转换输出。
/EVERY:<间隔> [/REPEAT:<重复计数>] - 如果 /REPEAT 已指定命令执行 <重复计数> 次,则每(X 间隔)秒返回值。
/FORMAT:<格式说明符>   - 处理 XML 结果的关键字/XSL 文件名。

注意: /TRANSLATE 和 /FORMAT 开关的顺序会影响输出外观。
第一种情况: 如果 /TRANSLATE 位于 /FORMAT 之前,则编排格式会跟在结果转换之后。
第二种情况: 如果 /TRANSLATE 位于 /FORMAT 之后,则转换已编排了格式的结果。
posted @ 2022-04-18 15:35  。思索  阅读(492)  评论(0编辑  收藏  举报