Skip to content

Instantly share code, notes, and snippets.

@michaelsanford
Created January 23, 2026 19:07
Show Gist options
  • Select an option

  • Save michaelsanford/49dc14cc266bdd4d434ec22021f370a8 to your computer and use it in GitHub Desktop.

Select an option

Save michaelsanford/49dc14cc266bdd4d434ec22021f370a8 to your computer and use it in GitHub Desktop.
Install 'missing' Docker Desktop for Windows extensions when provisioned by InTune, etc.
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