[玩转系统] 利用 PowerShell WMI Cmdlet 探索任何 Windows 计算机
作者:精品下载站 日期:2024-12-14 20:49:02 浏览:16 分类:玩电脑
利用 PowerShell WMI Cmdlet 探索任何 Windows 计算机
Windows Management Instrumentation (WMI) 在 Windows 中已经存在很长时间了。许多 IT 专业人员直接使用 WMI 或使用从 WMI 读取信息的工具。您是否知道 PowerShell WMI cmdlet 是内置的?
WMI 实际上是收集有关 Windows 计算机的信息并操作 Windows 内部各种服务的地方。由于 WMI 拥有大量信息,您可以利用 Powershell WMI。使用 PowerShell 询问 WMI 允许您在 Windows 计算机上自动执行数千项任务。
幸运的是,WMI 是 Windows 中第一个使用 PowerShell 命令的系统之一。由于您拥有本机 PowerShell WMI cmdlet,这意味着 IT 管理员可以利用 PowerShell 易于理解的动词/名词语法与 WMI 进行交互,并且正如您将看到的,高级用户还可以直接调用 WMI 事件和类只需使用标准 PowerShell 命令即可。
PowerShell WMI Cmdlet 与 CIM
在 PowerShell 中使用 WMI 时,有两组命令。有些人将这些“集”称为与 WMI 和 CIM cmdlet 交互的“旧”方式。从 WMI 查询信息时,两者都会返回相同的信息,但处理方式略有不同。从 WMI 读取信息的“旧”方法是使用 Get-WmiObject 命令。其他 WMI cmdlet 包括 Invoke-WmiMethod
、Register-WMIEvent
等,但我们不会在本文中介绍这些内容。
PowerShell WMI cmdlet Get-WmiObject
可以工作,但有一个严重的缺点。查询远程计算机时,它依赖于 DCOM,而 DCOM 历来是坏人的攻击媒介。 DCOM 通常会被各种防火墙阻止。因为这是“旧”方法,所以我们不打算讨论这种方法。相反,我们将重点关注 CIM cmdlet:primary、Get-CimInstance
。
Get-WmiObject
和 Get-CimInstance
之间的最大区别在于,Get-CimInstance
使用 WSMAN 协议,而不是使用 DCOM 访问远程计算机这是熟悉的 PowerShell 远程处理功能的传输。
PowerShell CIM Cmdlet
假设您想要返回有关远程计算机上 Windows 版本的一些信息。在本例中,我想查看来自名为 DC 的计算机的一些信息。您可以通过指定包含我想要查询的信息和计算机名称的 WMI 类来完成此操作。
您可以在下面看到,由于默认情况下 Get-CimInstance
不会显示类内部的所有属性,因此我必须将输出通过管道传输到 Select-Object
命令返回所有属性。
PS> Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName DC | Select *
Status : OK
Name : Microsoft Windows 10 Pro|C:\WINDOWS|\Device\Harddisk0\Partition2
FreePhysicalMemory : 1802336
FreeSpaceInPagingFiles : 800308
FreeVirtualMemory : 1472916
Caption : Microsoft Windows 2016
Description :
InstallDate : 7/5/2018 6:04:09 PM
CreationClassName : Win32_OperatingSystem
CSCreationClassName : Win32_ComputerSystem
--snip-
您不仅可以通过属性收集信息,还可以调用类上的 WMI/CIM 方法。一个很好的例子是停止远程计算机上的进程。本质上,无法通过 PowerShell 中的 Stop-Process
命令来执行此操作。不过,有一种方法可以通过 WMI 查询。要杀死远程进程,我们首先需要弄清楚要杀死哪个进程。我们可以通过查看 Win32_Process 类来枚举远程计算机上所有正在运行的进程。
PS> Get-CimInstance -ClassName CIM_Process -ComputerName DC
ProcessId Name HandleCount WorkingSetSize VirtualSize PSComputerName
--------- ---- ----------- -------------- ----------- --------------
0 System Idle Process 0 4096 65536 DC
4 System 631 212992 3465216 DC
232 smss.exe 52 823296 4325376 DC
328 csrss.exe 258 om 3346432 49483776 DC
392 csrss.exe 87 2789376 44507136 DC
400 wininit.exe 80 3072000 2199065096192 DC
428 winlogon.exe 119 4431872 2199079510016 DC
一旦确定了要终止的进程,您就可以将名称传递给 Win32_Process
类上的 Terminate()
方法。为此,您需要捕获要终止的进程的实例。
请注意,下面我使用 Filter
参数来确保我只接收 ccmexec.exe
进程。这个很重要!
捕获实例后,您可以使用 Invoke-CimMethod
命令调用 Terminate()
方法来终止进程,如下所示。
PS> $instance = Get-CimInstance -ClassName CIM_Process -ComputerName DC -Filter 'Name = "ccmexec.exe"'
PS> $instance
ProcessId Name HandleCount WorkingSetSize VirtualSize PSComputerName
--------- ---- ----------- -------------- ----------- --------------
3528 CcmExec.exe 878 34246656 158261248 DC
PS> Invoke-CimMethod -InputObject $instance -MethodName Terminate
ReturnValue PSComputerName
----------- --------------
0 DC
概括
如果您想了解有关在 PowerShell 中使用 WMI 的更多信息,特别是使用此处未介绍的 PowerShell WMI cmdlet Get-WmiObject
,我鼓励您查看 Get-WmiObject:查询 WMI本地和远程计算机,我在其中深入了解 WMI 并使用 Get-WmiObject
cmdlet。
有关所有 CIM cmdlet 及其在 PowerShell 中工作方式的完整详细信息,请参阅 Technet 上的 CIM Cmdlet 简介文章。您将在其中看到所有各种 CIM cmdlet 以及它们在脚本中的使用方式。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag