This tool will help you change your Windows 7 logon screen background image.

Few notes:
-the system changes require the tool to be run as administrator.
-the image file size should NOT exceed 256KB.
-single registry modification will be performed in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background changing OEMBackground value.

Original post:
Custom Logon Screen GUI Tool for Windows 7

Code Snippet:

PowerShell
Edit|Remove
############################################## Start Functions 
 
########### OpenFile Function 
Function OpenFile { 
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog 
$openFileDialog.Title = "Select Background Image" 
$OpenFileDialog.initialDirectory = [Environment]::GetFolderPath("mypictures"$OpenFileDialog.filter = "Image Files (*.bmp, *.jpg, etc.)| *.bmp;*.jpg;*.png;*.tif;*.gif | All files (*.*)| *.*" 
$openFileDialog.FilterIndex = 1 
$validate = $openFileDialog.ShowDialog() 
If ($validate -eq "OK") { 
InputImage($openFileDialog.FileName) 
$PictureBoxLabel.Text = $openFileDialog.FileName 
} 
} #end function OpenFile 
                    
########### InputImage Function 
Function InputImage { 
    $file = (Get-Item $openFileDialog.FileName) 
    $image = [System.Drawing.Image]::Fromfile($file) 
    $PictureBox.Image = $image 
     
#Image details 
$imagedimension = $image.PhysicalDimension -replace ("{"," "-replace ("}"," "|Out-String 
$filename = $openFileDialog.FileName 
$filesize = [math]::truncate((Get-Item $filename).length /1KB),"KB" 
if ((Get-Item $filename).length -gt 256kb) 
{ 
$filesize = "$filesize `n`n Error: The file size should NOT exceed 256KB! Please choose another image." 
$ChangeBkg.Visible =$false 
$LockComputer.Visible = $False 
$Reverse.Visible = $False 
$outputBox.text= " Selected Background: $filename""`n Image Dimensions: $imagedimension""File Size: $filesize" 
} 
else { 
$ChangeBkg.Visible = $True 
$outputBox.text= " Selected Background: $filename""`n Image Dimensions: $imagedimension""File Size: $filesize""`n`n Status OK: Click on ""Change Logon Screen"" button to proceed." 
} 
} #end function OpenFile