Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 55 additions & 1 deletion 2009/ConfigurationFiles/AppxPackages.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,59 @@
[
{
{
"AppxPackage": "MicrosoftWindows.CrossDevice",
"VDIState": "Unchanged",
"URL": "(Not available through the Store)",
"Description": "powers cross-device experiences in Windows; notification syncing between PC and Android, file sharing via Nearby Share, cntinuity features like shared clipboard or app handoff"
},
{
"AppxPackage": "Microsoft.AVCEncoderVideoExtension",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9pb0trcnrhfx",
"Description": "This video extension enables apps to encode video into the AVC (H.264) video coding format."
},
{
"AppxPackage": "Microsoft.AV1VideoExtension",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9mvzqvxjbq9v",
"Description": "This extension helps video apps installed on Windows to play videos that have been encoded using the AV1 video coding standard developed by the Alliance for Open Media."
},
{
"AppxPackage": "Microsoft.HEIFImageExtension",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9pmmsr1cgpwg",
"Description": "The HEIF Image Extension enables Windows to read and write files that use the High Efficiency Image File (HEIF) format."
},
{
"AppxPackage": "Microsoft.MPEG2VideoExtension",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9n95q1zzpmh4",
"Description": "play MPEG-1 and MPEG-2 videos. If you have MP4 or MKV video files that don’t play, this extension should help. Also, if you can’t play videos that have file name extensions such as .mpeg, .mpg, .ts, .m2ts, .mkv, and .avi, this extension might help you play them."
},
{
"AppxPackage": "Microsoft.VP9VideoExtensions",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9n4d0msmp0pt",
"Description": "Play and produce content in the VP8/VP9 format."
},
{
"AppxPackage": "Microsoft.WebMediaExtensions",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9n5tdp8vcmhs",
"Description": "Play content delivered in the OGG container or encoded using the Vorbis or Theora codecs."
},
{
"AppxPackage": "Microsoft.WebpImageExtension",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9pg2dk419drg",
"Description": "View WebP images, which is a modern format that provides lossless and lossy compression for smaller, richer images"
},
{
"AppxPackage": "Microsoft.RawImageExtension",
"VDIState": "Unchanged",
"URL": "https://apps.microsoft.com/detail/9nctdw2w1bh8",
"Description": "Native viewing support for images captured in raw file formats produced by many mid- to high-end digital cameras, including CR3 files"
},
{
"AppxPackage": "NotepadPlusPlus",
"VDIState": "Unchanged",
"URL": "",
Expand Down
42 changes: 31 additions & 11 deletions Windows_VDOT.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Param (
- AUTHORED BY: Robert M. Smith and Tim Muessig (Microsoft)
- AUTHORED DATE: 11/19/2019
- CONTRIBUTORS: Travis Roberts (2020), Jason Parker (2020), @brentil (2024)
- LAST UPDATED: 6/14/2024
- LAST UPDATED: 8/21/2025
- PURPOSE: To automatically apply many optimization settings to and Windows device; VDI, AVD, standalone machine

- Important: Every setting in this script and input files are possible optimizations only,
Expand Down Expand Up @@ -190,23 +190,43 @@ PROCESS {
}

#region Disable, then remove, Windows Media Player including payload
If ($Optimizations -contains "WindowsMediaPlayer" -or $Optimizations -contains "All") {
If ($Optimizations -contains "WindowsMediaPlayer" -or $Optimizations -contains "All")
{
Write-EventLog -EventId 10 -Message "[VDI Optimize] Disable / Remove Windows Media Player" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Information
Write-Host "[VDI Optimize] Disable / Remove LEGACY Windows Media Player"
try
{
Write-EventLog -EventId 10 -Message "[VDI Optimize] Disable / Remove Windows Media Player" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Information
Write-Host "[VDI Optimize] Disable / Remove Windows Media Player" -ForegroundColor Cyan
Disable-WindowsOptionalFeature -Online -FeatureName WindowsMediaPlayer -NoRestart | Out-Null
Get-WindowsPackage -Online -PackageName "*Windows-mediaplayer*" | ForEach-Object {
Write-EventLog -EventId 10 -Message "Removing $($_.PackageName)" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Information
Remove-WindowsPackage -PackageName $_.PackageName -Online -ErrorAction SilentlyContinue -NoRestart | Out-Null
}
catch
{
Write-EventLog -EventId 110 -Message "Failed to disable Windows Media Player: $($_.Exception.Message)" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Warning
}

$mediaPackages = Get-WindowsPackage -Online -PackageName "*media*"
if ($mediaPackages)
{
foreach ($pkg in $mediaPackages)
{
$pkgName = $pkg.PackageName
Write-EventLog -EventId 10 -Message "Attempting to remove $pkgName" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Information
try
{
Remove-WindowsPackage -PackageName $pkgName -Online -NoRestart -ErrorAction Stop | Out-Null
Write-EventLog -EventId 10 -Message "Successfully removed $pkgName" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Information
}
catch
{
Write-EventLog -EventId 110 -Message "Failed to remove $pkgName`: $($_.Exception.Message)" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Warning
}
}
}
catch
{
Write-EventLog -EventId 110 -Message "Disabling / Removing Windows Media Player - $($_.Exception.Message)" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Error
else
{
Write-EventLog -EventId 10 -Message "No media packages found to remove" -LogName 'Virtual Desktop Optimization' -Source 'WindowsMediaPlayer' -EntryType Information
}
}
#endregion
#endregion Disable, then remove, Windows Media Player

#region Begin Clean APPX Packages
If ($Optimizations -contains "AppxPackages" -or $Optimizations -contains "All")
Expand Down