端口冲突导致 Windows Server 服务无法启动

Wailam Leung 40 信譽點數
2026-10-15T02:33:18.4066667+00:00

我在排查 Windows Server 上的一个服务启动问题时发现,由于所需的监听端口已被占用,该服务无法启动。如何使用 Windows 内置工具确定占用该端口的进程或服务,检查是否涉及动态端口分配,并在不影响其他正在运行的服务或应用程序的情况下解决端口冲突?

Windows for business | Windows Server | 裝置和部署 | 安裝 Windows 更新、功能或角色
0 則留言 沒有留言

2 個回答

排序依據: 最實用
  1. 熱情熄 心冷 5,485 信譽點數
    2026-10-15T11:37:05.38+00:00

    用系統管理員身分執行

    netstat -a -b

    按照 Port Number 看被哪隻執行檔鎖住

    此回答有幫助嗎?

    0 則留言 沒有留言

  2. Harry Phan 34,365 信譽點數 獨立顧問
    2026-10-15T02:40:14.0633333+00:00

    您好!

    当 Windows Server 服务因监听端口已被占用而无法启动时,请以管理员身份打开命令提示符,运行 netstat -aon | findstr :<port>,查找占用该端口的进程 ID(PID),然后执行 tasklist /svc /FI "PID eq <PID>",以确定对应的进程及其关联服务。如果怀疑问题与 HTTP.sys 有关,可以运行 netsh http show servicestate 和 netsh http show urlacl 进行进一步检查;同时,可以执行 netsh int ipv4 show dynamicport tcp 或 netsh int ipv6 show dynamicport tcp,查看系统配置的 TCP 动态端口范围。

    确认端口冲突的原因后,建议优先修改相关应用程序的监听端口或调整其配置,而不是直接终止未知进程或停止共享服务。除非已确认确有必要并评估了对其他应用程序的影响,否则请勿随意修改系统动态端口范围。完成更改后,重新启动受影响的服务,并使用 netstat -aon 或 PowerShell 命令 Get-NetTCPConnection 验证端口是否正常监听,同时检查 Windows 事件查看器中的相关错误日志。

    如果问题仍然存在,请提供端口号、服务名称、完整错误信息以及相关命令的输出,以便进一步排查。

    此致

    Harry P.

    此回答有幫助嗎?

    0 則留言 沒有留言

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。