我爱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然而,在远程,我还没有找到实现这一点的方法。通过cmdlet Test-NetConnection,我可以识别打开的端口,但我终生找不到一种方法来利用在所述端口上运行的服务/进程。有什么想法吗?
到目前为止,我对Test-NetConnection的了解
Test-NetConnection -ComputerName application.domain.com -Port 60132 -InformationLevel Detailed::编辑::
我应该说得更具体些。我希望能够远程完成此操作,而不使用调用命令或类似的东西。就像你可以ping一个随机的服务器一样。
发布于 2019-05-08 10:52:38
Invoke命令对我有效,如果我正确理解了问题的话
$processid = invoke-command -computername 'remote' -scriptblock {
Get-NetTCPConnection -LocalPort 1433)
}Get-wmiobject有一个名为computername的属性,因此您可以执行以下操作
get-wmiobject -computername 'remote' -processid $processidhttps://stackoverflow.com/questions/56032659
复制相似问题