使用 Get-WmiObject 命令列出所有用户名非"local service","system","network service" 的svchost进程列表,然后获取该列表中第一个PID为int类型
时间: 2023-09-23 13:11:29 浏览: 48
可以使用以下命令来实现:
```
Get-WmiObject -Class Win32_Process -Filter "Name='svchost.exe'" | Where-Object {$_.GetOwner().User -notmatch "^(local service|system|network service)$"} | Select-Object -Property ProcessId | Sort-Object -Property ProcessId | Select-Object -First 1 -ExpandProperty ProcessId
```
该命令会使用 `Get-WmiObject` 命令获取所有名为 `svchost.exe` 的进程列表,然后使用 `Where-Object` 命令筛选出所有用户名不是 `"local service"`, `"system"`, `"network service"` 的进程,然后使用 `Select-Object` 命令选择进程的 PID 属性,并按照进程 PID 排序,最后使用 `Select-Object` 命令选择第一个进程的 PID 属性,并展开该属性。
相关问题
使用 Get-WmiObject 命令列出所有用户名非"local service","system","network service" 的svchost进程列表,然后获取该列表中第一个PID
可以使用以下命令来实现:
```
Get-WmiObject Win32_Process -Filter "Name='svchost.exe'" | Where-Object {($_.GetOwner().User -notlike '*local service*') -and ($_.GetOwner().User -notlike '*system*') -and ($_.GetOwner().User -notlike '*network service*')} | Select-Object -First 1 ProcessId
```
这个命令使用 `Get-WmiObject` 获取所有名字为 `svchost.exe` 的进程列表,然后通过 `Where-Object` 筛选出用户名不是 "local service"、"system" 或 "network service" 的进程。最后使用 `Select-Object` 获取第一个进程的 PID。
使用 Get-WmiObject 命令列出所有非"local service","system","network service" 的进程的 PID、进程名和用户名,然后过滤出svchost列表,最后获取第一行的pid
可以使用以下命令来实现:
```
Get-WmiObject -Class Win32_Process | Where-Object {($_.GetOwner().User -notmatch "^(LocalService|NetworkService|System)$")} | Select-Object ProcessId, Name, @{Name="UserName";Expression={$_.GetOwner().User}} | Where-Object {$_.Name -eq "svchost.exe"} | Select-Object -First 1 ProcessId
```
这个命令会列出所有非"LocalService","NetworkService","System"的进程的PID、进程名和用户名。然后,它会过滤出名为"svchost.exe"的进程,并且只返回第一行的PID。
阅读全文