前言
开发一个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
- 查询指定应用的全部信息
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
- 显示摘要信息
通过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 之后,则转换已编排了格式的结果。
学无止境,谦卑而行.