我運行了一個名為my-service. 我知道的唯一輸入是服務名稱。
我可以使用服務名稱獲取行程識別符號:
$id = Get-WmiObject -Class Win32_Service -Filter "name='my-service'" | Select-Object -ExpandProperty ProcessId
為了讓聽的埠的串列,我可以使用netstat,但我所有的定制服務擁有PID 4不等于該服務行程識別符號的Get-WmiObjectcmdlet的。

目標是使用 PowerShell 或 CMD 根據服務名稱或行程識別符號而不是影像名稱來獲取服務正在偵聽的埠。
uj5u.com熱心網友回復:
使用Get-NetTCPConnection來識別插座上給定的行程當前正在聽:
Get-NetTCPConnection -OwningProcess $id -State Listen
uj5u.com熱心網友回復:
您是否可以將Get-NetTcpConnection -OwningProcess XXXX與How to get process id by its service name with a script to variable 結合使用?
uj5u.com熱心網友回復:
因為你已經包括 指令 標簽,這是您可以嘗試的想法,在 cmd.exe 中,即 Windows 命令提示符:
For /F "Tokens=2 Delims=," %G In ('%SystemRoot%\System32\tasklist.exe /SVC /Fi "Services Eq my-service" /Fo CSV /NH 2^>NUL') Do @For /F "Tokens=3 Delims=: " %H In ('%SystemRoot%\System32\netstat.exe -ano ^| %SystemRoot%\System32\findstr.exe "[^0123456789]%~G$" ^| %SystemRoot%\System32\find.exe /V "["') Do @Echo %H
只需更改my-service為您的“真實”服務名稱即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/346713.html
