在控制面板里,网络发现、文件共享、公用文件夹共享往往排在同一页,很多人要么一次全开,要么一次全关。它们其实是三件事,关掉之后的影响也各不相同。
三个开关分别管什么
| 开关 | 打开之后发生了什么 | 谁真的需要 |
|---|---|---|
| 网络发现 | 你能看到局域网里的别人,别人也能看到你 | 需要用网络打印机、共享文件夹的人 |
| 文件和打印机共享 | 其它设备可以访问你共享出来的内容 | 确实要共享时才开 |
| 公用文件夹共享 | 不输入账户也能读写公共文件夹 | 几乎没有家庭用户需要 |
一句话区分:第一个管“能不能被看见”,第二个管“能不能被访问”,第三个管“能不能不输密码就访问”。
先看自己现在属于哪一类网络
防火墙规则是按网络类别生效的,所以第一步是确认当前网络被归为哪一类:
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-SmbShare | Select-Object Name, Path, Description
NetworkCategory 出现 Public,意味着大部分入站规则会从严;而很多笔记本在家里连上陌生 Wi-Fi 后被归为专用网络,这才是真正常见的错配。第二条命令列出当前共享出去的东西,默认的那几个以美元符结尾的是系统管理共享,不建议动它们,但要知道它们存在。
再看端口和规则:你到底对外开了什么
# 看 445 端口有没有在等外部连接
Get-NetTCPConnection -State Listen -LocalPort 445 | Select-Object LocalAddress, LocalPort
# 看允许入站的防火墙规则里哪些开了 445
Get-NetFirewallRule -Direction Inbound -Action Allow -Enabled True | Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 445 } | Select-Object InstanceID, LocalPort
445 在监听是正常现象(系统共享服务本身在跑),关键看第二项:防火墙是否允许外部地址连到这个端口。如果在公共网络配置文件下也允许,那才是需要改的状态。
三个容易被忽略的入口
一,“无密码保护的共享”——它让局域网内的设备不用账户就能访问共享,很多人是装打印机时顺手打开的。二,远程桌面。用这条看自己有没有开着:
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
fDenyTSConnections 为 0 表示允许远程连接。家用机一般不需要它,站内另一篇讲远程协助的文章里也提醒过:这台机器上多一个入口,就多一个需要记着的东西。三,网络里其他老设备。打印机、网络存储、旧电脑只要开着共享,就是局域网里的一个入口;如果它们不支持关访客访问,就把它们放到单独的无线网络上。
按场景给四种组合
| 使用场景 | 建议组合 |
|---|---|
| 家里只有自己几台设备 | 三个全关,需要传文件时用移动硬盘或网盘 |
| 家里要靠网络打印机 | 网络类别设为专用,只开打印机相关项 |
| 公司网络 | 按管理端策略,不要自己改;本文的检查命令只读不改 |
| 笔记本带去咖啡馆、酒店 | 全部关掉,并确认这个网络被归为公用网络 |
关掉之后会不会影响正常使用
| 关掉之后 | 影响什么 |
|---|---|
| 网络发现关了 | 你在网上邻居里看不到别人,但知道地址仍能访问共享 |
| 文件共享关了 | 别人不能读你的共享文件夹,你自己用本地盘不受影响 |
| 公用文件夹关了 | 只是那个公共目录不再对外,个人目录本来就不受影响 |
最后一句
这三个开关最好分开想:能不能被看见、能不能被访问、能不能免密码访问。家里真正需要共享时只开第二项,出门时一个也不开,这是一台笔记本最省心的习惯。