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 指定的用户安装的应用软件包列表。 要获取当前用户配置文件以外的其他用户配置文件的软件包列表,您必须以管理员权限运行此命令。 用户名可以采用以下格式之一:
- domain\user_name
- user_name@fqn.domain.tld
- user_name
- 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
https://learn.microsoft.com/en-us/powershell/module/appx/reset-appxpackage?view=windowsserver2025-ps
将 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 常见表达法的详细情况,请见联机命令参考。
2485

被折叠的 条评论
为什么被折叠?



