是否可以将我的计算机从本地网络的计算机列表中隐藏,但保留其提供文件共享和远程桌面服务的能力?(我的意思是像 WiFi 网络上隐藏的 SSID,让我在知道计算机名称时使用所有功能,但对不知道计算机名称的其他人隐藏它。)
答案1
你可以禁用网络发现,这将阻止 LAN 上的其他计算机通过 IP 地址以外的方式连接到您的计算机。
如果您这样做,当有人打开远程桌面或 Windows 资源管理器并输入您的计算机名称时,他们会收到一条错误消息,因为这会将您的计算机从 NetBIOS 系统中移除。但即便如此,您的计算机可能(根据您的选择)可通过远程桌面协议或文件共享 (Samba) 协议连接到它。您需要使用ipconfig
命令行工具(或其他获取私有 IP 的方式)来了解从其他 PC 连接到哪个 IP。
请注意,IP 地址不是安全无论如何,这都是不可能的。即使你禁用了网络发现,一个技术一般的人也可以很快发现你的计算机的 IP 地址,然后连接到它。一个简单的脚本,尝试循环连接一堆 IP 地址,几分钟内就能在专用网络上找到你的 IP。如果你试图保护为了防止网络上的其他人访问您的数据(或者,如果您直接连接而中间没有 NAT,则在公共互联网上),您需要设置防火墙,并且至少对您选择公开的服务(例如文件和打印机共享)进行基于密码的身份验证。
关闭网络发现功能有点像将车钥匙“藏”在袜子抽屉里。有人仍然可以打开抽屉,拿走钥匙并驾驶您的汽车。他们只需先稍微找一下钥匙即可。
答案2
要隐藏您的计算机名称以使其不显示在网络中:
在命令提示符中,输入以下命令并按Enter。
Net config server /hidden:yes
您将收到一条消息“命令成功完成”。
要取消隐藏您的计算机名称以便它显示在您的网络中:
在提升的命令提示符中,键入以下命令并按Enter。
Net config server /hidden:no
您将收到一条消息“命令成功完成”。
退出命令提示符,然后重新启动计算机以应用更改。
答案3
除了上述两个答案之外,对我有用的是禁用“功能发现资源发布”服务。 HomeGroup Provider 依赖于它,因此也必须禁用它。
::Disable Network Discovery (public/private)
netsh advfirewall firewall set rule group="Network Discovery" new enable=no
::Hide computer name
net config server /hidden:yes
::Disable HomeGroupProvider/FDResPub services
net stop HomeGroupProvider
sc config HomeGroupProvider start= disabled
net stop FDResPub
sc config FDResPub start= disabled
可能需要重新启动,或至少断开网络并重新连接。