function Set-Wallpaper($MyWallpaper){ $code = @' using System.Runtime.InteropServices; namespace Win32{ public class Wallpaper{ [DllImport("user32.dll", CharSet=CharSet.Auto)] static extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ; public static void SetWallpaper(string thePath){ SystemParametersInfo(20,0,thePath,3); } } } '@ add-type $code [Win32.Wallpaper]::SetWallpaper($MyWallpaper) } #Download Wallpaper: #Invoke-WebRequest -Uri "***" -OutFile "***" Set-Wallpaper("C:\Users\Public\Pictures\burgers.jpg")