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网页版标题
ActiveDirectoryActive Directory 域服务管理
ADCSAdministrationActive Directory 证书服务管理
ADCSDeploymentActive Directory 证书服务部署
ADDSDeploymentActive Directory 域服务部署
ADFSActive Directory 联合身份验证服务
ADRMSAdminActive Directory 权限管理服务管理
ADRMSActive Directory 权限管理服务部署
AppBackgroundTask应用后台任务
AppLocker应用储物柜
AppvClientApp-V 客户端
AppvSequencerApp-V 序列器
AppxAppx
AssignedAccess分配访问权限
BestPractices最佳实践分析器
BitLockerBitLocker
BitsTransfer后台智能传输服务
BootEventCollector启动事件收集器
BranchCache分支缓存
ClusterAwareUpdating群集感知更新
ConfigCI代码完整性
DcbQos数据中心桥接服务质量
Deduplication重复数据删除
DefenderWindows 防守者
DeviceHealthAttestion设备健康证明
Dfsn分布式文件系统 (DFS) 命名空间
DfsrDFS 复制
DHCPServerDHCP 服务器
DirectAccessClientComponent直接访问客户端
DISMDISM
DNSClientDNS 客户端
DNSServerDNS 服务器
EventTracingManagement事件跟踪管理
FailoverClusters故障转移群集
FileServerResourceManager文件服务器资源管理器
GroupPolicy组策略
HardwareCertification硬件认证
HgsAttestation主机守护服务证明
HgsClient主机守护服务客户端
HgsDiagnostics主机守护服务诊断
HgsKeyProtection主机守护服务密钥保护
HgsServer主机守护服务服务器
HostComputeService容器
HNVDiagnosticsHNV 诊断
Hyper-VHyper-V
IISAdministrationIIS 管理
International国际化
IpamServerIP 地址管理服务器
IscsiiSCSI
IscsiTargetiSCSI 目标
KDS密钥分发服务器
MMAgent内存管理代理
MpioMPIO
MSDTC分布式事务协调器
MsmqMSMQ
Multipoint多点服务
MultiPointVdi多点 VDI
NanoServerImageGeneratorNano 服务器映像生成器
NetLldpAgentNetLldpAgent
NetAdapter网络适配器
NetConnection网络连接
NetEventPacketCapture网络事件数据包捕获
NetLbfoNIC Teaming
NetNat网络地址转换
NetQoS服务质量
NetSecurity网络安全
NetTCPIPTCP/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屏蔽虚拟机模板
SmbShareSmbShare 共享
SmbWitnessSMB 见证
SMISConfigSMIS 配置
SoftwareInventoryLogging软件清单日志记录
StartLayout开始布局
Storage存储
StorageQoS存储 QoS
StorageReplica存储副本
SyncShare同步共享
TCPIPTCPIP
TLSTLS
TroubleshootingPack故障排除包
TrustedPlatformModule可信平台模块
UpdateServicesWindows Server 更新服务
UserAccessLogging用户访问日志记录
UEV用户体验虚拟化
VAMT批量激活管理工具
VpnClientVPN 客户端
WDACWindows 数据访问组件
WebAdministrationWeb 管理
WebApplicationProxyWeb 应用程序代理
WDSWindows 部署服务
WHEAWindows 硬件错误架构
WindowsDevLicWindows 开发人员许可证
WindowsErrorReportingWindows 错误报告
WindowsSearchWindows 搜索
WindowsServerBackupWindows Server 备份
WindowsUpdateWindows 更新
下文只整理了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等。
另外一些括号里的数字就是对应值的统计数字。
字段名包含/或相关字段字段值中文
NameName 名称
PublisherPublisherCN=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)是否为 框架
PackageFamilyNameName_PublisherId 软件包系列名称
PublisherIdPublisher8wekyb3d8bbwe(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 常见表达法的详细情况,请见联机命令参考。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值