2025-09-30

List-To-Table

1. List
2. List.txt-List.xlsx
	2.1 添加软件ID[Sid]
	2.2 构造2维表格结构(包含第一列和第一行的字段的空表)
	2.3 获取具体信息(填充表格信息)
3. XLOOKUP
	3.1 语法及返回
	3.2 参数
	3.3 测试异常

 

List-To-Table
一维清单 转 二维表格
终端下的一些命令返回的数据不太友好,本身又不带格式化参数。 非常不方便查看,比对。下文使用表格软件解决其中一种情况。
  • 一维清单 List.txt: 1708行, 2列。Get-AppxPackage输出导入表格的原始数据。
  • 二维表格 Table.xlsx: 99行, 19列。转换后获得的最终数据。
注: 当前使用开源的 LibreOffice Calc 表格软件。

1. List

获取一份又臭又长的的一维列表... 
 > Get-AppxPackage > List.txt

统计所有信息行数,获得完整的List有1708行。
 > Get-AppxPackage  | find /c " :"

统计Name字段行数,List包含99个软件信息。
 > Get-AppxPackage  | find /c "Name              :"

共99个软件的信息列表,每个软件有17~18个信息字段,共计1708行(已经排除了至少99个空行数)。
这样又臭又长的一维列表,看起来非常不方便。
若转换成二维表格,可以方便的排序,筛选。对比查看就会方便许多。

二维表格的结构,一行一个软件,包含19个列: 软件属性字段信息。
  • 第1列: Sid, 软件ID(如上统计,共99行)
  • 第1行: 软件属性字段信息(共19个列字段)
转换过程
  1. 构造2维表格结构 (包含第一列和第一行的字段的空表)
  2. 获取具体信息 (填充表格信息)

2. List.txt-List.xlsx

将以上获得的文本放到电子表格里。
结果只有2列: 分别命名为属性名称[Item], 属性信息[info]
手动添加自然顺序序号[sn] (1~1708),作用是确保后续作业不失序。
去掉空行,总共1708行。
当前List为3列:
  • A列: [sn] 自然顺序的行号 (1~1708)
  • B列: [Item] 属性名字段。
  • C列: [Info] 属性对应的具体信息字段。

2.1 添加软件ID[Sid]

要转换为二维表格,需要将每个软件的17/18行增加一个相同的SID号,表示这17/18行表示的是同一个软件。
不同的SID号表示不同的软件。
这个过程有更好的办法的,还请不吝赐教。
  1. 给软件编号
    1. 新增一列[Sid-1] (l临时列)
    2. 通过[Item]属性名字段排序,向下找到[NAME],一共99行。
    3. 给这99行添加1~99的软件ID号。限定[NAME]的99行,别的行留空。
    4. 然后再通过前面添加的[sn]行号排序。回到初始排序状态。
  2. 这时候每个软件的第一个属性[Name]包含对应的软件ID号,其他属性字段[Sid-1]为空。
  3. 给软件的其他属性同步软件ID
    1. 再新增一列[Sid-2] (l临时列)
    2. 当前B列为[Sid-1], C列为[Sid-2]。B2就是第一个软件的ID号。
    3. [Sid2]的C2单元格添加公式 {=IF(B2,B2,C1)} 
    4. [Sid2]的C2公式拖动到低,完成软件ID编号。
  4. 最后将填满软件id的[Sid-2]列复制为 无格式文本,列名为[Sid]。前面的[Sid-1]和[Sid-2]可以删除了。
补充:若是MS Office,上面的步骤(3.1~3.4)可以改成: 选择区域[Sid-1]→(Ctrl+G)打开定位对话框→定位到空值→依次按下等于号,向上的箭头→按下(Ctrl+Enter)即可完成填充。
当然,若有更好的办法还请不吝赐教。

当前List为5列:
  • A列: [sn] 自然顺序的行号 (1~1708)
  • B列: [Sid] 软件id号 (1~99)
  • C列: [Item] 属性名字段。
  • D列: [SidItem] 内容是前面2个字段的组合([Sid]+[Item])。可有可无的辅助列,后续其中一种Vlookup的方法需要这一列。
  • E列: [Info] 属性对应的具体信息字段。
补充:{=ISODD(B2)}可以添加一列判断奇数/偶数, 排序后,将奇数或偶数统一上色,再sn回到初始顺序,方便查看。

2.2 构造2维表格结构(包含第一列和第一行的字段的空表)

  • 第1列: [Sid], 软件id号(如上统计,共99行)
  • 第1行: 具体的[Item]软件属性字段(共19个列字段)

方法1,数据透视表。(简单)
菜单栏\数据\数据透视表
  • 行字段: B列: [Sid] 软件id号 (1~99)
  • 列字段: C列: [Item] 属性名字段。
  • 数据字段: E列: [Info] 属性对应的具体信息字段。
注:若来源列表的E列[Info]是纯数字,二维转换已经完成。
这里的[Info]是字符串和布尔值,所以我们只取建立好的表格结构,
以上行列,重新复制为纯文本作为行标题和列标题。

方法2,UNIQUE函数。(容易)
  • 行: =UNIQUE($list99.B:B)
  • 列: =TRANSPOSE(UNIQUE($list99.C:C))

2.3 获取具体信息(填充表格信息)

在B2单元格输入下方之一的公式,向右,向下拖动公式即可。

方法1,传统的VLOOKUP,需要用到D列[temp](辅助列)
  •  =IFERROR(VLOOKUP($A2&B$1,$list99.$D:$E,2,0),"")
方法2,使用XLOOKUP。填充内容的2种写法:
  •  =XLOOKUP($A2&B$1,$list.$B:$B&$list.$C:$C,$list.$E:$E)
  •  =XLOOKUP(1,($list.$B:$B=$A2)*($list.$C:$C=B$1), $list.$E:$E)
补充方法3,TRANSPOSE + FILTER
 =TRANSPOSE(FILTER($C$2:$C$10,$A$2:$A$10=E2))
在F2单元格输入公式,并下拉公式。公式会自动往右填充。
注:需要第二列次级字段数量一致,顺序一致... 上面的例子就不适合了,软件包含17~18行信息.
  • FILTER:根据条件筛选数组或单元格区域。
  • TRANSPOSE:将数组或单元格区域的行和列互换。

3. XLOOKUP

LibreOffice的XLOOKUP帮助页面
在数组中搜索一个值并返回对单元格或单元格范围的引用。
XLOOKUP 函数是VLOOKUP、HLOOKUP和LOOKUP等旧函数的现代且灵活的替代品。
XLOOKUP 支持近似匹配和精确匹配、通配符 (* ?) 或正则表达式进行部分匹配,以及垂直或水平范围的查找。
XLOOKUP 可以执行反向搜索,并在处理大型数据集时提供快速的二进制搜索选项。

3.1 语法及返回

XLOOKUP([Lookup] ; Array; Return [ ; [NotFound] [ ; [MatchType] [ ; SearchMode ] ])
XLOOKUP([查寻条件] ;搜索数组;返回数组[ ; [未找到] [ ; [匹配类型] [ ;搜索模式] ] ])

返回:
如果在Array中找到值Lookup的匹配项,则 XLOOKUP 返回对Return中单元格的引用,该单元格具有与Array中匹配项相同的相对位置。
如果没有找到匹配项,则返回值取决于NotFound参数。

3.2 参数

Lookup: (可选)要在Array中搜索的任意类型的值。如果省略,XLOOKUP 将返回在Array中找到的空白单元格。

搜索数组:要搜索的数组的引用。数组必须是一维数组,数组可以表示为:
  • 使用范围运算符直接引用:C2:C8或B4:K4
  • 带有常量的内联数组:{"Apple"; "Peach"; "Orange"; "Banana"}
  • 带有标签的数据库范围的列:myData[Person]带有数据库范围 myData和数据库字段 Person
  • 一维单元格数组的命名表达式或标签表达式,其结果为一维数组或对一维单元格数组的引用。
注:数组和返回的元素总数必须相同。

返回数组:是要返回的数组或范围的引用。同样是一维数组。返回值可以表示为:
  • 使用范围运算符的直接引用
  • 带有标签的数据库范围的列
  • 一维单元格数组的命名表达式或标签
  • 表达式,其结果是对一维单元格数组的引用。
注:如果结果数组是单元格范围,则必须将 XLOOKUP 函数作为数组公式输入。

未找到: (可选)可以是任意表达式。如果未找到与Lookup值匹配的项,则计算该表达式的值并返回结果。 如果未找到有效匹配项且省略了NotFound,则函数返回#N/A错误。

匹配模式:(可选)指定匹配类型。值可以是:
  • 0:完全匹配(默认)。如果未找到搜索条件值,且省略了“未找到结果”文本,则返回 #N/A 错误。
  • -1:尝试精确匹配。如果未找到搜索条件值,则返回下一个较小的项。
  • 1:尝试精确匹配。如果未找到搜索条件值,则返回下一个较大的项目。
  • 2:通配符匹配,其中字符 *(多个字符)、?(单个字符)和 ~ 具有特殊含义。
  • 3:正则表达式匹配。
注:MatchType值2和3不得与二分搜索(SearchMode值2和-2)一起使用。

搜索模式:(可选)指定要使用的搜索模式。
  • 1 :返回从搜索数组的第一项开始的第一次出现(默认)。
  • -1 :反向搜索。返回从搜索数组的最后一项开始的第一个匹配项。
  • 2:二分查找,要求搜索数组按升序排列。如果未排序,则返回无效结果。
  • -2:二分查找,要求搜索数组按降序排列。如果未排序,则返回无效结果。
注:任何可选参数都可以省略。可选参数要求所有前面的分隔符都存在。

其他详细信息:
近似匹配和二分搜索所请求的排序使用“字母数字”排序规则。

默认情况下,查找不区分大小写,覆盖工具 ▸选项 ▸计算 ▸计算 ▸ (常规计算) 区分大小写。
您可以在正则表达式中使用模式修饰符来指定区分大小写的搜索。

3.3 测试异常

参照以上帮助页面下方的示例,完全相同的数据及公式,本机测试并没有返回数组... 
=XLOOKUP(A3,A2:A4,A2:G4)
AtomicSN
例子里返回了A3这一行数组,这里只返回A3的内容... 

=XLOOKUP(C1,B1:G1,B1:G4,"nnn")
#VALUE!
例子里返回了C1这一列数组,这里返回#VALUE!,类型异常。

补充参考链接: 
VLOOKUP 功成身退!全新函數 XLOOKUP 霸氣取而代之!| Excel 教學 #34

2025-09-20

Windows-Appx

1. PS_modules
2. Appx
3. Get-AppxPackage
3.1  Syntax 语法
3.2 Description 描述
3.3  Examples
3.4  Parameters 参数
4. Remove-AppxPackage
4.1  Syntax
4.2 Description
4.3  Parameters
5. Reset-AppxPackage
5.1  Syntax
5.2 Description
5.3  Parameters
6. 软件包信息字段
6.1 字段table
6.2 筛选字段
6.3 包的3个名称字段
6.4 包的2个 Publisher 发行字段: 
6.5 NonRemovable不可移除
7. Examples
7.1 卸载
7.2 列出所有名字
7.3 列出所有依赖项
7.4 定位或限制包范围时, -Name 可以省略
7.5 利用find帮忙统计行数
7.6  > find /?
7.7  > findstr /?

1. PS_modules

PowerShell modules
Module name 网页版标题
ActiveDirectory Active Directory 域服务管理
ADCSAdministration Active Directory 证书服务管理
ADCSDeployment Active Directory 证书服务部署
ADDSDeployment Active Directory 域服务部署
ADFS Active Directory 联合身份验证服务
ADRMSAdmin Active Directory 权限管理服务管理
ADRMS Active Directory 权限管理服务部署
AppBackgroundTask 应用后台任务
AppLocker 应用储物柜
AppvClient App-V 客户端
AppvSequencer App-V 序列器
Appx Appx
AssignedAccess 分配访问权限
BestPractices 最佳实践分析器
BitLocker BitLocker
BitsTransfer 后台智能传输服务
BootEventCollector 启动事件收集器
BranchCache 分支缓存
ClusterAwareUpdating 群集感知更新
ConfigCI 代码完整性
DcbQos 数据中心桥接服务质量
Deduplication 重复数据删除
Defender Windows 防守者
DeviceHealthAttestion 设备健康证明
Dfsn 分布式文件系统 (DFS) 命名空间
Dfsr DFS 复制
DHCPServer DHCP 服务器
DirectAccessClientComponent 直接访问客户端
DISM DISM
DNSClient DNS 客户端
DNSServer DNS 服务器
EventTracingManagement 事件跟踪管理
FailoverClusters 故障转移群集
FileServerResourceManager 文件服务器资源管理器
GroupPolicy 组策略
HardwareCertification 硬件认证
HgsAttestation 主机守护服务证明
HgsClient 主机守护服务客户端
HgsDiagnostics 主机守护服务诊断
HgsKeyProtection 主机守护服务密钥保护
HgsServer 主机守护服务服务器
HostComputeService 容器
HNVDiagnostics HNV 诊断
Hyper-V Hyper-V
IISAdministration IIS 管理
International 国际化
IpamServer IP 地址管理服务器
Iscsi iSCSI
IscsiTarget iSCSI 目标
KDS 密钥分发服务器
MMAgent 内存管理代理
Mpio MPIO
MSDTC 分布式事务协调器
Msmq MSMQ
Multipoint 多点服务
MultiPointVdi 多点 VDI
NanoServerImageGenerator Nano 服务器映像生成器
NetLldpAgent NetLldpAgent
NetAdapter 网络适配器
NetConnection 网络连接
NetEventPacketCapture 网络事件数据包捕获
NetLbfo NIC Teaming
NetNat 网络地址转换
NetQoS 服务质量
NetSecurity 网络安全
NetTCPIP TCP/IP
NetWNV 网络虚拟化
NetworkConnectivityStatus 网络连接状态
NetworkController 网络控制器
NetworkControllerDiagnostics 网络控制器诊断
NetworkLoadBalancingClusters 网络负载平衡群集
NetworkSwitchManager 网络交换机管理器
NetSwitchTeam 网络交换机组
NetworkTransition 网络转换
NFS 网络文件系统
NPS 网络策略服务器
PCSVDevice 物理计算机系统视图设备
PKI 公钥基础设施
PlatformIdentifier 平台标识符
PnpDevice 即插即用
PrintManagement 打印管理
ProcessMitigations 进程缓解
RemoteAccess 远程访问
RemoteDesktop 远程桌面
RemoteDesktopServices 远程桌面服务
ScheduledTasks 计划任务
SecureBoot 安全启动
ServerCore 服务器核心
ServerManager 服务器管理器
ServerManagerTasks 服务器管理器任务
ShieldedVMDataFile 屏蔽虚拟机数据文件
ShieldedVMProvisioning 屏蔽虚拟机器配置
ShieldedVMTemplate 屏蔽虚拟机模板
SmbShare SmbShare 共享
SmbWitness SMB 见证
SMISConfig SMIS 配置
SoftwareInventoryLogging 软件清单日志记录
StartLayout 开始布局
Storage 存储
StorageQoS 存储 QoS
StorageReplica 存储副本
SyncShare 同步共享
TCPIP TCPIP
TLS TLS
TroubleshootingPack 故障排除包
TrustedPlatformModule 可信平台模块
UpdateServices Windows Server 更新服务
UserAccessLogging 用户访问日志记录
UEV 用户体验虚拟化
VAMT 批量激活管理工具
VpnClient VPN 客户端
WDAC Windows 数据访问组件
WebAdministration Web 管理
WebApplicationProxy Web 应用程序代理
WDS Windows 部署服务
WHEA Windows 硬件错误架构
WindowsDevLic Windows 开发人员许可证
WindowsErrorReporting Windows 错误报告
WindowsSearch Windows 搜索
WindowsServerBackup Windows Server 备份
WindowsUpdate Windows 更新
下文只整理了Appx modules的部分命令,备查。

2. Appx

Cmdlet 描述
Add-AppSharedPackageContainer 部署共享包容器定义。
Add-AppxPackage 将已签名的应用包添加到用户帐户。
Add-AppxVolume 将 appx 卷添加到包管理器。
Dismount-AppxVolume 卸载 appx 卷。
Get-AppSharedPackageContainer 获取有关共享包容器的信息。
Get-AppxDefaultVolume 获取默认的 appx 卷。
Get-AppxLastError 获取应用包安装日志中报告的最后一个错误。
Get-AppxLog 获取应用包安装日志。
Get-AppxPackage 获取用户配置文件中安装的应用包列表。
Get-AppxPackageAutoUpdateSettings 提供对特定 Windows 应用配置设置的可见性。
Get-AppxPackageManifest 获取应用包的清单。
Get-AppxVolume 获取计算机的 appx 卷。
Invoke-CommandInDesktopPackage 在打包应用的上下文中创建新进程的调试工具。
Mount-AppxVolume 挂载 appx 卷。
Move-AppxPackage 将包从当前位置移动到另一个 appx 卷。
Remove-AppSharedPackageContainer 删除共享包容器。
Remove-AppxPackage 从一个或多个用户帐户中删除应用包。
Remove-AppxPackageAutoUpdateSettings 删除特定 Windows 应用配置的设置。
Remove-AppxVolume 删除 appx 卷。
Reset-AppSharedPackageContainer 销毁容器的所有应用程序数据。
Reset-AppxPackage 将 Windows 应用恢复到其初始配置。
Set-AppxDefaultVolume 指定默认的 appx 卷。
Set-AppxPackageAutoUpdateSettings 配置特定 Windows 应用的自动更新和修复设置。
下文只整理了查询,删除,重置命令。
  • Get-AppxPackage
  • Remove-AppxPackage
  • Reset-AppxPackage
 CommonParameters
这几个命令都支持以下通用参数: 
 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. 

3. Get-AppxPackage

获取用户配置文件中安装的应用包列表。

3.1 Syntax 语法

 Default (Default)
SyntaxCopyGet-AppxPackage
    [-AllUsers]
    [-PackageTypeFilter <PackageTypes>]
    [[-Name] <String>]
    [[-Publisher] <String>]
    [-User <String>]
    [-Volume <AppxVolume>]
    [<CommonParameters>]

3.2 Description 描述

Get-AppxPackage cmdlet 用于获取用户配置文件中安装的应用包列表。
应用包的文件扩展名为 .msix 或 .appx。 
要获取当前用户配置文件以外的其他用户配置文件的包列表,须管理员权限。

3.3 Examples

示例 1:获取每个用户帐户的所有应用包
 cmd> Get-AppxPackage -AllUsers
此命令列出计算机上每个用户帐户安装的应用包。

示例 2:获取特定用户的应用包
 cmd> Get-AppxPackage -Name "Package17" -User "Contoso\EvanNarvaez"
如果 Package17 安装在指定的用户配置文件中, 此命令将显示有关该 Package17 的信息。

示例 3:获取特定应用包的信息
 cmd> Get-AppxPackage -Name Microsoft.ScreenSketch
此命令显示有关 ScreenSketch 应用的信息。

示例 4:获取特定发布者的所有应用包
 cmd> Get-AppxPackage -Publisher "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
此命令列出计算机上安装的所有 Microsoft 应用包。

示例 5:获取所有带有 PackageTypeFilter 的应用包
 cmd> Get-AppxPackage -PackageTypeFilter Bundle,Framework,Main,Resource
此命令列出计算机上安装的所有带有 PackageTypeFilter 的应用包。

3.4 Parameters 参数

 -AllUsers
表示此 cmdlet 列出计算机上所有用户帐户的应用包。 要使用此参数,您必须以管理员权限运行该命令。
  • Type: SwitchParameter
  • Position 位置:Named
  • Value from pipeline: TRUE
  • Value from pipeline by property name: TRUE
  • Value from remaining arguments: FALSE

 -Name
指定特定包的名称。 如果指定此参数,cmdlet 将仅返回此包的结果。 允许使用通配符。
  • Type: String
  • Position 位置:1
  • 来自管道的值: TRUE
  • 来自管道(按属性名称)的值: FALSE
  • 来自其余参数的值: FALSE

 -PackageTypeFilter
指定 cmdlet 从包存储库获取的一个或多个以逗号分隔的包类型。 默认情况下,此 cmdlet 仅返回 Main 和 Framework 类型的软件包。
  • Type: PackageTypes
  • Accepted values 接受的值:
    • None, Main, Framework, Resource, Bundle, Xap, Optional
  • Position 位置:Named
  • Value from pipeline: TRUE
  • Value from pipeline by property name: TRUE
  • Value from remaining arguments: FALSE

 -Publisher
指定特定软件包的发布者。 如果指定此参数,则 cmdlet 仅返回此发布者的结果。 允许使用通配符。
  • Type: String
  • Position 位置:2
  • Value from pipeline: TRUE
  • Value from pipeline by property name: FALSE
  • Value from remaining arguments: FALSE

 -User
指定用户。 如果指定此参数,则 cmdlet 将返回仅为此 cmdlet 指定的用户安装的应用软件包列表。 要获取当前用户配置文件以外的其他用户配置文件的软件包列表,您必须以管理员权限运行此命令。 用户名可以采用以下格式之一:
  1. domain\user_name
  2. user_name@fqn.domain.tld
  3. user_name
  4. SID-string
  • Type: String
  • Position 位置:Named
  • Value from pipeline: TRUE
  • Value from pipeline by property name: FALSE
  • Value from remaining arguments: FALSE

 -Volume
指定 AppxVolume 对象。 如果指定此参数,则此 cmdlet 仅返回与此参数指定的卷相关的软件包。
  • Type: AppxVolume
  • Position 位置:Named
  • Value from pipeline: TRUE
  • Value from pipeline by property name: TRUE
  • Value from remaining arguments: FALSE

4. Remove-AppxPackage

Removes an app package from one or more user accounts.

4.1 Syntax

 RemoveByPackageSet (Default)
SyntaxCopyRemove-AppxPackage
    [-Package] <String>
    [-PreserveApplicationData]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
 
紧接着 [-Package] <String> 之后的参数四选一:
  • [-PreserveApplicationData]
  • [-PreserveRoamableApplicationData]
  • [-AllUsers]
  •  -User <String>
具体区别,请看下面参数说明。

4.2 Description

Remove-AppxPackage cmdlet 用于从用户帐户中删除应用包。 应用包的文件扩展名为 .msix 或 .appx。
示例:删除应用包
 cmd> Remove-AppxPackage -Package 'package1_1.0.0.0_neutral__8wekyb3d8bbwe'
此命令用于从当前用户帐户中删除名为 …

4.3 Parameters

 -AllUsers
此参数用于从计算机上所有用户帐户中删除应用包。 该参数根据父包类型进行操作。 如果是软件包,请将 PackageTypeFilter 与 Get-AppxPackage 命令结合使用,并指定软件包。 要使用此参数,您必须以管理员权限运行该命令。
  • Type: SwitchParameter
  • Position 位置:Named
  • Value from pipeline: False 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -Confirm
在运行 cmdlet 之前提示您确认。
  • Type: SwitchParameter
  • Aliases: cf
  • Position 位置:Named
  • Value from pipeline: False 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -Package
指定 AppxPackage 对象或软件包的全名。
  • Type: String
  • Position: 0
  • Mandatory 必填项:True
  • Value from pipeline: True 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -PreserveApplicationData
指定 cmdlet 在删除软件包时保留应用程序数据。 
应用程序数据可供以后使用。 
请注意,这仅适用于正在开发中的应用, 因此此选项只能为从文件布局注册的应用(松散文件注册)指定。
  • Type: SwitchParameter
  • RemoveByPackageSet
  • Position: Named
  • Value from pipeline: False 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -PreserveRoamableApplicationData
删除软件包时保留应用数据的可漫游部分。
此参数与 PreserveApplicationData 不兼容。
  • Type: SwitchParameter
RemoveByPackageForRoamingSet
  • Position: Named
  • Value from pipeline: False 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -User
如果指定此参数,则该 cmdlet 将仅为其指定的用户删除应用包。 要删除当前用户配置文件以外的其他用户配置文件的包,必须以管理员权限运行此命令。
Note:此参数仅接受用户 SID。 使用 whoami /user 命令显示用户的当前 SID。
  • Type: String
UserSet
  • Position: Named
  • Mandatory 必填项:True
  • Value from pipeline: False 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -WhatIf
显示如果 cmdlet 运行将发生的情况。该 cmdlet 未运行。
  • Type: SwitchParameter
  • Aliases: wi
  • Position: Named
  • Value from pipeline: False 
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

5. Reset-AppxPackage

将 Windows 应用恢复到其初始配置。

5.1 Syntax

 Default (Default)
SyntaxCopyReset-AppxPackage
    [-Package] <string>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

5.2 Description

Reset-AppxPackage cmdlet 将应用重置为原始设置,应用将像全新安装的应用一样运行。
重置应用后,应用的任何初始提示都将提示用户输入。
 Examples:重置应用包
 cmd> Reset-AppxPackage -Package publisher.package1_1.0.0.0_neutral__8wekyb3d8bbwe
此 cmdlet 将 package 重置为原始设置

5.3 Parameters

 -Confirm
在运行此 cmdlet 之前提示您进行确认。
  • Type: SwitchParameter
  • Aliases: cf
  • Position: Named
  • Value from pipeline: False
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

 -Package
指定要重置的应用的软件包全名 (PFuN)。
  • Type: String
  • Position: 0
  • Mandatory: True
  • Value from pipeline: True
  • Value from pipeline by property name: True
  • Value from remaining arguments: False

 -WhatIf
显示如果 cmdlet 运行将发生的情况。该 cmdlet 未运行。
  • Type: SwitchParameter
  • Aliases: wi
  • Value from pipeline: False
  • Value from pipeline by property name: False
  • Value from remaining arguments: False

6. 软件包信息字段

6.1 字段table

使用 Get-AppxPackage 命令获得的软件包信息包含如下18个字段。
部分是冗余信息字段。部分包有或无字段:Dependencies
表中的 [字段值] 是当前本机的统计信息,共89个包。 
一些字段全部都是一个值,Flase,OK等。
另外一些括号里的数字就是对应值的统计数字。
字段名 包含/或相关字段 字段值 中文
Name Name
名称
Publisher Publisher CN=Microsoft Corporation(46)
CN=Microsoft Windows(43)
发布者
Architecture
X64(54)/Neutral(35) 架构
ResourceId
空白(65)/Neutral(24) 资源 ID
Version 版本
版本
PackageFullName _版本_架构_资源ID_发布ID
软件包完整名称
InstallLocation

安装位置
IsFramework
FALSE(79)/TRUE(10) 是否为 框架
PackageFamilyName Name_PublisherId
软件包系列名称
PublisherId Publisher 8wekyb3d8bbwe(46)
/cw5n1h2txyewy(43)
发布者 ID
IsResourcePackage
FALSE 是否为 资源包
IsBundle
FALSE 是否为 Bundle
IsDevelopmentMode
FALSE 是否为 开发模式
NonRemovable
FALSE(38)/TRUE(51) 是否 不可移除
Dependencies _版本_架构_资源ID_语言_发布ID
依赖项
IsPartiallyStaged
FALSE 是否为 部分暂存
SignatureKind
System(49)/
Store(37)/Developer(3)
签名类型
Status
Ok 状态

6.2 筛选字段

这18个字段,只有 Name,Publisher 这2个字段可以作为 Get-AppxPackage 的参数筛选定位软件包。
其他字段只能使用 find,findstr 等命令间接实现筛选。

6.3 包的3个名称字段

  • Name,包名
  • PackageFamilyName,包名+家族名(PublisherId)
  • PackageFullName,包名+版本(Version)+家族名(PublisherId)
    • PublisherId 家族名: 有2个,分别是: 8wekyb3d8bbwe, cw5n1h2txyewy.
    • 版本号也有独立字段(Version)。

6.4 包的2个 Publisher 发行字段:

Publisher   (PublisherId)
  • CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US   (8wekyb3d8bbwe)
  • CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US   (cw5n1h2txyewy)

6.5 NonRemovable不可移除

  • SignatureKind 签名类型 为 System 的,  全部都是 (NonRemovable = True),  且全部安装在C:\Windows下,绝大部分都在SystemApps子目录下。
  • SignatureKind 签名类型 为 Store 的,  绝大部分都是 (NonRemovable = False),  且全部安装在C:\Program Files\WindowsApps目录下。
查看本机,只有如下2个是 (NonRemovable = True): 
  • Microsoft.SecHealthUI
  • Microsoft.DesktopAppInstaller

7. Examples

  •  > Get-AppxPackage -?
  •  > Remove-AppxPackage -?
  •  > Reset-AppxPackage -?
可以获得几乎没用的帮助... 

7.1 卸载

Get-AppxPackage Microsoft.YourPhone -AllUsers | Remove-AppxPackage

7.2 列出所有名字

 > Get-AppxPackage | find "Name              :"

7.3 列出所有依赖项

 > Get-AppxPackage |findstr Dependencies
注: 只显示一行,视终端宽度。 若是双屏幕,将终端界面拉长到2个显示器,则基本能全部显示了。

7.4 定位或限制包范围时, -Name 可以省略

 > Get-AppxPackage  RealtekSemiconductorCorp*
 > Get-AppxPackage  -Name RealtekSemiconductorCorp*

7.5 利用find帮忙统计行数

  •  > netstat -na | find /C  /I  "TCP "
  •  > netstat -na | find /C  /I  "UDP "
  •  > netstat -na | find /C  /I  /V "TCP "
  •  > netstat -na | find /C  /I  /V "UDP "
  •  > netstat -na | find /C  /I  " "
  •  > netstat -na | find /C  /I /V "string not exists"
注:  使用/V (显示所有未包含)统计的结果要减去4行(开头的4行)。
[1]
[2]活动连接 
[3] 
[4]  协议  本地地址          外部地址        状态

7.6 > find /?

在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
  /V         显示所有未包含指定字符串的行。
  /C         仅显示包含字符串的行数。
  /N         显示行号。
  /I         搜索字符串时忽略大小写。
  /OFF[LINE] 不要跳过具有脱机属性集的文件。
     "string"   指定要搜索的文本字符串。
     [drive:][path]filename   指定要搜索的文件。
如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。

7.7 > findstr /?

在文件中寻找字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]  [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]   strings [[drive:][path]filename[ …]]
  /B         在一行的开始配对模式。
  /E         在一行的结尾配对模式。
  /L         按字使用搜索字符串。
  /R         将搜索字符串作为一般表达式使用。
  /S         在当前目录和所有子目录中搜索匹配文件。
  /I         指定搜索不分大小写。
  /X         打印完全匹配的行。
  /V         只打印不包含匹配的行。
  /N         在匹配的每行前打印行数。
  /M         如果文件含有匹配项,只打印其文件名。
  /O         在每个匹配行前打印字符偏移量。
  /P         忽略有不可打印字符的文件。
  /OFF[LINE] 不跳过带有脱机属性集的文件。
  /A:attr    指定有十六进位数字的颜色属性。请见 "color /?"
  /F:file    从指定文件读文件列表 (/ 代表控制台)。
  /C:string  使用指定字符串作为文字搜索字符串。
  /G:file    从指定的文件获得搜索字符串。 (/ 代表控制台)。
  /D:dir     查找以分号为分隔符的目录列表
  /Q:qflags  静音模式标志: 
             u           抑制对不支持的 Unicode 格式发出警告
  strings                要查找的文字。
  [drive:][path]filename 指定要搜索的文件。
除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或 "there"。
 'FINDSTR /C:"hello there" x.y' 文件 x.y  寻找 "hello there"。

一般表达式的快速参考:
  .        通配符: 任何字符
  *        重复: 以前字符或类出现零或零以上次数
  ^        行位置: 行的开始
  $        行位置: 行的终点
  [class]  字符类: 任何在字符集中的字符
  [^class] 补字符类: 任何不在字符集中的字符
  [x-y]    范围: 在指定范围内的任何字符
  \x       Escape: 元字符 x 的文字用法
  \<xyz    字位置: 字的开始
  xyz\>    字位置: 字的结束
有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。

2025-09-14

Windows-Resource-files-port

1. 文件占用
	1.1 resmon
	1.2 openfiles
	1.3 第3方工具
2. 端口占用
	2.1 端口列表链接
	2.2 dynamicportrange 动态端口范围
	2.3 excludedportrange 排除端口范围
	2.4 显示所有侦听端口及进程ID
	2.5 查看单个端口的PID
3. 关闭端口或服务
	3.1 RPC-135
	3.2 NetBIOS-139
	3.3 SMB-445
	3.4 5985, 5986
4. 文件共享-web
	4.1 windows, linux
	4.2 macOS
5. 显示所有侦听端口及进程ID
6. 命令帮助
	6.1 netstat -?
	6.2 netcfg /?
	6.3 netsh ?

1. 文件占用

1.1 resmon

使用系统的 [资源监视器] (Resource Monitor), 文件位置如下: 
C:\Windows\System32\resmon.exe
Resmon的3种打开方式: 
  • 若经常使用可以将以下文件 [发送到:桌面快捷方式],双击打开。
  • 直接在CMD命令行里输入命令名 (resmon) 打开。
  • [任务管理器]的[性能]页签,右上角[...]菜单: [资源监视器], 打开。
打开资源监视器后,选择CPU页签,在 [关联的句柄] 搜索要查看的文件名。 
下方列表会显示占用该文件的进程名称及ID等信息。

1.2 openfiles

 > openfiles /?
OPENFILES /parameter [arguments]
描述:允许管理员列出系统上已打开的文件和文件夹或与其断开连接。
参数列表:
    /Disconnect      中断至少一个打开的文件的连接。
    /Query           显示所有从本地或从共享文件夹打开的文件。
    /Local           启用 / 禁用本地打开文件的显示。
    /?               显示此帮助消息。
示例:
    OPENFILES /Disconnect /?
    OPENFILES /Query /?
    OPENFILES /Local /?

 > openfiles /local
信息: 系统全局标志“维护对象列表”目前已禁用。

 > openfiles /local on
成功: 已启用系统全局标志“维护对象列表”。
      系统重新启动后这才会生效。

 > openfiles
信息: 需要启动系统全局标志“维护对象列表”才能查看本地打开的文件。
            请参阅 Openfiles /? 以获得详细信息。
通过本地共享点远程打开的文件:
---------------------------------------------
信息: 没有找到打开的共享文件。

 > openfiles
本地打开的文件:
 … 这里省略 详细列表 [List … 500行+ ] … 
通过本地共享点远程打开的文件:
信息: 没有找到打开的共享文件。

上面省略的 详细列表 [List … 500行+ ] 概述:
列表字段:ID, 过程名称, 打开文件(路径\可执行)
以上3个字段的列表共计511行,统计有进程名称27个,打开的文件或文件夹262个,进程ID有433个。
  • 一些文件夹,mui多语言用户界面,db数据库,ttf字体等文件会被多个进程使用。
  • 一些可执行程序,会打开多个文件夹及文件。
小结:
  • 上面的 resmon 根据输入的 单一文件夹或文件名 列出使用它的进程及ID。
  • 这里的 openfiles 一次性列出当前 所有被打开的文件列表 及相关进程及ID。

1.3 第3方工具

下面的方法在网上找到的,还没试过,毕竟上面2种方法已经很方便了。

下载并安装 Sysinternals Suite.
Handle <filename>

下载并安装 Unlocker.
右键点击文件或文件夹,选择 Unlocker。

2. 端口占用

2.1 端口列表链接

2.2 dynamicportrange 动态端口范围

显示动态端口范围
 > netsh int ip show dynamicportrange tcp
协议 tcp 动态端口范围(新安装的系统)
启动端口        : 49152
端口数          : 16384

协议 tcp 动态端口范围(系统更新后)
启动端口        : 1024
端口数          : 64511

更改动态端口分配所使用端口的范围。
 > netsh int ip set dynamicportrange ?
 > netsh int ip set dynamicportrange protocol=tcp startport=10000 numberofports=20000

2.3 excludedportrange 排除端口范围

显示所有排除的端口范围
 > netsh int ip show excludedportrange tcp
协议 tcp 端口排除范围
开始端口    结束端口
* - 管理的端口排除。

为连续的端口块添加排除。
 > netsh int ip add excludedportrange ?
 > netsh int ip add excludedportrange protocol=tcp startport=50000 numberofports=20

为连续的端口块删除排除
 > netsh int ip delete excludedportrange ?
 > netsh int ip delete excludedportrange protocol=tcp startport=50000 numberofports=20
startport 和 numberofports 应该与以前创建的排除完全相同。可通过 show 查看。

2.4 显示所有侦听端口及进程ID

 > netstat -ano
活动连接
  协议  本地地址          外部地址        状态           PID
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING       4844
  TCP    [::1]:49664            [::]:0                 LISTENING       3788
  UDP    0.0.0.0:5050           *:*                                    4844
  UDP    127.0.0.1:1900         *:*                                    8608
  UDP    127.0.0.1:49664        127.0.0.1:49664                        3380
  UDP    127.0.0.1:49666        *:*                                    8608
  UDP    [::1]:1900             *:*                                    8608
  UDP    [::1]:49665            *:*                                    8608

2.5 查看单个端口的PID

查看被占用端口对应的 PID
 > netstat -aon | findstr 1900
  UDP    127.0.0.1:1900         *:*                                    8608
  UDP    [::1]:1900             *:*                                    8608

查看指定 PID 的进程名
 > tasklist | findstr 8608
svchost.exe                   8608 Services                   0     10,044 K

注,
  • 在 [任务管理器] 的 [详细信息] 页签,使用PID排序,很容易找到具体进程。
  • 在 [任务管理器] 的 [服务] 页签,使用PID排序,也很容易找到具体进程。 
    • 这里出现的PID,都是系统服务进程。 
    • 这里没有的PID则是第3方程序,例如Chrome浏览器,soffice,LibreOffice文档软件等。

3. 关闭端口或服务

3.1 RPC-135

RpcSs (Remote Procedure Call (RPC))
C:\WINDOWS\system32\svchost.exe -k rpcss -p
RPCSS 服务是 COM 和 DCOM 服务器的服务控制管理器。
它执行 COM 和 DCOM 服务器的对象激活请求、对象导出程序解析和分布式垃圾回收。
如果此服务被停用或禁用,则使用 COM 或 DCOM 的程序将无法正常工作。

新装的Windows11,这个服务无法关闭,也不能禁用,不知道是不是因为没有激活,部分操作被限制。
以下是网上找到的关闭方法,不知道是否有更好的方法。

win+R 运行: dcomcnfg 打开 组件服务
选择我的电脑,右键属性,默认属性页签,取消勾选(在此计算机上启用分布式COM)
默认协议页签,移除DCOM里的协议。

win+R 运行: regedit 打开 注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\internet
Rpc下,新建项:internet
重启即可
注: 这里注册表添加项,不知道有什么用... 

3.2 NetBIOS-139

  1. 开始 → 搜索 → [控制面板]
  2. [控制面板] → [网络和共享中心] → [更改适配器设置] 打开 [网络连接]
  3. [网络连接] 这里列出系统的网卡,在所有会使用到的网卡里关闭:有线以太网卡,无线网卡,USB网卡等。
    1. 右键具体 [网卡] → [属性] 打开 具体的 [网卡属性]
    2. [网卡属性] → 选中 [Internet协议版本4 (TCP/IPv4)] → 点击 [属性] 打开 [Internet协议版本4 (TCP/IPv4) 属性]
    3. [Internet协议版本4 (TCP/IPv4) 属性] → [高级] 打开 [高级 TCP/IP 设置]
    4. [高级 TCP/IP 设置] → [WINS]页签 → 选中 [禁用 TCP/IP 上的 NetBIOS]

3.3 SMB-445

Microsoft-DS (Microsoft Directory Services) SMB (Server Message Block) 文件共享服务
win+R 运行: regedit 打开 注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
新建QWORD(64位)值 (SMBDericeEnabled)
注: 这里注册表添加值,不知道有什么用... 

关闭Server服务
几十年来,我都是直接禁用Server服务。  这个服务默认启用,结果是开放所有磁盘的$默认共享,一丝不挂的隐藏共享... 

3.4 5985, 5986

win+R 运行: firewall.cpl 打开 防火墙
防火墙 高级设置 
通过端口 找出对应的策略,阻止即可。
Windows 远程管理(HTTP-In)

4. 文件共享-web

通过上面的操作,系统安全性增加了,但也失去了局域网内文件共享的便利性。
下面介绍更安全的web文件分享,这种方式使用web页面分享文件,始终是单向且只读的。
有非常多的软件提供web服务功能,感觉python附带的最方便。随时用随时开。

只需要安装Python最新版,然后在需要共享的目录下执行下方的命令即可。
而局域网内需要获取文件的用户,只需要使用浏览器输入上面分享主机的IP地址及端口号即可浏览文件,选择下载。

4.1 windows, linux

python -m http.server 
python -m http.server 9000 

4.2 macOS

python3 -m http.server 9000 
Localhost:9000
alias http-server="python3 -m http.server" 
http-server 8080 

5. 显示所有侦听端口及进程ID

关闭了以上端口,结合任务管理器,查看侦听端口及进程信息。
 > netstat -ano 列出进程列表及PID,再通过PID找到相应的服务名称或程序名称
协议 本地地址 外部地址 状态 PID 服务名 (显示名) C:\WINDOWS\system32\svchost.exe
UDP 0.0.0.0:5355 *:* 2280 Dnscache
(DNS Client)
-k NetworkService -p
UDP [::]:5355 *:* 2280
UDP 127.0.0.1:49664 127.0.0.1:49664 3464 Iphlpsvc (IP Helper) -k NetSvcs -p
TCP 192.168.10.10:50264 4.145.79.80:443 ESTABLISHED 3660 WpnService
Windows 推送通知系统服务
-k NetSvcs -p
TCP 192.168.10.10:50381 4.145.79.80:443 ESTABLISHED 3660
TCP 0.0.0.0:5040 0.0.0.0:0 LISTENING 5360 CDPSvc
连接设备平台服务
-k LocalService -p
UDP 0.0.0.0:5050 *:* 5360
UDP 127.0.0.1:1900 *:* 5520 SSDPSRV
SSDP Discovery
-k LocalServiceAndNoImpersonation -p
UDP 127.0.0.1:49560 *:* 5520
UDP [::1]:1900 *:* 5520
UDP [::1]:49559 *:* 5520
TCP 0.0.0.0:7680 0.0.0.0:0 LISTENING 10400 DoSvc
Delivery Optimization
-k NetworkService -p
TCP [::]:7680 [::]:0 LISTENING 10400
TCP [::1]:49664 [::]:0 LISTENING 3492 jhi_service C:\WINDOWS\System32\DriverStore\FileRepository\
Dal.inf_amd64_af50fdb80983f7bc\jhi_service.exe
TCP 127.0.0.1:49836 127.0.0.1:49837 ESTABLISHED 9940 firefox.exe
浏览器
这是上面:[jhi_service] 服务的描述
Intel(R) Dynamic Application Loader Host Interface Service.
Allows applications to access the local Intel (R) DAL
英特尔(R) 动态应用程序加载器主机接口服务。
允许应用程序访问本地英特尔(R) DAL
TCP 127.0.0.1:49837 127.0.0.1:49836 ESTABLISHED 9940
TCP 127.0.0.1:49838 127.0.0.1:49839 ESTABLISHED 10900
TCP 127.0.0.1:49839 127.0.0.1:49838 ESTABLISHED 10900

6. 命令帮助

6.1 netstat -?

显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-f] [-i] [-n] [-o] [-p proto] [-r] [-s] [-t] [-x] [-y] [interval]
 -a  显示所有连接和侦听端口。
 -b  显示创建每个连接所涉及的可执行文件或侦听端口。  
在某些情况下,已知的可执行文件托管多个独立组件,在这些情况下,将显示创建连接或侦听端口所涉及的组件序列。 
在这种情况下,可执行文件名称位于 [] 底部,顶部是它调用的组件,此类推,直到达到 TCP/IP。 
依请注意,此选项可能很耗时,并且会失败,除非你有足够的权限。
 -c  显示按当前使用的 TCP 或 UDP 端口数排序的进程列表。
 -d  显示每个连接分配的 DSCP 值。
 -d  显示以太网统计信息。这可以与 -s 选项结合使用。
 -f  显示外部的完全限定的域名 (FQDN) 地址。
 -i  显示 TCP 连接在其当前状态下所用的时间。
 -n  以数字形式显示地址和端口号。
 -o  显示与每个连接关联的拥有进程 ID。
 -p [*]  显示 proto 指定的协议的连接;proto 可以是以下任一项: TCP、UDP、TCPv6 或 UDPv6。 
如果与 -s 选项一起使用以显示每个协议统计信息,则 proto 可以是以下任一项: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
 -q  显示所有连接、侦听端口和绑定非侦听 TCP 端口。 绑定的非侦听端口可能已与或未与活动连接相关联。
 -r  显示路由表。
 -s  显示每个协议的统计信息。(-p 选项可用于指定默认值的子集) 
默认情况下,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息。
 -t  显示当前的连接卸载状态。
 -x  显示 NetworkDirect 连接、侦听器和共享终结点。
 -y  显示所有连接的 TCP 连接模板。 无法与其他选项结合使用。
间隔  重播所选统计信息、每次显示之间的暂停间隔秒数。 
按 CTRL+C 停止重新显示统计信息。 
如果省略,netstat 将打印当前配置信息一次。

6.2 netcfg /?

netcfg [-v] [-winpe] [-l <full-path-to-component-INF>] -c <p|s|c> -i <comp-id>

-winpe 为 Windows 预安装环境安装 TCP/IP、NetBIOS和 Microsoft 客户端
 -l     提供 INF 的位置
 -c     提供要安装的组件的类(p 代表协议、s 代表服务、c 代表客户端)
 -i     提供组件 ID
参数必须按照所示顺序传递。
示例:
 > netcfg -l c:\oemdir\myprot.inf -c p -i myprot
使用 c:\oemdir\myprot.inf 安装协议 "myprot"

 > netcfg -c s -i MS_Server
安装服务 "MS_Server"

 > netcfg -v -winpe
为 Windows 预安装环境安装 TCP/IP、NetBIOS和 Microsoft 客户端

netcfg [-v] -q <comp-id>
 > netcfg -q MS_IPX
显示是否安装了组件 "MS_IPX"

netcfg [-v] -u <comp-id>
 > netcfg -u MS_IPX
卸载组件 "MS_IPX"

netcfg [-v] -s <a|n>
 -s  提供要显示的组件的类型(a 代表适配器,n 代表网络组件)
 > netcfg -s n
显示所有已安装的网络组件

netcfg [-v] -b <comp-id>
 > netcfg -b ms_tcpip
显示包含 "MS_TCPIP" 的绑定路径

netcfg [-v] -m
 > netcfg -m
将绑定映射输出到当前目录中的 NetworkBindingMap.txt。 -v 还将显示映射到控制台的绑定映射。

 > netcfg -d
在所有网络设备上执行清理。这需要重新启动。

 > netcfg -x
在网络设备上执行清理,并跳过没有物理对象名称的对象。这需要重新启动。

一般说明:
 -v    以详细模式运行
 -?    显示此帮助信息

6.3 netsh ?

用法: C:\WINDOWS\system32\netsh.exe [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *] [Command | -f ScriptFile]
下列指令有效: 此上下文中的命令:
advfirewall   更改到 `netsh advfirewall' 上下文。
branchcache   更改到 `netsh branchcache' 上下文。
bridge        更改到 `netsh bridge' 上下文。
dhcpclient    更改到 `netsh dhcpclient' 上下文。
dnsclient     更改到 `netsh dnsclient' 上下文。
firewall      更改到 `netsh firewall' 上下文。
http          更改到 `netsh http' 上下文。
interface     更改到 `netsh interface' 上下文。
ipsec         更改到 `netsh ipsec' 上下文。
lan           更改到 `netsh lan' 上下文。
mbn           更改到 `netsh mbn' 上下文。
namespace     更改到 `netsh namespace' 上下文。
netio         更改到 `netsh netio' 上下文。
nlm           更改到 `netsh nlm' 上下文。
ras           更改到 `netsh ras' 上下文。
rpc           更改到 `netsh rpc' 上下文。
trace         更改到 `netsh trace' 上下文。
wcn           更改到 `netsh wcn' 上下文。
wfp           更改到 `netsh wfp' 上下文。
winhttp       更改到 `netsh winhttp' 上下文。
winsock       更改到 `netsh winsock' 上下文。
wlan          更改到 `netsh wlan' 上下文。
set         更新配置设置。
add         在项目列表上添加一个配置项目。
delete      在项目列表上删除一个配置项目。
exec        运行一个脚本文件。
dump        显示一个配置脚本。
show        显示信息。
help        显示命令列表。
?           显示命令列表。
下列的子上下文可用:
 advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace netio nlm ras rpc trace wcn wfp winhttp winsock wlan
若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟?。

Windows-hiberfil-pagefile-swapfile

1. Windows系统盘下3个隐藏文件
2. hiberfil.sys
	2.1 控制面板关闭
	2.2 通过命令关闭
3. 虚拟内存
	3.1 虚拟内存设置
	3.2 Pagefile和Swapfile的区别

1. Windows系统盘下3个隐藏文件

Windows系统盘 根目录下有如下3个隐藏文件。
  • hiberfil.sys 6G, 系统休眠文件
  • pagefile.sys 3G, 页面交换文件. 虚拟内存
  • swapfile.sys 16M, 虚拟内存

Linux系统下,只有swap交换分区或文件这一种。大小大于等于内存。
Linux的swap交换区或文件作用等同于上述Windows系统盘下3个隐藏文件的作用。
  • 通常作为独立分区存在,文件菜单下不可见。
  • 也可使用命令生成文件存在与某个分区下。

2. hiberfil.sys

hiberfil.sys,启动休眠功能,产的系统休眠文件。
电脑休眠时,这个文件保持内存中的信息,确保再次开机时,及时恢复到修面前的状态。
若不使用休眠功能,完全可以关闭。避免生成这个大文件。

2.1 控制面板关闭

控制面板\电源选项\关闭(启用休眠),
重启后 hiberfil.sys 文件即消失。

2.2 通过命令关闭

更好的办法是: 管理员身份运行CMD
powercfg /h off
使用命令关闭休眠后,hiberfil.sys 文件会立即消失。
powercfg -?
查看更多选项。

3. 虚拟内存

Pagefile.sys 和 Swapfile.sys 是 Windows 系统中用于内存管理的重要文件,
它们的主要功能是通过虚拟内存机制提高系统性能,尤其是在物理内存不足的情况下。

Pagefile.sys 的作用
Pagefile.sys 是 Windows 的页面文件,用于存储系统无法加载到物理内存中的数据。
当系统内存不足时,操作系统会将不常用的数据从内存转移到 Pagefile.sys 中,从而释放内存空间供其他程序使用。

Swapfile.sys 的作用
Swapfile.sys 是 Windows 8 及以上版本引入的交换文件,专门用于管理 Universal Apps(现代应用) 的内存。
这些应用的运行方式与传统桌面应用不同,因此需要独立的内存管理机制。
当系统检测到内存压力时,Swapfile.sys 会将非活动状态的 Universal Apps 数据写入磁盘,从而释放内存。
当用户重新激活这些应用时,数据会从 Swapfile.sys 中恢复到内存中。

3.1 虚拟内存设置

大约20多年前,那时候电脑的内存还比较小,比如2GB,砖家会建议将虚拟内存设置为内存的2倍大小。
除了修改大小,还可以将虚拟内存设置到其他盘符下。
现在内存都很大了,16G,32G... 虚拟内存就让系统自己配置好了,关闭也是可以的,不过通常不建议。

设置路径:
  1. 开始菜单→设置→系统→系统信息→高级系统设置 打开 [系统属性]
  2. [系统属性]→高级页签→点击性能区的设置 打开 [性能选项]
  3. [性能选项]→高级页签→点击虚拟内存区的更改 打开 [虚拟内存]
  4. [虚拟内存]→默认自动 (如果系统盘空间充裕,自动即可)

3.2 Pagefile和Swapfile的区别

  • 用途不同:
    • Pagefile.sys 用于所有程序的虚拟内存管理,
    • Swapfile.sys 仅用于 Universal Apps 的内存交换。
  • 文件大小:
    • Pagefile.sys 的大小通常较大,取决于系统配置;
    • Swapfile.sys 的大小较小,通常不超过 256 MB。

2025-09-10

IEEE802

1. IEEE 802
2. IEEE 802 groups
3. IEEE 802.3
	3.1 IEEE 802.3简介
	3.2 以太网标准
4. IEEE 802.11
	4.1 频道和频率
	4.2 监管领域和法律合规性
	4.3 第2层 - 数据报
	4.4 安全
5. Wi-Fi
	5.1 Wi-Fi和802.11的区别
	5.2 Wi-Fi和WLAN的区别
	5.3 Wi-Fi世代列表

1. IEEE 802

IEEE 802 是电气和电子工程师协会(IEEE) 为局域网(LAN)、个人局域网(PAN) 和城域网(MAN) 制定的一系列标准。
IEEE 802 局域网/城域网标准委员会 (LMSC) 负责维护这些标准。
IEEE 802 标准系列已有 24 个成员,编号从 802.1 到 802.24,LMSC 为每个标准都设立了一个工作组。然而,并非所有这些工作组目前都处于活跃状态。
数字 802 没有任何意义: 它只是 IEEE 用于标准项目的序列中的下一个数字。

IEEE 802 中定义的服务和协议限定在OSI模型的最低两层(即物理层和数据链路层)。
IEEE 802 将OSI的数据链路层分为两个子层,分别是: 
  • 逻辑链路控制 (LLC, Logical Link Control)
  • 介质访问控制 (MAC, Media Access Control)

IEEE 802 标准仅限定在传输可变大小数据包的计算机网络。
  • 这与信元中继网络(cell relay)不同,在信元中继网络中,数据以短小、大小均匀的单元(称为信元 cells)传输。
  • 同步信号网络(Isochronous signal)也不在 IEEE 802 标准的范围内, (其中数据以稳定的八位字节流或八位字节组的形式,以固定的时间间隔传输)。

2. IEEE 802 groups

IEEE Description 描述 状态 802
802.1 Higher Layer LAN Protocols Working Group 高层局域网协议工作组 Active 活跃 1
802.2 LLC (Logical link control) LLC 逻辑链路控制 Disbanded 解散 2
802.3 Ethernet 以太网 Active 活跃 3
802.4 Token bus 令牌总线 Disbanded 解散 4
802.5 Token Ring MAC layer 令牌环MAC层 Disbanded 解散 5
802.6 MANs (DQDB) 城域网 (DQDB) Disbanded 解散 6
802.7 Broadband LAN using Coaxial Cable 使用同轴电缆的宽带局域网 Disbanded 解散 7
802.8 Fiber Optic TAG 光纤标签 Disbanded 解散 8
802.9 Integrated Services LAN
(ISLAN or isoEthernet)
综合业务局域网
(ISLAN 或 isoEthernet)
Disbanded 解散 9
802.10 Interoperable LAN Security 可互操作局域网安全 Disbanded 解散 10
802.11 Wireless LAN (WLAN) &
Mesh (Wi-Fi certification)
无线局域网 (WLAN) 和
Mesh (Wi-Fi 认证)
Active 活跃 11
802.12 100BaseVG 100BaseVG Disbanded 解散 12
802.13 Unused 未使用 为快速以太网开发预留 13
802.14 Cable modems 电缆调制解调器 Disbanded 解散 14
802.15 Wireless PAN 无线个人局域网 (PAN) Active 活跃 15
802.15.1 Bluetooth certification 蓝牙认证 Disbanded 解散 15.1
802.15.2 IEEE 802.15 and 
IEEE 802.11 coexistence
IEEE 802.15 和
IEEE 802.11 共存
Hibernating 休眠中 15.2
802.15.3 High-Rate wireless PAN 
(e.g., UWB, etc.)
高速无线个人局域网 (PAN)
(例如 UWB 等)
15.3
802.15.4 Low-Rate wireless PAN 
(e.g., Zigbee, WirelessHART, MiWi)
低速无线个人局域网 (PAN)
(如 Zigbee, WirelessHART, MiWi)
Active 活跃 15.4
802.15.5 Mesh networking for WPAN 用于 WPAN 的 Mesh 网络 15.5
802.15.6 Body area network 体域网 Active 活跃 15.6
802.15.7 Visible light communications 可见光通信 15.7
802.16 Broadband Wireless Access 
(WiMAX certification)
宽带无线接入
(WiMAX 认证)
Hibernating 休眠中 16
802.16.1 Local Multipoint Distribution Service 本地多点分布服务 Hibernating 休眠中 16.1
802.16.2 Coexistence wireless access 共存无线接入 Hibernating 休眠中 16.2
802.17 Resilient packet ring 弹性数据包环传输技术 Disbanded 解散 17
802.18 Radio Regulatory TAG 无线电管制技术 Active 活跃 18
802.19 Wireless Coexistence Working Group 无线共存工作组 Active 活跃 19
802.20 Mobile Broadband Wireless Access 移动宽带无线接入 Disbanded 解散 20
802.21 Media Independent Handoff 介质独立切换 Hibernating 休眠中 21
802.22 Wireless Regional Area Network 无线区域网络 Hibernating 休眠中 22
802.23 Emergency Services Working Group 紧急服务工作组 Disbanded 解散 23
802.24 Vertical Applications TAG 垂直应用工作组 Active 活跃 24

3. IEEE 802.3

3.1 IEEE 802.3简介

IEEE 802.3 标准制定了以太网(Ethernet)的技术标准,它规定了包括物理层的连线、电子信号和介质访问控制的内容。
以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI和ARCNET。

以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机(Switch hub)来进行网络连接和组织。
如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD (Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的总线技术。
802.3 标准支持IEEE 802.1网络架构。
以太网通讯具有自相关性的特点,这对于电信通讯工程十分重要。

Ethernet
以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须获取电缆或者信道才能传送信息,有时也叫作以太(Ether)。
这个名字来源于19世纪的物理学家假设的电磁辐射媒体——光以太。
 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有节点能互相鉴别。
48位MAC地址池 是 32位IPv4地址池 的65536倍. 
由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。

3.2 以太网标准

以太网标准 批准日期 bps base Description 标准
实验 1973 2.94Mbit/s 同轴电缆 coaxial cable (coax) bus 实验
Ethernet I 1980-09 10Mbit/s 粗同轴电缆 thick coax DIX v1.0
Ethernet II 1982-11 10Mbit/s 粗同轴电缆 thick coax DIX v2.0
802.3-1985 1983-06 10Mbit/s 10BASE5 粗同轴电缆 thick coax 1985
802.3a 1985-11 10Mbit/s 10BASE2 细同轴电缆 Thin coax(又称细网或廉价网) cheapernet 802.3a
802.3b 1985-09 10Mbit/s 10BROAD36 802.3b
802.3c 1985-12 10Mbit/s repeater 中继器规格 802.3c
802.3d 1987-12 repeater 光纤中继器间链路 802.3d
802.3e 1987-06 1Mbit/s 1BASE5 双绞线 250-500米 StarLAN 802.3e
802.3h 1990-09 10Mbit/s DTEs 802.3h
802.3i 1990-09 10 Mbit/s 10BASE-T 双绞线 Twisted pair (100m) 802.3i
802.3j 1992-09 10 Mbit/s 10BASE-F 光纤 optical fiber 802.3j
802.3k 1992-09 10 Mbit/s repeater 中继器 repeaters 802.3k
802.3m 1995-09 Maintenance 维护 802.3m
802.3n 1995-09 Maintenance 维护 802.3n
802.3q 1993-06 GDMO (ISO/IEC 10165-4) 802.3q
802.3r 1996-07 10Mbit/s 10BASE5 介质连接单元 PICS 802.3r
802.3s 1995-09 Maintenance 维护 802.3s
802.3t 1995-06 10 Mbit/s 10BASE-T 120 Ω 资料性附件 802.3t
802.3u 1995-06 100 Mbit/s 100BASE-TX/T4/FX Autonegotiation 具有自动协商功能 (100m) 802.3u
802.3v 1995-12 10 Mbit/s 10BASE-T 150 Ω 资料附件 802.3v
802.3x 1997-03 全双工和流量控制 (Full duplex, flow control) 802.3x
802.3y 1997-03 100 Mbit/s 100BASE-T2 双绞线 802.3y
802.3z 1998-06 1 Gbit/s 1000BASE-X 光纤以太网 5000m 802.3z
802.3-1998 1998-06 (802.3aa)对基础标准的修订 802.3aa
802.3ab 1999-06 1 Gbit/s 1000BASE-T 双绞线 802.3ab
802.3ac 1998-09 最大帧大小扩展至 1522 字节... 802.3ac
802.3ad 2000-03 Link aggregation 并行链路的链路聚合,现已迁移至IEEE 802.1AX 802.3ad
802.3-2002 2002-01 (802.3ag)对基础标准的修订 802.3ag
802.3ae 2002-06 10 Gbit/s 10GBASE-… 10 Gigabit Ethernet over fiber:
10GBASE-SR, -LR, -ER, -SW, -LW, -EW
802.3ae
802.3af 2003-06 Power over 以太网供电(15.4 W) 802.3af
802.3ah 2004-06 Ethernet in the first mile 802.3ah
802.3ak 2004-02 10 Gbit/s 10GBASE-CX4 双轴电缆 802.3ak
802.3-2005 2005-06 (802.3am)对基础标准的修订 802.3am
802.3an 2006-06 10 Gbit/s 10GBASE-T 非屏蔽双绞线 (UTP) 802.3an
802.3ap 2007-03 10 Gbit/s Backplane PCB 802.3ap
802.3aq 2006-09 10 Gbit/s 10GBASE-LRM 多模光纤 802.3aq
P802.3ar canceled 拥塞管理(已撤回) P802.3ar
802.3as 2006-09 框架扩展 802.3as
802.3at 2009-09 Power over 以太网供电增强功能(25.5 W) 802.3at
802.3au 2006-06 Power over 以太网供电隔离要求(802.3-2005/Cor 1) 802.3au
802.3av 2009-09 10 Gbit/s EPON 10 Gbit/s EPON 802.3av
802.3aw 2007-06 10 Gbit/s 10GBASE-T 修复了 10GBASE-T 出版物(802.3-2005/Cor 2) 802.3aw
802.3ax 2008-11 Link aggregation 链路聚合 – 已迁移至802.1AX并获批准 802.3ax
802.3-2008 2008-12 (802.3ay)基础标准的修订版 802.3ay
802.3az 2010-09 节能以太网 Energy-Efficient 802.3az
802.3ba 2010-06 100 Gbit/s backplane 40 Gbit/s 和 100 Gbit/s 以太网。 802.3ba
802.3-2008 2009-12 10 Gbit/s (802.3bb)/Cor 1增加暂停反应延迟时间… 802.3bb
802.3bc 2009-09 将802.1AB (LLDP) 附件 F 中指定的以太网相关 TLV(类型、长度、值)移动并更新到 802.3 802.3bc
802.3bd 2011-06 基于优先级的流量控制... 802.3bd
802.3.1 2011-05 (802.3be) 以太网 MIB 定义。 802.3be
802.3bf 2011-05 提供对某些数据包传输和接收启动时间的准确指示,以支持 IEEE P802.1AS 802.3bf
802.3bg 2011-03 40 Gbit/s 提供 40 Gbit/s PMD… 802.3bg
802.3-2012 2012-08 (802.3bh) 基本标准的修订版 802.3bh
802.3bj 2014-06 100 Gbit/s backplane 四通道 100 Gbit/s 背板 PHY… 802.3bj
802.3bk 2013-08 EPON 支持 PX30、PX40、PRX40 和 PR40 PMD 的扩展功率预算等级。 802.3bk
802.3bm 2015-02 100 Gbit/s 100G/40G以太网光纤 802.3bm
802.3bn 2016-09 10 Gbit/s 10G-EPON
10GPASS-XR
10G-EPON和 10GPASS-XR,同轴电缆无源光网络 802.3bn
802.3bp 2016-06 1 Gbit/s 1000BASE-T1
Automotive
适用于汽车和工业环境的单条双绞线千兆以太网 802.3bp
802.3bq 2016-06 40 Gbit/s 25GBASE-T
40GBASE-T
适用于四对平衡双绞线电缆,距离超过 30 米,带有两个连接器 802.3bq
802.3br 2016-06 穿插快速交通规范及管理参数 802.3br
802.3bs 2017-12 400 Gbit/s 200GbE
400GbE
单模光纤上200GbE (200 Gbit/s),
光学物理介质上400GbE (400 Gbit/s)
802.3bs
802.3bt 2018-09 10GBASE-T Power over 第三代以太网供电,使用四对平衡双绞线(4PPoE),功率高达 100 W,包括 10GBASE-T. 802.3bt
802.3bu 2016-12 100 Mbit/s Power over 用于单双绞线以太网 (100BASE-T1) 的数据线供电 (PoDL) 802.3bu
802.3bv 2017-02 1 Gbit/s 塑料光纤(POF)千兆以太网 plastic optical fiber 802.3bv
802.3bw 2015-10 100 Mbit/s 100BASE-T1
Automotive
单根双绞线 100 Mbit/s 以太网,适用于汽车应用 802.3bw
802.3-2015 2015-09 802.3bx – 802.3 标准的新合并修订版 802.3bx
802.3by 2016-06 25 Gbit/s backplane 光纤,双轴电缆和背板25千兆以太网 802.3by
802.3bz 2016-09 5 Gbit/s 2.5GBASE-T
5GBASE-T
通过Cat-5e/Cat-6双绞线电缆实现 2.5 Gigabit/s 和 5 Gigabit/s 以太网 802.3bz
802.3ca 2020-06 50 Gbit/s 25G-EPON
50G-EPON
以太网无源光网络上行/上行速率分别为 25/10、25/25、50/10、50/25、50/50 Gbit/s 802.3ca
802.3cb 2018-09 5 Gbit/s backplane 通过背板以 2.5 Gbit/s 和 5 Gbit/s 的速度运行 802.3cb
802.3cc 2017-12 25 Gbit/s 单模光纤传输速率为 25 Gbit/s 802.3cc
802.3cd 2018-12 200 Gbit/s 50 Gbit/s 和物理层的媒体访问控制参数以及 50、100 和 200 Gbit/s 操作的管理参数 802.3cd
802.3ce 2017-03 多通道时间戳 802.3ce
802.3.2-2019 2019-03 802.3cf,YANG 数据模型定义 802.3cf
802.3cg 2019-11 10 Mbit/s 10BASE-T1L
10BASE-T1S
10 Mbit/s 单双绞线以太网 802.3cg
802.3ch 2020-06 10 Gbit/s MultiGigBASE-T1
Automotive
汽车以太网(2.5、5、10 Gbit/s),传输距离超过 15 米,可选 PoDL 802.3ch
802.3-2018 2018-08 802.3cj – 802.3-2015 维护 802.3cj
802.3ck 2022-09 400 Gbit/s 使用 100 Gbit/s 通道的 100、200 和 400 Gbit/s 以太网 802.3ck
802.3cm 2020-01 400 Gbit/s 通过多模光纤(四对和八对,100 米)传输 400 Gbit/s 802.3cm
802.3cn 2019-11 400 Gbit/s 通过单模光纤和DWDM实现:
50 Gbit/s (40km), 100Gbit/s (80km), 200Gbit/s (four λ, 40km),
400Gbit/s (eight λ, 40km and single λ, 80km over DWDM)
802.3cn
802.3cp 2021-06 50 Gbit/s 10/25/50 Gbit/s 单链光纤接入,传输距离至少为 10/20/40 km 802.3cp
802.3cq 2020-01 Power over 两对以太网供电(维护) 802.3cq
802.3cr 2021-02 隔离(维护) Isolation (maintenance) 802.3cr
802.3cs 2022-09 10 Gbit/s Super-PON “超级PON”——覆盖范围扩大,10 Gbit/s 光纤接入,
覆盖距离至少为 50 km,每波长对分光比为 1:64,共 16 个波长对
802.3cs
802.3ct 2021-06 100 Gbit/s 100 Gbit/s DWDM 系统(采用相干调制,传输距离可达 80 公里) 802.3ct
802.3cu 2021-02 400 Gbit/s 使用 100 Gbit/s 通道,通过 SMF 传输 100 Gbit/s 和 400 Gbit/s 802.3cu
802.3cv 2021-05 Power over 以太网供电维护 802.3cv
802.3cw canceled 400 Gbit/s 400 Gbit/s DWDM 系统, 已撤回 802.3cw
802.3cx 2023-03 提高PTP时间戳准确性 802.3cx
802.3cy 2023-06 25 Gbit/s MultiGigBASE-T1
Automotive
25 Gbit/s 电动汽车以太网 802.3cy
802.3cz 2023-03 Automotive 多千兆位光学汽车以太网 802.3cz
802.3da (TBD) 10 Mbit/s 10BASE-T1S 在单平衡对多点网段上以 10 Mb/s 的速度运行,长度可扩展至 50 米 - 计划于 2025 年中期实现 802.3da
802.3db 2022-09 400 Gbit/s 采用 100 Gbit/s 信令,在光纤上实现 100 Gbit/s、200 Gbit/s 和 400 Gbit/s 的运行 802.3db
802.3-2022 2022-07 802.3dc – 802.3-2018 维护,纳入近期修订 bt/ca/cb/cd/cg/ch/cm/cn/cp/cq/cr/ct/cu/cv 802.3dc
802.3dd 2022-06 Power over 单对以太网数据线供电维护 802.3dd
802.3de 2022-09 点对点单对以太网的时间同步 802.3de
802.3df 2024-02 800 Gbit/s 使用 100 Gbit/s 通道的 200 Gb/s、400 Gb/s 和 800 Gb/s 802.3df
802.3dg (TBD) 100 Mbit/s 100BASE-T1L (单对 100 Mbps,长度扩展至 500 米) 计划于 2025 年中期推出 802.3dg
802.3dh canceled Automotive 基于塑料光纤的每秒数千兆位汽车以太网 802.3dh
802.3dj (TBD) 1.6 Tbit/s Ultra Ethernet 200 Gb/s、400 Gb/s、800 Gb/s 和 1.6 Tbit/s(使用 200 Gbit/s 通道) 计划于 2026 年春季推出。 802.3dj
802.3dk (TBD) 50 Gbit/s 大于50 Gbit/s双向光接入 802.3dk
802.3dm (TBD) Automotive 非对称电气汽车以太网 802.3dm
802.3dn 2024-09 Automotive 802.3-2022/Cor 1 多千兆汽车 MDI 回波损耗 802.3dn

4. IEEE 802.11

IEEE 802.11是IEEE 802局域网(LAN)技术标准集的一部分,规定了用于实现无线局域网(WLAN) 计算机通信的一组介质访问控制(MAC) 和物理层(PHY) 协议。
该标准及其修订版本为使用Wi-Fi品牌的无线网络产品奠定了基础,是世界上使用最广泛的无线计算机网络标准。

该标准的基础版本于 1997 年发布,之后经历了多次修订。
虽然每次修订在被纳入最新版本的标准后都会被正式撤销,但企业界倾向于推广这些修订版本,因为它们能够简明扼要地体现其产品的功能。
因此,在市场上,每个修订版本都倾向于成为自己的标准。
802.11x是“802.11 任何版本”的缩写,以避免与1997 年原始版本特有的“802.11”混淆。

IEEE 802.11 使用各种频率,包括但不限于 2.4 GHz、5 GHz、6 GHz 和 60 GHz 频段。
虽然 IEEE 802.11 规范列出了可能使用的信道,但允许使用的无线电频谱可用性因监管区域而异。

4.1 频道和频率

802.11b、802.11g 和 802.11n-2.4 使用2.400–2.500 GHz频谱,这是ISM 频段之一。
802.11a、802.11n 和 802.11ac 使用监管更严格的4.915–5.825 GHz频段。
在大多数销售宣传资料中,这些频段通常被称为“2.4 GHz 和 5 GHz 频段”。
每个频谱又细分为具有中心频率和带宽的信道,类似于无线电和电视广播频段的细分方式。

2.4 GHz 频段分为 14 个信道,每个信道间隔 5 MHz,从以 2.412 GHz 为中心的信道 1 开始。

由于各国法规不同,5.725–5.875 GHz频谱的信道编号不太直观。
WLAN信道列表中对此进行了更详细的讨论。

2.4 GHz 频段内的信道间隔
除了指定信道中心频率外,802.11 还(在第 17 条中)指定了一个频谱掩模,用于定义每个信道上允许的功率分配。
该掩模要求信号在中心频率 ±11 MHz 处(此时信道的有效宽度为 22 MHz )至少 比其峰值幅度衰减20 dB。
这样做的后果是,工作站只能使用每隔四到五个信道(不重叠)的信号。比如, 第(1,6,11)这3个不重叠的信道.

信道的可用性受各国监管,部分原因在于各国如何分配无线电频谱给不同的服务。例如: 
  • 日本允许 802.11b 使用全部 14 个信道,而802.11g/n-2.4 则允许使用 1~13信道。
  • 西班牙,最初只允许使用 10 和 11 信道,
  • 法国也只允许使用 10、11、12 和 13 信道;
  • 欧洲现在允许使用 1~13 信道。
  • 北美, 一些中美洲和南美洲国家只允许使用 1~11 信道。

4.2 监管领域和法律合规性

IEEE 使用短语“regdomain”来指代法定监管区域。
不同国家/地区对允许的发射功率、信道占用时间以及可用信道数量有不同定义。
美国、加拿大、欧洲电信标准协会 (ETSI)、西班牙、法国、日本和中国均指定了域代码。

大多数Wi-Fi 认证设备默认为regdomain 0,这意味着最小公分母设置,即设备不会以超过任何国家允许功率的功率进行传输,也不会使用任何国家不允许的频率。

regdomain 的设置通常很难甚至不可能更改,以便最终用户不会与当地监管机构(例如美国联邦通信委员会)发生冲突。

4.3 第2层 - 数据报

数据报被称为帧。当前的 802.11 标准规定了用于传输数据以及管理和控制无线链路的帧类型。
类型和子类型一起使用来识别具体的帧。 
类型:两位用于标识 WLAN 帧的类型。控制、数据和管理是 IEEE 802.11 中定义的各种帧类型。
  • 管理帧 Management frames. 管理帧并非总是需要身份验证,并且允许维持或中断通信。
  • 控制帧 Control frames. 控制帧用于促进站点之间数据帧的交换。
  • 数据帧 Data frames. 数据帧的主体部分承载着来自网页、文件等的数据包。

与互联网上的TCP 拥塞控制类似,帧丢失是 802.11 运行中固有的问题。
为了选择正确的传输速度或调制和编码方案,速率控制算法可能会测试不同的速度。
接入点的实际丢包率会因不同的链路条件而有很大差异。
生产环境中的接入点的丢包率在 10% 到 80% 之间变化,平均值通常为 30%。
需要注意的是,链路层应该能够恢复这些丢失的帧。如果发送方未收到确认 (ACK) 帧,则会重新发送。

4.4 安全

2001年,加州大学伯克利分校的一个研究小组发表了一篇论文,描述了原始标准中定义的802.11有线等效保密(WEP)安全机制的弱点;
随后, Fluhrer、Mantin和Shamir发表了题为《 RC4密钥调度算法中的弱点》的论文。
不久之后,Adam Stubblefield和AT&T公开宣布首次验证了该攻击。
在此次攻击中,他们能够拦截传输并获得对无线网络的未经授权的访问。

IEEE 成立了一个专门的任务组来创建替代安全解决方案 802.11i(此前,这项工作是作为 802.11e 的一部分进行的,旨在增强MAC 层)。
Wi-Fi 联盟宣布了一项临时规范,称为Wi-Fi 保护访问(WPA),该规范基于当时 IEEE 802.11i 草案的一个子集。
这些开始在 2003 年中期的产品中出现。
IEEE 802.11i(也称为 WPA2)本身于 2004 年 6 月获得批准,并使用高级加密标准(AES),而不是WEP 中使用的RC4。
现代推荐的家庭/消费者空间加密是 WPA2(AES 预共享密钥),企业空间是 WPA2 以及RADIUS身份验证服务器(或其他类型的身份验证服务器)和强身份验证方法,如EAP-TLS。

2005年1月,IEEE又成立了一个任务组“w”,以保护此前发送的不安全管理帧和广播帧。
该任务组的标准于2009年发布。

2011年12月,一个安全漏洞被曝光,该漏洞影响某些特定实现可选Wi-Fi保护设置(WPS)功能的无线路由器。
虽然WPS并非802.11的一部分,但该漏洞允许无线路由器覆盖范围内的攻击者在几小时内恢复WPS PIN码,进而获取路由器的802.11i密码。

2014 年末,苹果宣布其iOS  8 移动操作系统将在预关联阶段对 MAC 地址进行扰乱,以阻止通过定期传输唯一可识别的探测请求来实现的零售客流量追踪。 
Android 8.0“奥利奥”也引入了类似的功能,名为“MAC 随机化”。

Wi-Fi 用户可能会遭受Wi-Fi 解除身份验证攻击,从而遭受窃听、攻击密码或强制使用其他通常更昂贵的接入点。

5. Wi-Fi

WiFi (Wi-Fi),是Wi-Fi联盟的商标,也是一个基于IEEE 802.11标准的无线局域网(WLAN)技术。
从1997年第一代IEEE 802.11标准发布至今,802.11标准经历了7个版本的演进,在Wi-Fi 6发布之前,Wi-Fi标准是通过从802.11b到802.11ac的版本号来标识的。
随着Wi-Fi标准的演进,Wi-Fi联盟为了便于Wi-Fi用户和设备厂商轻松了解Wi-Fi标准,选择使用数字序号来对Wi-Fi重新命名。

5.1 Wi-Fi和802.11的区别

IEEE虽然开发并发布了IEEE 802.11标准,但是却没有对符合IEEE 802.11协议标准的设备提供相应的测试服务;
同时,由于IEEE 802.11标准是很理论化的,一旦产品化,每家厂商生产的产品有可能会五花八门。
Wi-Fi联盟很好的解决了符合IEEE 802.11标准的产品的生产和设备兼容性问题,
同时,Wi-Fi联盟还负责对各种无线局域网络设备进行Wi-Fi认证,测试产品是否符合IEEE 802.11协议标准,通过认证后则可以在设备上标注“Wi-Fi”商标。

由于两套系统之间存在密切联系,Wi-Fi和IEEE 802.11经常被混淆,实际上两者是有区别的。
概括来讲,IEEE 802.11是一种无线局域网标准,而Wi-Fi是IEEE 802.11标准的一种产品实现。
IEEE 802.11标准的产品实现除了Wi-Fi,还包含了WiGig等,Wi-Fi是其中发展最好的一种产品实现。

5.2 Wi-Fi和WLAN的区别

Wi-Fi指的是Wi-Fi联盟的商标,也是一种基于IEEE 802.11标准的无线网络通信技术,目的是改善基于IEEE 802.11标准的无线网络产品之间的互通性。

WLAN的全称是Wireless Local Area Network,中文含义是无线局域网,WLAN的定义有广义和狭义两种:
广义上讲WLAN是以各种无线电波(如激光、红外线等)的无线信道来代替有线局域网中的部分或全部传输介质所构成的网络;
WLAN的狭义定义是基于IEEE 802.11系列标准,利用高频无线射频(如2.4GHz、5GHz或6GHz频段的无线电磁波)作为传输介质的无线局域网。
我们日常生活中的WLAN,就是指的WLAN的狭义定义。
在WLAN的演进和发展过程中,其实现技术标准有很多,如蓝牙、Wi-Fi、HyperLAN2等。
而Wi-Fi技术由于其实现相对简单、通信可靠、灵活性高和实现成本相对较低等特点,成为了WLAN的主流技术标准,Wi-Fi技术也逐渐成为了WLAN技术标准的代名词。

简单来说就是,WLAN是一个网络系统,而Wi-Fi是这个网络系统中的一种技术。
所以,WLAN和Wi-Fi之间是包含关系,WLAN包含了Wi-Fi。

5.3 Wi-Fi世代列表

年份 世代 IEEE标准 最大速率
(Mbit/s)
频率
(GHz)
Bandwidth
带宽 (MHz)
最大
MIMO
Modulation
调制方式
室内
范围
户外
范围
世代
1997 Wi-Fi 0 802.11 1 ~ 2 2.4 20 - DSSS 20 100 Wi-Fi 0
1999 Wi-Fi 1 802.11b 1 ~ 11 2.4 22 - DSSS, CCK 35 140 Wi-Fi 1
1999 Wi-Fi 2 802.11a 6 ~ 54 5 20 - OFDM 35 120 Wi-Fi 2
2003 Wi-Fi 3 802.11g 6 ~ 54 2.4 20 - DSSS, CCK, OFDM 35 140 Wi-Fi 3
2008 Wi-Fi 4 802.11n 72 ~ 600 2.4 5 20/40 4 MIMO-OFDM 70 250 Wi-Fi 4
2014 Wi-Fi 5 802.11ac 433 ~ 6933 5 20/40/80/160 8 MIMO-OFDM 35 Wi-Fi 5
2019 Wi-Fi 6 802.11ax 574 ~ 9608 2.4 5 20/40/80/160 8 OFDMA 30 120 Wi-Fi 6
2020 Wi-Fi 6E 802.11ax 574 ~ 9608 6 20/40/80/160 8 OFDMA 30 120 Wi-Fi 6E
2024 Wi-Fi 7 802.11be 1376 ~ 46120 2.4 5 6 20/40/80/160 16 MU-MIMO OFDMA Wi-Fi 7
2028 Wi-Fi 8 802.11bn 100000 2.4 5 6 Wi-Fi 8

Microsoft-Store-error

导航 (返回顶部) 1. Store初始化失败 1.1 为何要卸载Edge 1.2 如何卸载Edge 1.3 为何删除Edge会影响微软商店 2. 微软商店无法联网 2.1 解除网络隔离的办法有: 3. CheckNetIsolation解除网络隔离 3.1 查...