Powershell 如何查看端口后面正在运行的进程
我爱地狱。这是我的第一个脚本语言,我发现自己想知道更多。因此,我对设置一个状态页面感兴趣,该页面反映给定端口后面特定程序的状态 例如,coffeemug.exe通过端口60132在本地计算机上运行。 如何从承载状态页的服务器远程查看端口后面的进程 在本地主机(应用程序服务器)上,通过PS很容易看到:Powershell 如何查看端口后面正在运行的进程,powershell,Powershell,我爱地狱。这是我的第一个脚本语言,我发现自己想知道更多。因此,我对设置一个状态页面感兴趣,该页面反映给定端口后面特定程序的状态 例如,coffeemug.exe通过端口60132在本地计算机上运行。 如何从承载状态页的服务器远程查看端口后面的进程 在本地主机(应用程序服务器)上,通过PS很容易看到: PS C:\> $AppPortID = ( Get-NetTCPConnection -LocalPort 60132 ).OwningProcess PS C:\> $AppPort
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 -ComputerName application.domain.com -Port 60132 -InformationLevel Detailed
::编辑::
我应该说得更具体些。我希望能够远程执行此操作,而无需使用invoke命令或类似命令。就像您可以ping随机服务器一样。如果我正确理解了这个问题,Invoke命令对我很有效
$processid = invoke-command -computername 'remote' -scriptblock {
Get-NetTCPConnection -LocalPort 1433)
}
Get-WMIOObject有一个名为computername的属性,因此您可以执行以下操作
get-wmiobject -computername 'remote' -processid $processid
如果我正确理解了这个问题,Invoke命令对我很有效
$processid = invoke-command -computername 'remote' -scriptblock {
Get-NetTCPConnection -LocalPort 1433)
}
Get-WMIOObject有一个名为computername的属性,因此您可以执行以下操作
get-wmiobject -computername 'remote' -processid $processid
我应该说得更具体些。更新了::EDIT::I下的文本,应该更具体一些。已更新::编辑::下的文本: