universal-windows-wallpaper-changer
2026.11.1
service (or picks one from own folder) and applies it as the Windows
desktop wallpaper. Runs once, or keeps changing the wallpaper in the
background with a tray icon (every 1-1440 minutes). Works for the
current user only. No administrator rights are needed.
Usage: .\universal-windows-wallpaper-chang
service (or picks one from own folder) and applies it as the Windows
desktop wallpaper. Runs once, or keeps changing the wallpaper in the
background with a tray icon (every 1-1440 minutes). Works for the
current user only. No administrator rights are needed.
Usage: .\universal-windows-wallpaper-changer.ps1 [options]
Run without options to open the start screen.
SOURCES (-Source)
Random Bing, FirstEverTech, Picsum or Wallhaven (default)
FirstEverTech Author's own 4K photos (no key, tags)
Bing Bing image archive (no key)
Picsum Random photos (no key)
Wallhaven Wallpaper search, SFW only (no key, query)
Photos Windows Pictures folder (local)
Folder Folder given with -Folder (local)
Flickr API key needed (Pro), query. EXPERIMENTAL
Immich Own server, API key + URL. EXPERIMENTAL
Pexels API key needed, query
Pixabay API key needed, max 1280px, query
Unsplash API key needed, 50 req/hour, query
URL Image link or .txt list (-URL)
If a service supports a query and none is given, a random one of
Nature, Abstract, Minimalist, Anime or Cyberpunk is used.
OPTIONS
-help, -h, -? Show help and exit.
-version, -v Show version and exit.
-wizard Step-by-step setup wizard.
-source <name> Image source. Default: Random.
-query <text> Search phrase, e.g. "nature winter".
-folder <path> Folder for -Source Folder.
-url <link|file> Image link or .txt list.
-minwidth <px> Min width. Default: 3840 (4K).
-minpixels <n> Min width x height. Default: 0 (off).
-minsize <size> Min file size (500K, 1M). Default: 0.
-quality <1-100> JPEG quality (services that convert).
-format <jpg|png> Output format.
-orientation <o> landscape | portrait | squarish.
-maxattempts <n> Tries before failing (1-20). Default: 5.
-dir <path> Where wallpapers are stored.
-keep <n> Keep last n files (default 20, 0 = all).
-keepcurrentonly Keep only the current wallpaper.
-once Change once and exit.
-intervalminutes n Change every n min (1-1440) in background.
-profile [name] Run a saved profile (default: default).
-fresh Discard the stored image queue.
-immichurl <url> Immich server address.
BACKGROUND
-background <cmd> Status | Start | Stop | Pause | Resume
Stop also removes start at sign-in and settings.
API KEYS (stored encrypted per Windows user; env vars override)
-keys Show which keys are set.
-setkey <service> Enter a key (hidden).
-removekey <svc> Remove key(s) and the user env variable.
ALL | FLICKR | IMMICH | PEXELS | PIXABAY |
UNSPLASH | WALLHAVEN
OTHER
-jpegimportquality <Max|Default> Windows JPEG import quality.
-noprompt Skip the JPEG quality prompt.
-quiet, -q No screens, prompts or credits.
-noupdate Skip the update check.
-skipverify, -s Skip the self-hash check.
-debug, -d Print diagnostics.
-installupdate Internal (used by the EXE package).
Files: %LOCALAPPDATA%\UniversalWindowsWallpaperChanger
(log, state, queue, installed copy for background mode)
%APPDATA%\UniversalWindowsWallpaperChanger\profiles
Installation Options
Owners
Copyright
(c) 2026 Marcin Grygiel / FirstEver.tech. All rights reserved.
Package Details
Author(s)
- Marcin Grygiel
Tags
wallpaper bing picsum wallhaven flickr immich pexels pixabay unsplash windows automation
Functions
Stop-WithArgError Test-ArgValue Get-VersionNumber Compare-Versions Write-Log Write-DebugMessage Write-Warn Hide-Secret Write-ColorLine Get-KeyAndUrlFromLine Set-ConsoleSize Show-Header Show-ScreenTitle Read-YesNo Wait-AnyKey Exit-WithCredits Invoke-Nav Read-Nav Read-Validated Get-PicturesFolder New-DefaultConfig Merge-Config Test-ProfileName Get-ProfilePath Save-ConfigFile Read-ConfigFile Get-ProfileList Resolve-RunConfig ConvertTo-Bytes Format-Bytes Get-ServiceName Test-SourceSupportsQuery Get-RandomQueryPhrase Get-CommandParts Build-CommandLine ConvertFrom-SecureToPlain Get-ApiKeySource Get-ApiKey Set-ApiKey Remove-ApiKey Get-StoredImmichUrl Set-StoredImmichUrl Show-KeyTable Read-ApiKeyInteractive Get-JpegImportQuality Set-JpegImportQuality Format-JpegImportQuality Invoke-JpegImportQualityCommand Test-JpegPrecheckNeeded Show-JpegPrecheck Get-WebText ConvertTo-ArgString Show-StartupChecks Test-ScriptHash Test-GalleryInstall Get-LatestVersion Install-GalleryUpdate Install-UpdateFromExe Install-ScriptUpdate Install-UpdateFromPs1 Invoke-UpdateCheck Show-FinalCredits Get-RateLimitFile Test-ProviderRateLimited Set-ProviderRateLimited Get-HttpStatusCode Invoke-Api Expand-Response New-Photo Get-LongSideMeasure Test-OrientationOk Test-DimensionsOk Get-ImageFileInfo Get-ImageExtension Test-ImageFile Get-BingBatch Get-PicsumBatch Get-WallhavenBatch Get-LocalBatch Get-UrlBatch Get-FirstEverTechBatch Get-FlickrBatch Resolve-ImmichUrl Get-ImmichBatch Get-PexelsBatch Get-PixabayBatch Get-UnsplashBatch Get-ProviderBatch Get-QueueFile Test-QueueAllowed Read-Queue Write-Queue Initialize-NativeType Set-Wallpaper Get-NextFileName Move-LegacyDirFiles Write-AttributionLog Send-UnsplashDownloadPing Invoke-OwnFileCleanup Get-UnsplashImageUrl Save-RemoteImage Invoke-ProviderCycle Invoke-Cycle Install-ScriptCopy Install-SelfUpdate Get-AutostartCommand Set-Autostart Remove-Autostart Test-AutostartEnabled Get-BackgroundConfig Read-TrayState Write-TrayState Test-TrayRunning Send-TrayCommand Stop-Tray Start-Tray Initialize-Background Get-ShortPath Write-StatusRow Show-BackgroundStatus Wait-TrayState Remove-BackgroundSettings Invoke-BackgroundCommand Get-CurrentWallpaperLabel Get-CurrentWallpaperStats Get-LastChangeLabel Get-StoredImageCount Get-WallpaperFolder New-TrayIcon Invoke-TrayCycle Invoke-TrayDailyUpdateCheck Invoke-TrayCommandFile Invoke-TrayMode Get-SourceLabel Get-QueryLabel Write-CommandBlock Get-KeepLabel Show-ConfigSummary Get-RunProblem Show-CycleResult Show-RunInfo Stop-BackgroundForOnce Invoke-OnceInteractive Invoke-BackgroundSetupInteractive Invoke-Run Invoke-QuietRun Invoke-ManagementCommands Read-MenuChoice Show-BackgroundMenu Show-StartScreen Show-WizardScreen Write-WizardFooter Show-KeyTableNumbered Clear-ApiKeyEverywhere Read-ServiceKeyAndStore Edit-ApiKey Show-KeyManagementScreen Write-SourceRow Read-WizardSource Invoke-WizardCollect Invoke-Wizard Move-LegacyData
Dependencies
This script has no dependencies.
Release Notes
v2026.11.0001 - Initial release
FileList
- universal-windows-wallpaper-changer.nuspec
- universal-windows-wallpaper-changer.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 2026.11.1 (current version) | 7 | 11/9/2026 |