Using Get-AppPackageManifest

The application manifest contains a great deal of metadata about the package. For example, there are times that you need to assess and understand what capabilities the application has registered with the operating system. To search the application manifest for assigned capabilities, try the following:


(Get-AppXPackage -Name "*ZuneMusic*" | Get-AppXPackageManifest).Package.Capabilities)

The Get-AppXPackageManifest cmdlet generates an array of strings with that application’s capabilities.


Capability

----------

{internetClient, privateNetworkClientServer, musicLibrary, removableStorage...}


With a more complicated analysis, it is possible to review other elements that have an effect on user experience such as which applications have startup tasks. For example, if you need to know what applications have registered startup tasks the following bit of PowerShell will collect that information.


# List all the app startups

$startuptasks =
  get-appxpackage -pv app | get-appxpackagemanifest | %
{
if ($_.package.Applications.Application.
       Extensions.extension.startuptask.taskid) 
    {
      [pscustomobject] @
      { PackageFamilyName = $app.PackageFamilyName
        TaskID = $_.package.Applications.Application.
                Extensions.extension.startuptask.taskid
      }
    }
  }
$startuptasks

The output should list off the PackageFamilyName and the tasks that are registered.

PackageFamilyNameTaskID

-----------------------

Microsoft.SkypeApp_kzf8qxf38zg5cSkypeStartup

Microsoft.549981C3F5F10_8wekyb3d8bbwe CortanaStartupId

SpotifyAB.SpotifyMusic_zpdnekdrzrea0 Spotify

Microsoft.Todos_8wekyb3d8bbweToDoStartupId

AppleInc.iTunes_nzyj5cx40ttqa

{AppleMobileDeviceProcess, iTunesHelper}


Other MSIX/AppX Cmdlets

Additional, less frequently used, PowerShell cmdlets are part of the AppX module. These include cmdlets for provisioned packages (also available using the DISM command described in the next section), and those for Volumes (the location for the MSIX/AppX packages on any given disk partition):

  • Add-AppXProvisionedPackage
  • Get-AppXProvisionedPackage
  • Remove-AppXProvisionedPackage
  • Set-AppXProvisionedDataFile
  • Optimize-AppXProvisionedPackages
  • Add-AppXVolume
  • Get-AppxVolume
  • Mount-AppXVolume
  • Unmount-AppXVolume
  • Remove-AppXVolume
  • Set-AppXDefaultVolume