Microsoft 的 Windows 11 操作系统包括数十个默认应用程序,这些应用程序在首次运行安装后默认可用。其中一些应用程序提供核心功能,例如照片查看、媒体播放或纯文本编辑。其他人的关注范围很窄,仅对一小部分 Windows 用户有用。
可以通过设置 > 应用程序、PowerShell 命令或使用 winget、Windows 数据包管理器等程序从 Windows 计算机中删除许多预安装的应用程序。这些应用程序占用磁盘空间,一些管理员可能希望删除它们以释放驱动器上的空间
在确定这些应用程序占用的实际大小时,管理员会遇到障碍。设置 > 应用程序列表对此毫无用处,因为许多默认 Windows 应用程序仅列出了几 KB 大小。
存储读数不正确。报告的预安装 Windows 应用程序数量较少的原因是这些应用程序可能安装到多个文件夹中。Microsoft 的设置应用程序返回其中一个文件夹的大小,因为它忽略了存储应用程序文件的任何其他文件夹。
当您运行常规 PowerShell 命令以返回应用程序列表时也是如此。
PowerShell 脚本可以下载。只需将 zip 存档下载到本地系统并解压缩即可开始使用。
使用“开始”菜单启动提升的 PowerShell 提示符,导航到存储脚本的文件夹,然后运行 .\Get-AppSizes.ps1 -online | Out-GridView 获取输出。
请注意,您需要允许执行第三方脚本,并在提示运行时选择“运行一次”。谨慎的用户可能会在运行脚本之前查看代码,以确保它可以安全运行。
Get-AppxProvisionedPackage -online | % {
# Get the main app package location using the manifest
$loc = Split-Path ( [Environment]::ExpandEnvironmentVariables($_.InstallLocation) ) -Parent
If ((Split-Path $loc -Leaf) -ieq 'AppxMetadata') {
$loc = Split-Path $loc -Parent
}
# Get a pattern for finding related folders
$matching = Join-Path -Path (Split-Path $loc -Parent) -ChildPath "$($_.DisplayName)*"
$size = (Get-ChildItem $matching -Recurse -ErrorAction Ignore | Measure-Object -Property Length -Sum).Sum
# Add the results to the output
$_ | Add-Member -NotePropertyName Size -NotePropertyValue $size
$_ | Add-Member -NotePropertyName InstallFolder -NotePropertyValue $loc
$_
} | Select DisplayName, PackageName, Version, InstallFolder, Size
PowerShell 脚本会打开一个新窗口,该窗口在其自己的行中列出每个应用程序。每个应用程序都列出了它的名称、包名称、安装文件夹、版本和大小。大小以字节为单位列出。大多数应用程序的大小为十兆字节或更多。一些,YourPhone、Windows Store、Windows Communication Apps 或 Microsoft Teams,比这大得多。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun157634.html