我们的windows系统除了大家都熟悉的cmd命令行工具外,还有另一个更强大的命令行shell你知道是什么吗?
关于windows命令行不如unix和linux强大,是一直以来的诟病。然而这种情况正在改变,微软花费大量精力建造的wmic,wmic虽然鲜为人知,但是功能非常强大,它具有许多的选项使得windows命令行变得越来越强大。可以使我们有效地管理系统。
Windows中的WMIC是什么?
WMIC是Windows Management Instrumentation控制台(WMI控制台)的缩写。通过WMIC,可以同时管理本地和远程计算机,并且可以执行任何类型的任务,例如获取信息,启动,停止,暂停进程和服务,以及更改以管理员身份访问的计算机上的任何类型的配置。
从命令行或批处理文件中使用WMI控制台获取有关PC硬件和软件的信息,并在Windows中管理系统获取数据,控制和执行各种任务。代码和实际示例如下。
使用WMIC获取系统信息的命令示例
您可以使用一些命令示例来获取有关硬件完整部分的所有信息,这些情况下的输出将在屏幕上显示该信息。
如何在WMIC中使用命令
您可以通过几种方式使用示例命令:
1--将命令提示符实例复制并粘贴到窗口中。
2--将它们复制并粘贴到“开始”中,然后按Enter键。
在这种情况下,必须在它们前面加上:cmd /k。
cmd /k WMIC /Output:STDOUT BIOS get /all /format:LIST
3--创建一个批处理文件,并将其包含在其中。
默认情况下,WMIC返回的信息以列表格式显示在“命令提示符”屏幕上。
要将其写入文本文件,请用/Output:lista.txt替换参数:/ Output:STDOUT。
要将其写入文件以使用Excel打开和编辑,请用/Output:lista.xls替换参数:/ Output:Stdout。
使用WMIC的示例命令
使用WMIC获取有关计算机BIOS的信息
wmic /Output:STDOUT BIOS get /all /format:LIST
启动某服务
WMIC SERVICE where caption='TELNET' CALL STARTSERVICE
杀掉某进程
WMIC PROCESS where name='calc.exe' delete
获取有关计算机CPU的信息
WMIC /Output:STDOUT CPU get /all /format:LIST
获取有关带有WMIC的CD-ROM驱动器的信息
WMIC /Output:STDOUT CDROM get /all /format:LIST
获取有关适配器或网卡的信息
WMIC /Output:STDOUT NICCONFIG get /all /format:LIST
获取有关操作系统的信息
WMIC /Output:STDOUT COMPUTERSYSTEM get /all /format:LIST
获取有关它或硬盘驱动器的信息
WMIC /Output:STDOUT DISKDRIVE get /all /format:LIST
获取有关逻辑磁盘的信息
WMIC /Output:STDOUT LOGICALDISK get /all /format:LIST
获取有关RAM内存的信息
WMIC /Output:STDOUT MEMPHYSICAL get /all /format:LIST
获取有关WMIC服务的信息
WMIC /Output:STDOUT SERVICE get /all /format:LIST
获取有关WMIC流程的信息
WMIC /Output:STDOUT PROCESS get /all /format:LIST
使用WMIC在Windows启动时获取有关程序的信息
WMIC /Output:STDOUT STARTUP get /all /format:LIST
获取有关主板或基卡上设备的信息
WMIC /Output:STDOUT ONBOARDDEVICE get /all /format:LIST
获取有关操作系统错误的信息
WMIC /Output:STDOUT RECOVEROS get /all /format:LIST
如何在WMIC中使用命令,选项
您请求的每个子项或别名中的WMIC都为您提供了许多您可能不需要的大多数参数。
选项是在代码中输入用逗号分隔的特定参数的列表,因此返回给您的信息是真正必要的信息。
像下面的示例一样,在LOGICALDISK子项中请求最常用的参数。
显示带有WMIC硬盘的信息
WMIC /Output:STDOUT LOGICALDISK get DeviceID, VolumeName, Size, FreeSpace, FileSystem, Compressed, Description, MaximumComponentLength, QuotasDisabled, QuotasIncomplete, QuotasRebuilding, SupportsDiskQuotas, VolumeSerialNumber /Format:LIST
显示带有WMIC磁盘驱动器的信息
您还可以通过使用where单词指定参数的条件来发出请求。例如,要在LOGICALDISK中列出仅使用drivetype = 3的硬盘驱动器,而仅列出使用drivetype = 5的光驱,则如下所示:
列出硬盘驱动器
WMIC LOGICALDISK where drivetype=3 get DeviceID, VolumeName, Size, FreeSpace, FileSystem, Description
列出光盘驱动器(CD播放器)
WMIC LOGICALDISK where drivetype=5 get VolumeName, Size, DeviceID, Description
列出具有WMIC的网络适配器
同样,在使用Alias NICCONFIG时,它会列出所有网络适配器。要获得仅指定当前连接的网络适配器状况的信息,它看起来像这样:
WMIC NICCONFIG Where IPEnabled=TRUE get /format:list
最后,仅选择一些参数并将其保存在文本文件中
WMIC NICCONFIG Where IPEnabled=TRUE get DefaultIPGateway, Description, DNSServerSearchOrder, IPAddress, IPSubnet, MACAddress /format:list>"%userprofile%\Desktop\Datos adaptador de red".txt
Windows任务中使用WMIC
WMIC还可以用于其他功能中,不仅可以提取信息,还可以实际使用一些示例:
--svchost.exe中进程列表:
wmic process where (Name='svchost.exe') get name, processid, commandline
--更改应用程序的优先级:
wmic process where name="explorer.exe" call setpriority 64
--启动一个应用程序:
wmic process call create "notepad.exe"
--完成申请:
wmic process where name="notepad.exe" call terminate
--管理服务:
wmic service where caption="DHCP Client" call changestartmode "Disabled"
--启用动态IP地址:
wmic nicconfig where index=9 call enabledhcp
--设置静态IP地址:
wmic nicconfig where index=9 call enablestatic("192.168.1.6"), ("255.255.255.0")
其实wmic还有很多用法,我们可以灵活运用它们,还可以把它们放进批处理里面使用,有关具体用法 wmic /? 获得帮助信息。
Social Plugin