PowerShell 命令 Get-NetConnectionProfile 来查看当前网络连接的类型。命令会列出当前计算机上所有网络连接的详细信息,包括连接名称、接入类型(例如“域网络”、“专用网络”、“公用网络”)等。在返回的信息中,查找"NetworkCategory"属性的值即可确定网络连接类型。

在 Windows 中将 Wi-Fi 网络设置为公共或专用网络 - Microsoft 支持

 

在 Windows 注册表中,路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles 存储了有关计算机上所有已连接网络(包括无线网络和有线网络)的配置信息。每个网络都有一个与之对应的配置文件,通常每个配置文件对应一个网络连接(例如一个 Wi-Fi 网络或以太网网络)。

每个网络配置文件都位于 Profiles 子键下,并以 GUID(全球唯一标识符)作为文件夹名称,表示不同的网络连接。每个 GUID 文件夹下包含了该网络的具体信息,例如网络名称、网络类型、连接时间、是否连接等。以下是该路径下的一些常见键及其说明,表格化呈现:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles 注册表分类

键/子键 说明
Profile Name 网络配置文件的名称,通常是网络连接的 SSID(Wi-Fi 名称)或本地连接(以太网)的名称。
ProfileGuid 唯一的 GUID(全球唯一标识符)表示网络配置文件的标识符。这个 GUID 用作每个网络连接的目录名。
Name 存储网络连接的名称(例如 Wi-Fi 的 SSID 或以太网连接名称)。
Description 网络连接的描述信息(如果有的话)。
Category 网络类型的分类。可能的值包括:Public(公共网络)、Private(私有网络)、Domain(域网络)。
NetworkCategory 网络类别,可能的值为:1(Public)、2(Private)、3(Domain)。这用于指示网络是公用网络、私有网络还是域网络。
LastConnected 上次连接到此网络的时间戳。
FirstConnected 第一次连接到此网络的时间戳。
Guid 与 ProfileGuid 相同,通常是该网络配置文件的 GUID 标识符。
PublicKey 公钥,用于加密或验证网络连接的安全性设置。
Shared 表示网络是否为共享网络,1 表示是共享网络,0 表示不是共享网络。
Connectivity 网络连接的状态,指示网络是否连接,0 表示未连接,1 表示已连接。
IpConfig IP 配置信息,如 IP 地址、子网掩码、网关、DNS 等(通常为十六进制编码)。
DnsSuffix 与网络相关的 DNS 后缀。
IsConnected 是否已连接到此网络,0 表示未连接,1 表示已连接。
ProfilesDeleted 记录是否有已删除的配置文件。
InterfaceType 网络连接的类型,如 ethernet(以太网)、wifi(无线网络)等。
Cost 网络的成本。Windows 会为不同的网络连接设置不同的成本值,通常用于数据使用量管理。

示例:某个 GUID 配置文件下的键值

假设我们查看一个 GUID 为 {D2B7D1C5-60B3-4C28-9F30-2A7E6BCBF506} 的网络配置文件,下面是可能的键和值示例:

Name MyWiFiNetwork
Category Private
NetworkCategory 2 (Private)
LastConnected 2024-12-31 08:00:00 (UTC)
FirstConnected 2024-01-01 12:30:00 (UTC)
Guid {D2B7D1C5-60B3-4C28-9F30-2A7E6BCBF506}
IsConnected 1 (已连接)
InterfaceType wifi
IpConfig C0A80101(十六进制表示的 IP 地址,例如 192.168.1.1)
DnsSuffix example.com
Cost 1 (低成本网络,优先使用)

 

Profiles 子键中的每个子文件夹(以 GUID 为名称)代表一个网络配置文件,包含有关该网络的详细信息。通过查看这些配置,管理员可以获取设备连接到网络的历史、网络类别、连接状态等关键信息。


使用 Windows 注册表设置网络类型

如果您是高级用户并且对编辑 Windows 注册表感到满意,则此方法对您来说更容易更改网络类型,尤其是当您希望仅使用一个注册表文件在多台 PC 上完成此操作时。

  1. 转到运行-> regedit
  2. 转到以下键:
    HKEY_LOCAL_MACHINE –> SOFTWARE –> Microsoft –> Windows NT –> CurrentVersion –> NetworkList –> Profiles
  3. 在 Profiles 键下,您会发现一些具有不同 GUID 的子键。这对应于没有。您与计算机一起使用的网卡。
  4. 选择 Profiles 的每个子键并在右侧窗格中查找 ProfileName 键。这将为您提供网络名称,以便您可以轻松识别要更改的网络。
  5. 确定正确的子项后,您可以更改右侧窗格中的 Category DWORD 值以更改该特定网络的网络类型。
    值数据可以是 0 表示公共网络,1 表示私有网络,2 表示域网络。

在 Windows 操作系统中,secpol.msc 是一个本地安全策略管理工具,通常用于管理与计算机安全相关的策略配置。在网络设置方面,secpol.msc 允许配置一些安全策略,包括与网络类型、网络位置和分类相关的内容。

网络分类通常涉及将网络分为不同类型,例如 公用网络(Public)私人网络(Private)域网络(Domain)。这些网络类型的选择会影响操作系统如何应用安全设置,进而影响计算机如何与其他计算机和设备交互。

下面是一个表格,展示了 Windows 中网络类型、网络位置和分类的概述及其相关设置:

网络类型、位置与分类

网络位置 网络类型(Network Category) 说明 对应的安全级别
公用网络 Public 适用于公共场所的网络,例如咖啡厅、机场等公共 Wi-Fi。计算机会被视为不受信任的设备,默认会设置更严格的安全策略。 默认启用防火墙,计算机不允许其他设备访问。计算机会阻止入站连接并关闭文件共享等服务,提升安全性以防止恶意攻击。
私人网络 Private 适用于家庭或工作网络,例如家庭 Wi-Fi 网络或公司内部网络。设备间允许更高程度的共享和通信。 允许文件和打印机共享,启用网络发现,计算机可以与同一网络中的其他设备交互。更宽松的安全设置,方便设备之间的通信。
域网络 Domain 当计算机连接到 Windows 域时,适用于加入域的计算机。通常用于企业环境中的网络。 通过域控制器管理网络安全,计算机和其他设备可以相互通信,并且更严格的安全和管理策略由域管理员控制,便于管理大型网络。

对应策略设置

secpol.msc 中,网络位置和分类设置通常可以通过以下策略进行配置:

网络位置配置(Network Location Awareness, NLA)

  • 网络发现:决定是否允许计算机发现网络中的其他设备。
    • 启用:允许计算机发现并与网络中的其他设备共享资源。
    • 禁用:禁用计算机的网络发现,防止计算机与其他设备共享资源。

Windows 防火墙设置

  • 启用/禁用防火墙:根据网络类别自动启用或禁用 Windows 防火墙。
    • 公用网络:默认启用防火墙并应用更严格的安全规则。
    • 私有网络:允许更宽松的安全设置,支持共享等功能。
    • 域网络:由域策略控制,通常通过域控制器自动配置。

文件共享和打印机共享

  • 启用/禁用文件和打印机共享:根据网络类型自动控制文件共享功能。
    • 在 私人网络 下,允许共享文件和打印机。
    • 在 公用网络 下,禁用文件和打印机共享以增强安全性。

总结

secpol.msc 中,网络类型(Network Category)通常有三种主要分类:公用网络(Public)私人网络(Private)域网络(Domain)。每种网络类型都有不同的安全设置和级别,目的在于根据网络环境自动调整防火墙、安全共享和其他网络设置。

  • 公用网络:默认启用严格的安全措施,防止其他设备访问计算机。
  • 私人网络:允许设备之间的共享和通信,但仍保持一定的安全性。
  • 域网络:由企业或组织的域控制器管理,提供更细致的安全和网络配置。

3- 使用本地安全策略更改网络类型

  1. 转到运行 –> secpol.msc
  2. 选择网络列表管理器策略。这将在右侧窗格中列出所有网络。
  3. 双击您想要的网络,转到网络位置选项卡。
  4. 将网络位置类型更改为未配置、私有或公共。
  5. 如果您想对所有连接的网络执行此操作,您可以双击所有网络而不是您想要的网络。


使用 PowerShell 设置网络类型
使用管理权限打开 PowerShell

运行以下命令:
获取 NetConnectionProfile
查看要更改其类型的网络名称并运行以下命令:
Set-NetConnectionProfile -Name这里-网络类别 
其中 ITT 是您的网络名称,您可以将 -NetworkCategory 开关值更改为 Public 或 Private。
PowerShell 命令更改网络类型
这将立即更改网络类型。

在Windows中,网络连接的NetworkCategory(网络类型)通常有三种类型:

  1. 公用(Public):表示连接到公共网络,如公共Wi-Fi或其他不受信任的网络。此设置提供了最高级别的安全性,适用于需要更严格安全控制的情况。

  2. 私有(Private):表示连接到家庭网络或办公网络,可以信任其他设备和用户,并允许共享文件和打印机等资源。此设置适用于信任的网络环境,通常用于家庭或办公网络。

  3. 领域(Domain):表示连接到公司或组织的域网络,可以信任其他设备并允许共享资源。此设置适用于受信任的领域网络环境,通常用于企业或组织网络。

您可以使用PowerShell命令Get-NetConnectionProfile来查看当前网络连接的NetworkCategory类型。


Get-NetConnectionProfile 是 PowerShell 中的一个命令,用于获取当前计算机的网络连接配置文件,包括有关网络连接的详细信息。它提供了与网络适配器相关的各种信息,例如连接的网络类型、网络接口等。以下是对该命令输出信息进行分类的表格化展示:

Get-NetConnectionProfile 输出字段分类

类别 属性 说明
基本信息 Name 网络连接的名称(例如,Wi-Fi 网络名称或以太网连接名称)。
  InterfaceAlias 网络接口的别名(通常是适配器的名称,如 Wi-Fi 或 Ethernet)。
  InterfaceIndex 网络接口的索引编号。
网络类型 NetworkCategory 网络的类别,可能的值包括: Public(公共网络)、Private(私有网络)、DomainAuthenticated(域认证网络)。
  IPv4Connectivity IPv4 网络连接状态: Disconnected(未连接)、Connected(已连接)等。
  IPv6Connectivity IPv6 网络连接状态: Disconnected(未连接)、Connected(已连接)等。
连接属性 ConnectionProfile 表示连接的具体信息,可能包含接口的连接类型或连接方式。
  NetworkCategory 网络类别: Public(公共)、Private(私有)、DomainAuthenticated(域认证)。
适配器属性 InterfaceType 网络接口类型,例如:Ethernet(以太网)、Wi-Fi(无线网络)、Bluetooth(蓝牙)。
  InterfaceDescription 网络适配器的描述,例如 Realtek PCIe GBE Family Controller 或 Intel(R) Wireless-AC 9260
地址信息 IPv4Address 网络接口的 IPv4 地址。
  IPv6Address 网络接口的 IPv6 地址。
配置与安全 IsFirewallEnabled 防火墙是否启用(True 或 False)。
  IsHomeGroupEnabled 是否启用了家庭组(True 或 False)。
连接状态与配置 IsConnected 是否已连接到网络(True 或 False)。
  IsWired 是否为有线连接(True 或 False)。
DNS 和 DHCP 信息 DhcpEnabled DHCP 是否启用(True 或 False)。
  DhcpServer 获取的 DHCP 服务器的 IP 地址(如果启用 DHCP)。
  DNSAddresses 网络连接的 DNS 服务器地址列表。
位置与地理信息 Location 网络连接的地理位置或位置描述。

常见示例

  1. 获取所有网络连接的基本信息

    powershellCopy Code
    Get-NetConnectionProfile

    该命令会返回所有网络连接的详细信息,包括接口别名、网络类别和连接状态等。

  2. 获取特定网络连接的网络类别和状态

    powershellCopy Code
    Get-NetConnectionProfile | Select-Object Name, NetworkCategory, IPv4Connectivity

    这个命令只显示网络名称、网络类别和 IPv4 连接状态。

  3. 获取所有网络接口的名称和连接状态

    powershellCopy Code
    Get-NetConnectionProfile | Select-Object InterfaceAlias, IsConnected

    该命令列出所有网络接口的名称以及它们的连接状态。

  4. 获取连接的网络的 DNS 服务器地址

    powershellCopy Code
    Get-NetConnectionProfile | Select-Object Name, DNSAddresses

    这个命令显示每个网络连接的 DNS 服务器地址。

  5. 显示所有有线网络连接的详细信息

    powershellCopy Code
    Get-NetConnectionProfile | Where-Object {$_.IsWired -eq $True}

    这个命令过滤出所有有线连接,并显示它们的相关信息。


 

Get-NetConnectionProfile 提供了网络连接的各种信息,并且通过 Select-ObjectWhere-Object 等命令可以灵活地筛选和展示所需的字段。它对于网络管理、故障排除以及网络配置监控非常有用。


PowerShell 命令 Get-NetConnectionProfile 来查看当前网络连接的类型。在 PowerShell 中执行以下命令:

powershellCopy Code
Get-NetConnectionProfile

这个命令会列出当前计算机上所有网络连接的详细信息,包括连接名称、接入类型(例如“域网络”、“专用网络”、“公用网络”)等。在返回的信息中,查找"NetworkCategory"属性的值即可确定网络连接类型。


NetworkCategory: Public 表示网络连接类型为公用网络。

DomainAuthenticationKind: None 表示没有域认证。


使用 PowerShell 命令 Set-NetConnectionProfile 来修改网络连接的类型为专用网络。在 PowerShell 中执行以下命令:

powershellCopy Code
Set-NetConnectionProfile -NetworkCategory Private

这个命令将当前网络连接的类型设置为专用网络。请确保以管理员权限运行 PowerShell,以便成功执行此命令。修改完成后,你可以再次运行 WinRM 命令,应该就不会再遇到相同的问题了。


在命令提示符(CMD)中,你可以使用 netsh 命令来查看当前网络连接的类型。执行以下命令:

cmdCopy Code
netsh interface show interface

这个命令将列出当前计算机上所有网络接口的详细信息,包括接口名称、类型和状态。你可以在结果中查找当前连接的接口,然后查看其类型(例如公用、专用或域)来确定当前网络连接的类型。


netsh 是一个用于配置和管理 Windows 操作系统网络设置的命令行工具。通过 netsh,可以配置各种网络设置,包括网络接口、IP 地址、路由、网络适配器、无线网络等。netsh 命令中的网络类型分类通常涉及到网络连接的状态、接口、配置等信息。

以下是通过 netsh 获取的网络类型和相关命令输出的分类信息的表格化展示:

netsh 网络类型分类表

类别 命令 说明
接口配置 netsh interface show interface 显示所有网络接口的信息,包括接口的名称、类型、状态(启用或禁用)、以及网络连接类型等。
  netsh interface set interface 用于启用或禁用特定网络接口、修改接口状态(例如禁用Wi-Fi适配器或启用以太网适配器)。
IP 配置 netsh interface ipv4 show config 显示 IPv4 配置,包括 IP 地址、子网掩码、默认网关和 DNS 服务器等。
  netsh interface ipv6 show config 显示 IPv6 配置,包括 IPv6 地址、网关和 DNS 服务器等。
网络适配器管理 netsh interface set address 设置网络适配器的 IP 地址、子网掩码和默认网关等。
  netsh interface set interface 用于设置网络接口的名称和连接属性,例如设置 IP 地址、修改网卡速度等。
无线网络设置 netsh wlan show interfaces 显示当前无线网络接口的状态信息,包括连接的 SSID(网络名称)、信号强度、连接速度等。
  netsh wlan show profile 显示无线网络配置文件的信息,包括已连接过的 Wi-Fi 网络的设置和配置信息。
  netsh wlan set hostednetwork 设置无线热点(如启用或禁用 Windows 计算机的无线网络共享功能)。
路由与网关配置 netsh interface ipv4 show route 显示 IPv4 路由表,包括目标、子网掩码、网关和接口等信息。
  netsh interface ipv6 show route 显示 IPv6 路由表,包括目标、子网掩码、网关和接口等信息。
  netsh interface ipv4 add route 添加静态 IPv4 路由。
  netsh interface ipv6 add route 添加静态 IPv6 路由。
防火墙与安全设置 netsh advfirewall show allprofiles 显示 Windows 防火墙的所有配置文件(域、专用、公用)的详细状态和设置。
  netsh advfirewall set currentprofile 设置当前活动的防火墙配置文件(例如启用或禁用防火墙、配置端口等)。
网络共享 netsh wlan start hostednetwork 启动无线网络共享,使用计算机作为热点。
  netsh wlan stop hostednetwork 停止无线网络共享。
网络诊断与故障排除 netsh interface ipv4 reset 重置 IPv4 网络配置,常用于故障排除时清除配置并恢复默认设置。
  netsh interface ipv6 reset 重置 IPv6 网络配置,常用于故障排除时清除配置并恢复默认设置。
  netsh winsock reset 重置 Winsock,修复网络连接问题。
DNS 配置 netsh interface ipv4 set dns 设置 IPv4 地址的 DNS 服务器。
  netsh interface ipv6 set dns 设置 IPv6 地址的 DNS 服务器。
网络诊断与分析 netsh interface show interface 显示每个网络接口的当前状态(启用/禁用、接口类型等)。
  netsh trace show 显示网络诊断跟踪信息,常用于网络故障排查。

常见示例

  1. 显示所有网络接口的信息

    cmdCopy Code
    netsh interface show interface

    输出:所有网络接口的状态信息(例如接口的名称、状态、类型等)。

  2. 启用某个接口

    cmdCopy Code
    netsh interface set interface "Ethernet" enable

    输出:启用以太网接口。

  3. 禁用某个接口

    cmdCopy Code
    netsh interface set interface "Wi-Fi" disable

    输出:禁用 Wi-Fi 接口。

  4. 查看 IPv4 配置信息

    cmdCopy Code
    netsh interface ipv4 show config

    输出:IPv4 配置(如 IP 地址、子网掩码、默认网关、DNS 等)。

  5. 配置静态 IP 地址

    cmdCopy Code
    netsh interface ipv4 set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1

    输出:为 Ethernet 接口设置静态 IP 地址 192.168.1.100,子网掩码 255.255.255.0,默认网关 192.168.1.1。

  6. 启用并启动无线热点

    cmdCopy Code
    netsh wlan set hostednetwork mode=allow ssid=MyHotspot key=Password123
    netsh wlan start hostednetwork

    输出:启用并启动无线热点,SSID 为 MyHotspot,密码为 Password123

  7. 重置 IPv4 配置

    cmdCopy Code
    netsh interface ipv4 reset

    输出:重置 IPv4 配置,恢复为默认设置。

  8. 显示防火墙配置

    cmdCopy Code
    netsh advfirewall show allprofiles

    输出:显示所有防火墙配置文件(域、专用、公用)的状态。


 

netsh 命令行工具在 Windows 操作系统中提供了丰富的网络配置和管理功能,涵盖了网络接口、IP 配置、无线网络、路由、防火墙等多个方面。通过结合使用不同的 netsh 子命令,用户可以方便地对网络进行管理、故障排查和调优。


在CMD环境下,netsh命令不能直接修改网络连接的类型。不过你可以使用一个批处理脚本来实现这一目的。下面是一个可以实现该功能的示例脚本:

Copy Code
@echo off
rem 获取当前连接的接口名称
for /f "tokens=*" %%a in ('netsh interface show interface ^| findstr /c:"Connected"') do set interface=%%a
rem 修改网络连接类型为公用
netsh interface set interface "%interface%" newname="YourNetworkName" newtype=public

请将上述代码中的 "YourNetworkName" 替换为你想要修改的网络连接名称。执行该脚本时,它将找到当前连接的接口名称,然后将其类型修改为公用网络。

将此代码保存为 .bat 批处理文件,然后以管理员身份运行它即可。


CMD 中执行命令,可以使用 powershell 命令来运行 PowerShell 命令,例如:

cmdCopy Code
powershell -Command "Set-NetConnectionProfile -NetworkCategory Private"

这会将当前网络连接的类型设置为专用网络。请确保以管理员权限运行 CMD,以便成功执行这些命令。


 

posted @ 2024-05-24 21:23  suv789  阅读(474)  评论(0编辑  收藏  举报