Created
January 23, 2026 19:07
-
-
Save michaelsanford/49dc14cc266bdd4d434ec22021f370a8 to your computer and use it in GitHub Desktop.
Install 'missing' Docker Desktop for Windows extensions when provisioned by InTune, etc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Start-Transcript -Path "$env:TEMP\docker-plugin-install.log" | |
| $pluginDir = "$env:USERPROFILE\.docker\cli-plugins" | |
| New-Item -ItemType Directory -Force -Path $pluginDir | |
| try { | |
| # Compose | |
| Invoke-WebRequest -Uri "https://github.com/docker/compose/releases/latest/download/docker-compose-windows-x86_64.exe" -OutFile "$pluginDir\docker-compose.exe" | |
| # Scout | |
| Invoke-WebRequest -Uri "https://github.com/docker/scout-cli/releases/download/v1.19.0/docker-scout_1.19.0_windows_amd64.zip" -OutFile "$env:TEMP\docker-scout.zip" | |
| Expand-Archive -Path "$env:TEMP\docker-scout.zip" -DestinationPath "$env:TEMP\docker-scout" -Force | |
| Move-Item "$env:TEMP\docker-scout\docker-scout.exe" "$pluginDir\docker-scout.exe" -Force | |
| Remove-Item "$env:TEMP\docker-scout.zip" -Force | |
| Remove-Item "$env:TEMP\docker-scout" -Recurse -Force | |
| # SBOM | |
| Invoke-WebRequest -Uri "https://github.com/docker/sbom-cli-plugin/releases/download/v0.6.1/sbom-cli-plugin_0.6.1_windows_amd64.zip" -OutFile "$env:TEMP\sbom.zip" | |
| Expand-Archive -Path "$env:TEMP\sbom.zip" -DestinationPath "$env:TEMP\sbom" -Force | |
| Move-Item "$env:TEMP\sbom\docker-sbom.exe" "$pluginDir\docker-sbom.exe" -Force | |
| Remove-Item "$env:TEMP\sbom.zip" -Force | |
| Remove-Item "$env:TEMP\sbom" -Recurse -Force | |
| # Success notification | |
| Add-Type -AssemblyName System.Windows.Forms | |
| $notification = New-Object System.Windows.Forms.NotifyIcon | |
| $notification.Icon = [System.Drawing.SystemIcons]::Information | |
| $notification.BalloonTipTitle = "Docker Plugins Installed" | |
| $notification.BalloonTipText = "Compose, Scout, and SBOM plugins are ready" | |
| $notification.Visible = $true | |
| $notification.ShowBalloonTip(10000) | |
| } | |
| catch { | |
| # Failure notification | |
| Add-Type -AssemblyName System.Windows.Forms | |
| $notification = New-Object System.Windows.Forms.NotifyIcon | |
| $notification.Icon = [System.Drawing.SystemIcons]::Error | |
| $notification.BalloonTipTitle = "Docker Plugin Installation Failed" | |
| $notification.BalloonTipText = "Error: $($_.Exception.Message)" | |
| $notification.Visible = $true | |
| $notification.ShowBalloonTip(10000) | |
| throw | |
| } finally { | |
| Stop-Transcript | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment