如何强制 Windows 10 将网络视为私有网络?

Inq*_*Shm 46 networking windows windows-10

我的笔记本电脑有 Wi-Fi 和以太网(对接时)。出于某种原因,Wi-Fi 作为Private network 出现,docked 作为Public 出现。在这两种情况下,我都没有设置为PrivatePublic

我在 Windows 10 上在哪里设置它?好像我在这里遗漏了一些东西......

Run*_*n5k 35

我认为将网络更改为私有的最简单方法是通过注册表编辑器:

  1. 搜索regedit,然后右键单击并以管理员身份运行
  2. 如有必要,确认 UAC 提示
  3. 导航到以下位置:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

    简介

  4. 展开Profiles键并浏览其下方的每个 GUID 键,注意右侧对应的ProfileName

    个人资料名称

  5. 当您找到要更改为 Private 的网络的ProfileName时,双击右侧的Category DWORD:

    类别

  6. 将“值数据”从0(公共)更改为1(私有):

    双字

  7. 关闭注册表编辑器

  8. 重启

(来源:如何在 Windows 10 中将网络位置设置为公共或私有

  • 下一次我听说 MS-Windows 是如此的尖锐和点击,有这么多有用的按钮和向导,渴望以任何方式帮助你;以及所有那些过时的命令和基于 shell 的操作系统(如 Linux)有多少恐龙 - 以及即使是最简单的事情也需要有关 shell 脚本和魔法咒语的神秘知识,我将参考这个书签问题... (25认同)
  • @SamVarshavchik Eh...“使这台电脑可被发现”选项[存在](https://www.tenforums.com/tutorials/6815-network-location-set-private-public-windows-10-a.html#选项1)。这并不是说操作系统真的强迫您使用 GUI 或各种 CLI(类似)方法;两者都是选项。 (4认同)
  • @SamVarshavchik 这不是可以从 W7 中的 GUI 配置的吗? (3认同)
  • 自 1992 年以来入侵注册表... (2认同)
  • 这个答案也应该显示 GUI 版本。运行 regedit 似乎异常复杂。 (2认同)

Lot*_*ngs 32

下面的小 PowerShell 脚本可以执行相同的操作(它还需要管理员权限)。

它将列出所有非私人资料,并要求确认将其更改为私人资料。

## Change NetWorkConnection Category to Private
#Requires -RunasAdministrator

Get-NetConnectionProfile |
  Where{ $_.NetWorkCategory -ne 'Private'} |
  ForEach {
    $_
    $_|Set-NetConnectionProfile -NetWorkCategory Private -Confirm
  }
Run Code Online (Sandbox Code Playgroud)

我的德语语言环境系统上的示例输出:

Name             : Netzwerk
InterfaceAlias   : Ethernet
InterfaceIndex   : 3
NetworkCategory  : Public
IPv4Connectivity : Internet
IPv6Connectivity : Internet

Bestätigung
Möchten Sie diese Aktion wirklich ausführen?
[J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "J"): K
Run Code Online (Sandbox Code Playgroud)

编辑这是英文确认文本:

Confirm
Are you sure you want to perform this action?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): n
Run Code Online (Sandbox Code Playgroud)


Adi*_*oon 17

您可以使用 Powershell 命令来执行此操作:

  1. WIN+R
  2. 键入powershell.exe并点击Ctrl+Shift+Enter(以管理员身份打开)
  3. 粘贴以下命令(替换Network_Name为所选网络)

Set-NetConnectionProfile -Name "Network_Name" -NetworkCategory Private
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下这是做什么的吗?在我看来,它正在将 _Everything_ 设置为私有,这与我相信的“家”相同? (2认同)

Luk*_*oss 6

如果你不是已经在一个专用网络,这是最快和最简单的方法:

  1. 打开文件资源管理器窗口。
  2. 点击网络在左侧导航窗格中。
  3. 单击“确定”以显示错误消息。
  4. 单击黄色信息栏,然后打开网络发现和文件共享
  5. 单击否,使网络我连接到专用网络

或者,您可以使用 PowerShell:

  1. 以管理员身份运行 PowerShell。
  2. 键入以下命令使所有连接成为私有连接:
    获取-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

如果您有多个连接并且您不希望其中一些连接是私有的,您可以有选择地设置它们:

  1. 获取当前网络:
PS C:\> Get-NetConnectionProfile

名称 : 网络
接口别名:以太网 1
接口索引:11
网络类别:公共
IPv4连接:本地网络
IPv6 连接:本地网络

名称 : 不明网络
接口别名:以太网 2
接口索引:4
网络类别:公共
IPv4连接:本地网络
IPv6 连接:本地网络
  1. 更改所需的网络:
Set-NetConnectionProfile -InterfaceAlias "Ethernet 1" -NetworkCategory Private

请注意,您永远不能手动将连接配置文件更改为网络类别DomainAuthenticated。如果你有一个应该设置为这个但没有设置的接口,那么你有一个更大的域连接问题在起作用。