Skip to main content

Get-WtWin32Apps

Get all apps from Intune packaged by WinTuner. This is an authenticated command, so specify the parameters to authenticate.

Basic usage

Get-WtWin32Apps
Get-WtWin32Apps [-Superseded <Boolean>] [-Superseding <Boolean>] [-Update <Boolean>] <AuthenticationParameters> [-ProgressAction <ActionPreference>] [<CommonParameters>]
ParameterReq.SampleDescription
-Superseded$true / $falseFilter on superseded apps.
-Superseding$true / $falseFilter on superseding apps.
-Update$true / $falseFilter on apps that need updating.
<Authentication>The authentication parameters.

Get apps that can be updated and are not superseded

Get-WtWin32Apps (Update available)
Get-WtWin32Apps -Username admin@contoso.onmicrosoft.com -Superseded $false -Update $true | Format-table -Property PackageId, CurrentVersion, SupersededAppCount, SuperSedingAppCount

Update all and supersede the old ones

Pipeline support

You can also use this command in your pipeline to package all the new versions and publish them to Intune. This can be done in one line, for readability the command is split into multiple lines.

Package then deploy
$username = "admin@contoso.omnicrosoft.com"
$rootPackageFolder = "C:\packages"
$appsWithUpdates = Get-WtWin32Apps -Username $username -Superseded $false -Update $true
$appsWithUpdates | Format-table -Property PackageId, CurrentVersion, SupersededAppCount, SuperSedingAppCount
foreach ($app in $appsWithUpdates) { New-WtWingetPackage -PackageId $($app.PackageId) -PackageFolder $rootPackageFolder -Version $($app.LatestVersion) | Deploy-WtWin32App -Username $username -GraphId $($app.GraphId) }

This example combines the Get-WtWin32Apps command with the New-WtWingetPackage and Deploy-WtWin32App commandlets to update all apps that have an update available, all apps will be superseded by the new version (with auto update enabled if assigned as available).

Get all apps there are superseded

Get superseded apps and remove
$username = "admin@contoso.onmicrosoft.com"
$oldApps = Get-WtWin32Apps -Username $username -Superseded $true
$oldApps | Format-table -Property PackageId, CurrentVersion, SupersededAppCount, SuperSedingAppCount
# lets delete all the old apps
foreach ($app in $oldApps) { Remove-WtWin32App -Username $username -AppId $app.GraphId }

This example combines this command with the Remove-WtWin32App command to remove all apps that are superseded.

Outputs

And the output of this command is a WtWin32App object, which contains the following properties:

PropertyDescription
PackageIdThe unique identifier of the package in the WinGet repository.
NameDisplay name of the app.
CurrentVersionThe version of the WinGet package to package.
GraphIdThe ID of the app in this tenant.
SupersededAppCountThe total number of apps this app is directly or indirectly superseded by.
SupersedingAppCountThe total number of apps this app directly or indirectly supersedes.
LatestVersionThe latest version of the WinGet package to package.
IsUpdateAvailableDoes the current version match the latest version