powershell - 使用 Get-NetTCPConnection 获取进程的命令行
问题描述
我想查看进程的命令行。我知道我可以使用以下命令获取进程的 cmd 行:
(Get-WmiObject Win32_Process -filter "ProcessId = '14376'").commandline
但我需要从Get-TCPNetConnection
这样的命令中获取 cmd 行:
Get-NetTCPConnection | Select-Object OwningProcess,@{Name="cmdline";Expression={(Get-WmiObject Win32_Process -filter "ProcessId = $_.OwningProcess").commandline}} | Format-Table | select -first 7
但是,命令行丢失/空白。我的语法一定有问题,我无法识别。还是因为它没有显示的字符串太长?
解决方案
您需要将$_.owningprocess
附在子表达式中$()
Get-NetTCPConnection |
Select-Object OwningProcess,
@{Name="cmdline";Expression={(Get-WmiObject Win32_Process -filter "ProcessId = $($_.OwningProcess)").commandline}}
只有基变量可以在没有子表达式的情况下用双引号展开
如果你真的想要最后 7 个进程,你需要交换你的 Select 和 Format 命令。正如所写的,其中 2 行将成为格式化的一部分,因此您最终将得到 5 个进程。
推荐阅读
- angular - angular2 何时创建组件?
- android - Android Kotlin - 对话框片段错误(不能使用提供的参数调用以下函数)
- unicode - 如何使用 senthamizh 字体 SMZTH(泰米尔语)?
- html - 响应式页脚不停留在页面底部
- android - 如何通过 GSON / Retrofit 获得价值?
- sql - Postgresql WHERE 与 age() 函数
- python - 删除 Sublime Text 红色弹出窗口
- java - Spring Data JPA 将嵌套集合大小限制为 Pageable
- android - 带 GSM 模块的 DIY Raspberry pi 安卓手机?
- php - 用于测试的 PHP XMLWriter 输出格式