powershell - 如何查看端口后面正在运行的进程
问题描述
我喜欢 PowerShell。这是我的第一个脚本语言,我发现自己想了解更多。因此,我有兴趣设置一个状态页面来反映给定端口后面的特定程序的状态。
例如,coffeemug.exe 通过端口 60132 在本地计算机上运行。如何从托管状态页面的服务器远程查看端口后面的进程?
在本地主机(应用服务器)上,通过 PS 很容易看到:
PS C:\> $AppPortID = ( Get-NetTCPConnection -LocalPort 60132 ).OwningProcess
PS C:\> $AppPortID
2776
PS C:\> ( Get-WmiObject win32_process | Where-Object {$_.ProcessID -eq $AppPortID} ).ProcessName
coffeemug.exe
然而,远程地,我还没有找到实现这一目标的方法。通过 cmdletTest-NetConnection
我可以识别打开的端口,但我无法找到一种方法来利用在所述端口上运行的服务/进程。有任何想法吗?
到目前为止我所拥有的Test-NetConnection
:
Test-NetConnection -ComputerName application.domain.com -Port 60132 -InformationLevel Detailed
::编辑::
我应该更具体。我希望能够远程执行此操作,而无需使用调用命令或类似的东西。就像您可以 ping 随机服务器一样。
解决方案
如果我正确理解了这个问题,调用命令对我有用
$processid = invoke-command -computername 'remote' -scriptblock {
Get-NetTCPConnection -LocalPort 1433)
}
Get-wmiobject 有一个名为 computername 的属性,所以你可以在下面做
get-wmiobject -computername 'remote' -processid $processid
推荐阅读
- angular - 如何以角度请求多个 baseurl?
- java - 如何修剪视频
- javascript - 如何在 asp.net core component.razor 中打印特定的“div”区域 ..?
- javascript - 如果键不作为数组内的对象存在,则需要帮助编写函数以返回空数组
- javascript - 如何在javascript中遍历一系列提示输入,直至达到特定数字?
- google-apps-script - 使用 Google Apps 脚本将图像从云端硬盘插入 Google 电子表格单元格
- ruby-on-rails - 没有 gem 的简单投票系统 - 如何跟踪赞成票或反对票并允许每个 user_id 投一票
- layout - 使用 .edgesIgnoringSafeArea() 时,SwiftUI 布局超出设备范围
- java - Condition.signal() 不会随机唤醒
- mysql - MYSQL Cant not create table errno: 150 Foreign key constraint is wrongly forms