LogoLogo
TwitterLinkedInGitHubPowerShell Gallery
  • About
  • Events
  • Blog
    • 2022
      • 🆕OSD January Update
      • 🆕PSCloudScript Basics
    • 2021
      • Start-OOBEDeploy
      • OSDCloud
      • PowerShell Gallery in WinPE
      • BitLocker KeyProtectors
      • WindowsCapability -and WindowsPackage
      • Scheduled Tasks
        • Building a Task
        • Task Permissions
        • Task Trigger
        • Action a PowerShell File
        • Action a PS Encoded Script
        • Conclusion
          • Windows Activation and Edition Change
          • REG.exe and Multiple Actions
    • 2019
      • 2019-02
        • Offline Servicing vs Reference Image
      • 2019-04
        • Windows 10 Upgrade MultiLang (Uno)
      • 2019-06
        • Offline Servicing Windows 10 with CU for .NET 4.8
        • OSDBuilder and .NET CU KB4480056
      • 2019-09
        • Black Screen During Windows 10 Setup
      • 2019-11
        • I Hate OSDBuilder
    • 2018
      • WinPE 10 1809 WPF DLL Fix
      • Microsoft Update Releases
      • Create WinPE.wim from Boot.wim or WinRE.wim
      • Windows Setup: FAT32 USB with +4GB Install.wim
      • Windows 10 from ESD
      • Windows 10 1809 Appx Issues
      • Mount-WindowsImage -Optimize
  • Guides
    • Autopilot App Registration
    • PSCloudScript
      • PS Cmdlets
      • GitHub Gist
      • GitHub Git Repo
      • Content-Type | Azure Static Web App
      • Command Shortening
      • Azure Key Vault Secret
      • OSD PowerShell Module
      • PSCloudScript Examples
        • Autopilot
        • AutopilotOOBE
        • OSDCloud Live
        • WinPE PowerShell Gallery
        • OSDCloud WinPE and OOBE
    • go OSDCloud
      • Azure Function
      • Custom Domain
      • SSL Binding
      • Proxies
  • PowerShell
    • OSD
    • OSDCloud
    • OSDBuilder (Offline Servicing)
    • OSDSUS (Update Catalogs)
    • OSDUpdate (MS Updates)
    • OSDDrivers (Compact Drivers)
    • PShot
      • Release Notes
      • Usage
        • -Directory
        • $AutoPath
        • -Prefix
        • -Count
        • -Delay
        • -Clipboard
        • -Primary
        • The Object
      • Technical
        • Why a Module?
        • Resolution, Scale and DPI
Powered by GitBook
On this page
  • Tilde Delimitator
  • Get-MyWindowsPackage
  • Full Details
  • -Detail
  • Wrapping Up
  1. Blog
  2. 2021

WindowsCapability -and WindowsPackage

You will need to install the OSD Module version 21.2.8.2 or higher

Windows Capabilities and Windows Packages have extremely long names. Most of us have gotten quite good and guessing what they are

To get a list of all Windows Packages that are Installed (or Superseded) on your computer, simply run the following command in PowerShell

(Get-WindowsPackage -Online).PackageName
(Get-WindowsCapability -Online).Name

Here are some examples that were returned on my system

Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.746
Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package~31bf3856ad364e35~amd64~~10.0.19041.1
Microsoft-Windows-TabletPCMath-Package~31bf3856ad364e35~amd64~~10.0.19041.746
Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.1
Package_for_RollupFix~31bf3856ad364e35~amd64~~19041.685.1.6

Tilde Delimitator

While the long name may be a challenge to read as a complete string, you can separate each of the Windows Packages or Windows Capabilities with a Tilde. Like this:

"Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.746" -split "~"

Microsoft-Windows-Client-LanguagePack-Package
31bf3856ad364e35
amd64
en-US
10.0.19041.746

That's much easier to read now. Once you see the pattern, every Windows Package and Windows Capability follows the same structure

[0]ProductName
[1]PublicKeyToken
[2]Architecture
[3]Culture
[4]Version

Get-MyWindowsPackage

This is a new function in the OSD Module that will split the PackageName making things easier to read. Simply run the following command (-Online is assumed if a Path is not given)

Get-MyWindowsPackage | ft

Here is a comparison of Get-WindowsPackage and Get-MyWindowsPackage

PS C:\> Get-WindowsPackage -Online | Select -First 1

PackageName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.19041.488
PackageState : Superseded
ReleaseType  : OnDemandPack
InstallTime  : 12/3/2020 11:51:00 PM



PS C:\> Get-MyWindowsPackage | Select -First 1

ProductName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package
Architecture : amd64
Culture      : 
Version      : 10.0.19041.488
ReleaseType  : OnDemandPack
PackageState : Superseded
InstallTime  : 12/3/2020 11:51:00 PM
PackageName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.19041.488
Online       : True

Full Details

Another cool thing you can do with Get-WindowsPackage is to give it a PackageName, and it will give you as much detail as you can handle

PS C:\> Get-WindowsPackage -Online -PackageName Microsoft-Windows-LanguageFeatures-Basic-en-us-Package~31bf3856ad364e35~amd64~~10.0.19041.1

PackageName              : Microsoft-Windows-LanguageFeatures-Basic-en-us-Package~31bf3856ad364e35~amd64~~10.0.19041.1
Applicable               : True
Copyright                : Copyright (c) Microsoft Corporation. All Rights Reserved
Company                  : 
CreationTime             : 
Description              : Spelling, text prediction, and document searching for English (US)
InstallClient            : DISM Package Manager Provider
InstallPackageName       : Microsoft-Windows-LanguageFeatures-Basic-en-us-Package~31bf3856ad364e35~amd64~~10.0.19041.1.mum
InstallTime              : 12/7/2019 9:50:57 AM
LastUpdateTime           : 
DisplayName              : English (US) typing
ProductName              : Microsoft-Windows-LanguageFeatures-Basic-en-us-Package
ProductVersion           : 
ReleaseType              : OnDemandPack
RestartRequired          : Possible
SupportInformation       : http://support.microsoft.com/?kbid=777777
PackageState             : Installed
CompletelyOfflineCapable : Undetermined
CapabilityId             : Language.Basic~~~en-US~0.0.1.0
Custom Properties        : 
                           mum2:OptionalFeatures\SchemaVersion : 1.0
                           mum2:OptionalFeatures\mum2:SettingsPageOptions\Visibility : installed
                           mum2:OptionalFeatures\mum2:SettingsPageOptions\FeatureType : language
                           mum2:OptionalFeatures\mum2:SettingsPageOptions\ManageFeatureSettings : page=SettingsPageTimeRegionLanguage
                           
Features                 : {}

The same method works with Get-WindowsCapability as well

PS C:\> Get-WindowsCapability -Online -Name Rsat.StorageMigrationService.Management.Tools~~~~0.0.1.0


Name         : Rsat.StorageMigrationService.Management.Tools~~~~0.0.1.0
State        : Installed
DisplayName  : RSAT: Storage Migration Service Management Tools
Description  : Provides management tools for storage migration jobs.
DownloadSize : 124644
InstallSize  : 834498

-Detail

To make things easier, Get-MyWindowsPackage and Get-MyWindowsCapability will do a foreach and get much of these details (this can take some time) by adding the -Detail parameter

PS C:\> Get-WindowsPackage -Online | Select -First 1

PackageName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.19041.488
PackageState : Superseded
ReleaseType  : OnDemandPack
InstallTime  : 12/3/2020 11:51:00 PM



PS C:\> Get-MyWindowsPackage | Select -First 1

ProductName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package
Architecture : amd64
Culture      : 
Version      : 10.0.19041.488
ReleaseType  : OnDemandPack
PackageState : Superseded
InstallTime  : 12/3/2020 11:51:00 PM
PackageName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.19041.488
Online       : True



PS C:\> Get-MyWindowsPackage -Detail | Select -First 1

DisplayName  : Exchange ActiveSync and Internet Mail Sync engine
Architecture : amd64
Culture      : 
Version      : 10.0.19041.488
ReleaseType  : OnDemandPack
PackageState : Superseded
InstallTime  : 12/3/2020 11:51:00 PM
CapabilityId : OneCoreUAP.OneSync~~~~0.0.1.0
Description  : OS sync engine for syncing mail, contacts and calendar data. This sync engine is used by UWP apps like Mail, Calendar and People
PackageName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.19041.488
Online       : True
ProductName  : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package

Wrapping Up

Take the time to play around with the new functions and see what you can do with it

PS C:\> (Get-MyWindowsCapability -Category Rsat -Detail).DisplayName
RSAT: Active Directory Domain Services and Lightweight Directory Services Tools
RSAT: BitLocker Drive Encryption Administration Utilities
RSAT: Active Directory Certificate Services Tools
RSAT: DHCP Server Tools
RSAT: DNS Server Tools
RSAT: Failover Clustering Tools
RSAT: File Services Tools
RSAT: Group Policy Management Tools
RSAT: IP Address Management (IPAM) Client
RSAT: Data Center Bridging LLDP Tools
RSAT: Network Controller Management Tools
RSAT: Network Load Balancing Tools
RSAT: Remote Access Management Tools
RSAT: Remote Desktop Services Tools
RSAT: Server Manager
RSAT: Shielded VM Tools
RSAT: Storage Migration Service Management Tools
RSAT: Storage Replica Module for Windows PowerShell
RSAT: System Insights Module for Windows PowerShell
RSAT: Volume Activation Tools
RSAT: Windows Server Update Services Tools
PreviousBitLocker KeyProtectorsNextScheduled Tasks

Last updated 4 years ago

Get-MyWindowsCapabilityOSD
Get-MyWindowsPackageOSD
Get-MyWindowsPackage | ft
Logo
Logo