You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查远程计算机的Network Discovery(网络发现)启用状态?

检查Windows网络发现/文件和打印机共享状态的最优方法

我来帮你捋清楚这个问题——其实网络发现是一组防火墙规则的集合,你之前用find命令模糊匹配关键词,才会拉出一堆无关规则导致混乱。下面几个方法能精准判断功能状态:

一、用PowerShell直接查看规则组状态

这是最直观的方案,直接按规则组过滤,能清晰看到该组下所有规则的启用情况:

检查网络发现状态

Get-NetFirewallRule -DisplayGroup "Network Discovery" | Select-Object Name, DisplayName, Enabled

输出会列出所有属于“Network Discovery”组的规则,每条规则的Enabled列会显示True(启用)或False(禁用)。如果想快速判断整体状态,还可以统计启用规则的数量:

# 统计已启用的网络发现规则数量
(Get-NetFirewallRule -DisplayGroup "Network Discovery" | Where-Object Enabled -eq True).Count

检查文件和打印机共享状态

换个规则组名称就能复用逻辑:

Get-NetFirewallRule -DisplayGroup "File and Printer Sharing" | Select-Object Name, DisplayName, Enabled

二、修正netsh命令,按规则组查询

你之前的show rule命令用错了匹配方式,应该直接指定group参数,而不是用find模糊匹配:

查看网络发现规则组

netsh advfirewall firewall show rule group="Network Discovery"

这个命令只会列出属于“Network Discovery”组的规则,每条规则末尾会明确标注Enabled: Yes或No,不会混杂其他组的规则。

查看文件和打印机共享规则组

netsh advfirewall firewall show rule group="File and Printer Sharing"

三、查看全局开关的注册表状态

Windows的网络发现/文件共享有一个全局控制开关,对应的注册表值可以直接反映功能的整体状态:

检查网络发现全局状态

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Network\Connection" /v NetworkDiscoveryEnabled
  • 返回0x1表示启用
  • 返回0x0表示禁用

检查文件和打印机共享全局状态

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Network\Connection" /v FileSharingEnabled
  • 返回0x1表示启用
  • 返回0x0表示禁用

小提示:注册表值和防火墙规则是联动的,但偶尔可能出现不一致(比如手动修改规则后),建议结合规则状态一起判断更准确。

内容的提问来源于stack exchange,提问作者Nolanr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:08:00