使用 Get-WmiObject 命令列出所有用户名非"local service","system","network service" 的svchost进程列表,然后获取该列表中一个随机PID.
时间: 2023-09-23 18:13:31 浏览: 104
利用WMI 获取IP信息
可以使用以下 PowerShell 命令来实现:
```powershell
$svchosts = Get-WmiObject -Class Win32_Process -Filter "Name='svchost.exe'" | Where-Object {$_.GetOwner().User -notlike "LocalService" -and $_.GetOwner().User -notlike "System" -and $_.GetOwner().User -notlike "NetworkService"}
$randomPID = Get-Random -InputObject $svchosts | Select-Object -ExpandProperty ProcessId
```
首先,我们使用 `Get-WmiObject` 命令获取所有名为 `svchost.exe` 的进程,然后使用 `Where-Object` 过滤掉用户名为 "LocalService"、"System" 和 "NetworkService" 的进程。筛选后的进程列表存储在 `$svchosts` 变量中。
接着,我们使用 `Get-Random` 命令从 `$svchosts` 中随机选择一个进程,并从中提取其 PID,存储在 `$randomPID` 变量中。最后,我们可以输出 `$randomPID` 变量的值,即可得到一个随机的 svchost 进程的 PID。
阅读全文