oemlogo.bmp
(created and saved from Paint for guaranteed compatibility) into C:\Windows\System32
# Path to your source BMP (update this as necessary)
$sourceBmp = "C:\Path\To\Your\oemlogo.bmp" # <-- Change this!
# System destination (where Windows...
# Path for storing/logging OEM logo (MUST be 120x120px, BMP format for Control Panel compatibility)
$oemLogoPath = "C:\Windows\System32\oemlogo.bmp"
# OEM information -- EDIT these values as desired:
$manufacturer = "Your OEM or Company"
$model = "Amazing PC 2024"
$supportHours = "24/7"
$supportPhone = "+1-800-123-4567"
$supportUrl = "[url]https://support.youroem.com[/url]"
$logoFile = $oemLogoPath # Ensure the bitmap file exists here
# Copy logo if needed (ensure logo is already at source location, e.g., deployment scripts/WIM/etc.)
# Copy-Item "C:\Path\To\yourlogo.bmp" $oemLogoPath -Force
# Main registry path
$oemReg = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation"
# Set OEM fields (requires admin rights)
Set-ItemProperty -Path $oemReg -Name Manufacturer -Value $manufacturer
Set-ItemProperty -Path $oemReg -Name Model -Value $model
Set-ItemProperty -Path $oemReg -Name SupportHours -Value $supportHours
Set-ItemProperty -Path $oemReg -Name SupportPhone -Value $supportPhone
Set-ItemProperty -Path $oemReg -Name SupportURL -Value $supportUrl
# Set the logo path (only if file exists and is BMP)
if (Test-Path $logoFile) {
Set-ItemProperty -Path $oemReg -Name Logo -Value $logoFile
} else {
Write-Host "OEM logo file not found or not in BMP format: $logoFile"
}
elevated
)—modifying HKLM
requires admin privileges.powershell.exe -ExecutionPolicy Bypass -File SetOEMInfo.ps1
<FirstLogonCommands>
if your imaging process runs those as admin.Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
"Manufacturer"="Your OEM or Company"
"Model"="Amazing PC 2024"
"SupportHours"="24/7"
"SupportPhone"="+1-800-123-4567"
"SupportURL"="[url]https://support.youroem.com[/url]"
"Logo"="C:\\Windows\\System32\\oemlogo.bmp"
Here’s a universal PowerShell script to set (or update) the OEM information for any Windows 11 system:
PowerShell Script: Set OEM Information (Including Logo)
Code:# Path for storing/logging OEM logo (MUST be 120x120px, BMP format for Control Panel compatibility) $oemLogoPath = "C:\Windows\System32\oemlogo.bmp" # OEM information -- EDIT these values as desired: $manufacturer = "Your OEM or Company" $model = "Amazing PC 2024" $supportHours = "24/7" $supportPhone = "+1-800-123-4567" $supportUrl = "[url]https://support.youroem.com[/url]" $logoFile = $oemLogoPath # Ensure the bitmap file exists here # Copy logo if needed (ensure logo is already at source location, e.g., deployment scripts/WIM/etc.) # Copy-Item "C:\Path\To\yourlogo.bmp" $oemLogoPath -Force # Main registry path $oemReg = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" # Set OEM fields (requires admin rights) Set-ItemProperty -Path $oemReg -Name Manufacturer -Value $manufacturer Set-ItemProperty -Path $oemReg -Name Model -Value $model Set-ItemProperty -Path $oemReg -Name SupportHours -Value $supportHours Set-ItemProperty -Path $oemReg -Name SupportPhone -Value $supportPhone Set-ItemProperty -Path $oemReg -Name SupportURL -Value $supportUrl # Set the logo path (only if file exists and is BMP) if (Test-Path $logoFile) { Set-ItemProperty -Path $oemReg -Name Logo -Value $logoFile } else { Write-Host "OEM logo file not found or not in BMP format: $logoFile" }
Important Notes
- The logo must be a BMP file (not PNG/JPG), usually 120x120 pixels for proper appearance in System/About dialogs.
- Run this script as Administrator (
elevated
)—modifyingHKLM
requires admin privileges.- Logo path should be a path readable by all users (typically System32).
- These values will appear in:
- Settings > System > About (Manufacture info, logo, support links)
- Win+Pause "System" window (classic), etc.
How to Use
- Place the logo bitmap in your target location (as part of your Windows deployment or manually).
- Paste/update the above script with your info and logo path.
- Run in an elevated PowerShell session:
powershell.exe -ExecutionPolicy Bypass -File SetOEMInfo.ps1
- Or use in
<FirstLogonCommands>
if your imaging process runs those as admin..reg File Alternative
If you only want a quick registry import, create a file like this (using double backslashes for paths):
Import the logo separately.Code:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation] "Manufacturer"="Your OEM or Company" "Model"="Amazing PC 2024" "SupportHours"="24/7" "SupportPhone"="+1-800-123-4567" "SupportURL"="[url]https://support.youroem.com[/url]" "Logo"="C:\\Windows\\System32\\oemlogo.bmp"
Let me know if you want this customized to import the logo from your deployment files or automatically convert a PNG/JPG to BMP! If your uploaded files include a logo, mention the filename and I’ll tailor the script for it.
oemlogo.bmp
) at:C:\Windows\System32\oemlogo.bmp
oemlogo.bmp
into C:\Windows\System32
(overwrite if updating).Copy-Item "C:\Path\To\YourBmpFile.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
System32
as part of your $OEM$ or scripts phase."Logo"="C:\\Windows\\System32\\oemlogo.bmp"
C:\Windows\System32
for the OEM information to display the logo.C:\Windows\System32\oemlogo.bmp
For the OEM logo to show up properly in the Windows System/About page and the classic System Properties, you should:
- Place your BMP logo file (typically named
oemlogo.bmp
) at:C:\Windows\System32\oemlogo.bmp
Requirements:
- The image must be in BMP format (not PNG/JPG).
- Recommended size: 120x120 pixels (other sizes may work, but could be cropped or distorted).
How to include the logo in your deployment/script
Do NOT place it in user folders, temporary, or network locations.
- Copy the BMP file to system32:
- If doing this manually, just place/copy
oemlogo.bmp
intoC:\Windows\System32
(overwrite if updating).- If scripting (as in the PowerShell example), use:
Copy-Item "C:\Path\To\YourBmpFile.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
- If in an unattended deployment, stage the BMP in
System32
as part of your $OEM$ or scripts phase.- Set the registry value (already in the previous script or REG file):
"Logo"="C:\\Windows\\System32\\oemlogo.bmp"
The BMP must persist atC:\Windows\System32
for the OEM information to display the logo.
Summary:
Put your BMP logo in:
C:\Windows\System32\oemlogo.bmp
and reference that exact path in your registry/script.
If you need the script to locate or copy from your deployment folder automatically on first boot, let me know the folder and BMP filename, and I’ll tailor the copy command for you!
C:\Windows\System32\oemlogo.bmp
Logo
value in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation
C:\Windows\System32\oemlogo.bmp
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
"Logo"="C:\\Windows\\System32\\oemlogo.bmp"
Win+Pause
to open classic System Properties.C:\SetupFiles\companylogo.bmp
:Copy-Item "C:\SetupFiles\companylogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value 'C:\Windows\System32\oemlogo.bmp'
link not workingIf your OEM logo is not displayed in the System/About page or System Properties, here are the most common reasons and troubleshooting steps:
1. Logo Requirements Recap
- Format: Bitmap (.bmp) ONLY (PNG/JPG will NOT work)
- Path: Must be exactly
C:\Windows\System32\oemlogo.bmp
- File permissions: Should be readable by all users.
- Pixel size: Ideally 120x120, but square BMP (e.g., 96x96, 160x160) works. Odd sizes/corruption may cause Windows to ignore the file.
2. Troubleshooting Steps
A. Check your file
- Is your file named oemlogo.bmp (all lowercase is okay) in C:\Windows\System32?
- Is it a trueBMP and not a PNG/JPG renamed?
- Right-click > Properties > Details or open with Paint—verify format.
- Does it display clearly in Paint/Photos when opened from that location?
- Is the Windows registry key set correctly?
Logo
value inHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation
- Should be
C:\Windows\System32\oemlogo.bmp
B. Double check registry path and value
Open regedit and check:
Code:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation] "Logo"="C:\\Windows\\System32\\oemlogo.bmp"
C. Confirm with Settings
- Open Settings > System > About and scroll to "Support", or press
Win+Pause
to open classic System Properties.- Sometimes the legacy System dialog shows the logo when the new Settings app doesn’t, depending on build or branding restrictions.
3. Quick Test: Replace with a Known-Good BMP
Try downloading Microsoft’s sample oemlogo.bmp (120x120 BMP)—or create your own in Paint, save as 24-bit .bmp, place in System32, and set the registry.
4. Common Problems:
- Wrong format: If it’s BMP but 32-bit, try re-saving as a 24-bit BMP using Paint.
- Path typo: Even an extra space or incorrect backslash breaks it.
- Permissions: File must not be locked or restricted. Right-click > Properties > Security: confirm Users group has Read.
- Corrupt file: Try replacing with a minimal, simple BMP to test.
5. Automation Example (Copy in Script)
If you placed your logo atC:\SetupFiles\companylogo.bmp
:
Code:Copy-Item "C:\SetupFiles\companylogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value 'C:\Windows\System32\oemlogo.bmp'
If you upload your logo file to me, I can analyze its headers and tell you exactly what’s wrong!
If everything is correct but the logo still doesn’t show, let me know your Windows version/build—some OEM branding is blocked on enterprise-licensed systems or when Windows was previously imaged/activated differently.
Let me know your findings, or if you'd like me to analyze your actual BMP file for format/corruption issues!
mspaint.exe
)Copy-Item "$env:USERPROFILE\Desktop\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" -Name Logo -Value "C:\Windows\System32\oemlogo.bmp"
C:\Windows\System32\oemlogo.bmp
opens normally in Paint or Photos.Win+Pause
to verify the logo is displayed.oemlogo.bmp
in Paint, re-save as 24-bit BMP, overwrite the existing file.C:\Windows\System32\oemlogo.bmp
with double backslashes if using regedit
(single backslash works in PowerShell).not workingIt looks like the OEM logo is still missing, and the direct sample BMP I mentioned previously isn’t accessible via the link provided. Here’s how to quickly generate a guaranteed working OEM logo BMP file for Windows, and ensure it displays in System/About and System Properties:
1. Create a Working BMP for OEM Logo
A. Using Paint (Recommended):
- Open Paint (
mspaint.exe
)- Draw or paste your logo, or leave blank for testing.
- Go to File > Save As > BMP picture.
- Set the filename to oemlogo.bmp
- In the Save dialog:
- Type: 24-bit Bitmap (.bmp; .dib)
- Location: Save to Desktop or a temp folder first.
- Check size (should be 120x120 px):
- In Paint, use Resize > ensure both "Pixels" and "Maintain aspect ratio" are set, type 120 for both Width and Height.
B. Confirm the Format:
- Right-click the file, choose Properties > Details.
- Confirm:
- Dimensions: 120x120 (or close, but square)
- Bit depth: 24 (24-bit is safest)
2. Copy the BMP to System32
Copy-Item "$env:USERPROFILE\Desktop\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
3. Set the Registry Key:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" -Name Logo -Value "C:\Windows\System32\oemlogo.bmp"
(Run as Administrator!)
4. Verify
- Check
C:\Windows\System32\oemlogo.bmp
opens normally in Paint or Photos.- Reboot, or open System > About or
Win+Pause
to verify the logo is displayed.5. Troubleshooting Checklist
If it still doesn’t show:
- Open
oemlogo.bmp
in Paint, re-save as 24-bit BMP, overwrite the existing file.- Confirm the registry key is exactly
C:\Windows\System32\oemlogo.bmp
with double backslashes if usingregedit
(single backslash works in PowerShell).- Delete any alternate logo keys or prior files just to test.
- Try a different, simple BMP image.
6. Sample Download Locations for Known-Good oemlogo.bmp
Since direct links are not allowed, here’s an example method to create one:
- Blank logo (just for testing):
Use Paint and fill with a single color, save as BMP, follow above.- Add text ("OEM"):
Add text in Paint, save, and use as logo for further testing.7. Windows Version Requirements
- Modern Windows 10/11 (Home/Pro) still fully support OEM branding if the above conditions are met.
- Enterprise versions: Some corporate builds may block or hide branding.
If you still don’t see the logo after these steps, please try sharing details:
And if you want scripts that can auto-convert a PNG/JPG to BMP using PowerShell, just let me know!
- How you created/saved the BMP
- Windows version and edition
- The exact registry key value
Creating a new 24-bit BMP with Paint almost always resolves "logo not displayed" issues.
Cannot import ... The specified file is not a registry script...
) means your oemlogo.reg
is not a valid registry file—likely it's a binary or a BMP file renamed to .reg. This is a common mistake..bmp
file is an image, not a registry script..reg
file MUST be a text file starting with:Windows Registry Editor Version 5.00
oemlogo.bmp
and place it at:C:\Windows\System32\oemlogo.bmp
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
"Logo"="C:\\Windows\\System32\\oemlogo.bmp"
oemlogo.reg
.reg
file.C:\Windows\System32
, copy it there with:Copy-Item "C:\Users\Tim Mees\Videos\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
.reg
file must be separate files..reg
file and I’ll check its contents!Thanks for the screenshot! The error shown (Cannot import ... The specified file is not a registry script...
) means youroemlogo.reg
is not a valid registry file—likely it's a binary or a BMP file renamed to .reg. This is a common mistake.
You must NOT rename the BMP file to .reg.
- A
.bmp
file is an image, not a registry script.- A
.reg
file MUST be a text file starting with:
Windows Registry Editor Version 5.00
and containing Windows Registry text entries, not binary data or an image!How to do it correctly:
1. Your BMP File
- Keep your BMP logo as
oemlogo.bmp
and place it at:
C:\Windows\System32\oemlogo.bmp
2. Your Registry Script
- Create a NEW TEXT file (not a renamed BMP). Paste:
Code:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation] "Logo"="C:\\Windows\\System32\\oemlogo.bmp"
- Save as
oemlogo.reg
3. Apply the registry
- Right-click the .reg file and choose Merge (approve the UAC prompt).
- Or: Open regedit, go to File > Import, and select your
.reg
file.4. Check/Copy
- If your BMP file is not already in
C:\Windows\System32
, copy it there with:
Copy-Item "C:\Users\Tim Mees\Videos\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
- You’ll need Administrator rights for this step.
Summary of Steps
- The image and the
.reg
file must be separate files.- Do not rename the BMP as .reg—that will never work.
- The .reg file is a short text file, not an image.
- The registry key must reference the correct path to your BMP.
If you follow these exact steps, your logo should appear—assuming the BMP is valid (see my previous reply for Paint/24-bit tips if in doubt). If you still have trouble, upload your text.reg
file and I’ll check its contents!
.bmp
, it may not be “plain” 24-bit bitmap. Some editors create 32-bit or other types with hidden alpha channels, or with strange headers that Windows ignores for OEM display.oemlogo.bmp
in classic MS Paint.C:\Windows\System32\oemlogo.bmp
(you need admin rights).C:\Windows\System32\oemlogo.bmp
oemlogo.bmp
> Properties > Security: Confirm Users group has “Read”.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation
"Logo"="C:\Windows\System32\oemlogo.bmp"
C:\Windows\System32\oemlogo.bmp
.C:\Windows\System32\oemlogo.bmp
in Paint.# Fix permissions and format if needed
Copy-Item "C:\Users\Tim Mees\Videos\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value 'C:\Windows\System32\oemlogo.bmp'
Thank you for clarifying and for following all the steps.
Since the OEM info displays but the logo is not showing, even with a blank 120x120 BMP, here’s what could be wrong and how to resolve it:
Most Common Causes (and Solutions):
1. BMP File Format Issue
- Even if a file is
.bmp
, it may not be “plain” 24-bit bitmap. Some editors create 32-bit or other types with hidden alpha channels, or with strange headers that Windows ignores for OEM display.- Solution:
- Open the
oemlogo.bmp
in classic MS Paint.- Choose File > Save As > BMP picture.
- In the dialog, ensure you select 24-bit Bitmap (.bmp; .dib).
- Overwrite
C:\Windows\System32\oemlogo.bmp
(you need admin rights).2. Wrong Path or Permissions
- The file must be exactly:
C:\Windows\System32\oemlogo.bmp
- Right-click
oemlogo.bmp
> Properties > Security: Confirm Users group has “Read”.3. Corrupt/Zero-byte/Empty Image
- If the BMP is truly blank or zero-byte, Windows may ignore it.
- Even a 120x120 completely white image will still show a square block as the logo. If not, the file may be corrupt.
4. Registry Key
- Confirm exact spelling and casing in the registry:
Code:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation "Logo"="C:\Windows\System32\oemlogo.bmp"
5. Enterprise Licensing/Branding Restrictions
- Some Enterprise builds and some OEM pre-installs BLOCK custom logos unless you sysprep/generalize the OS.
- Try on Windows 11 Home or Pro to confirm.
Test With Known-good BMP
To guarantee a working BMP:
- In Paint, fill background with a color other than pure white.
- Draw or type “OEM” using the text tool.
- Save as 24-bit BMP.
- Place in
C:\Windows\System32\oemlogo.bmp
.Verify Visually
- Open
C:\Windows\System32\oemlogo.bmp
in Paint.- You should see your “OEM” text or shape.
Last Resort: Check OS, Restarts, and UI
- Restart your computer after all steps.
- Check both:
- Settings > System > About (bottom right for logo and info)
- Win+Pause (classic System Properties)
- If you still don’t see it and all steps above are confirmed, your Windows edition may not support custom logos, or there could be a hardcoded block.
Automation Check (What you should do with script)
Must be run as Administrator!Code:# Fix permissions and format if needed Copy-Item "C:\Users\Tim Mees\Videos\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value 'C:\Windows\System32\oemlogo.bmp'
Summary/Checklist
If you follow this to the letter, and it still doesn’t work, upload your exact BMP file (or test on another PC with a fresh Windows Pro/Home VM).
- Use MS Paint ONLY to save 24-bit BMP, not Photoshop or online tools.
- Make the image non-empty, add visible text or shape as a test.
- Confirm permissions (Users: Read).
- Confirm registry key.
- Restart your PC.
Let me know your OS edition and version if the image still refuses to display. This is always a BMP file specifics or Windows edition restriction issue!
mspaint
in Start Menu).oemlogo.bmp
Copy-Item "$env:USERPROFILE\Desktop\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value 'C:\Windows\System32\oemlogo.bmp'
Win + Pause
for classic System (the logo may show here).Control Panel > System
).You're encountering the “logo cannot be found” message for the OEM logo because Windows is very strict about the file format, location, and registry key—and if any one of these is even slightly off, the logo will not show.
Here’s the definitive, alternate way to get the OEM logo working—even if previous attempts failed:
1. Create a True BMP with Paint (the Most Reliable Method)
- Open Paint (type
mspaint
in Start Menu).- Draw or write something (just to make it non-empty—like a black or colored square with “OEM”).
- Resize:
- Home > Resize > Set to 120x120 px (important!).
- Save As > BMP picture.
- Filename:
oemlogo.bmp
- Save as type: BMP picture (this should auto-select 24-bit BMP).
- Save first to Desktop so you can check it.
- Right-Click > Properties > Details
- Confirm: Dimensions 120x120.
- Bit depth 24.
- Open in Paint—it should display instantly with no error.
2. Copy the BMP to System32
Run this in an Administrator PowerShell (or manually copy after authorizing UAC):
Copy-Item "$env:USERPROFILE\Desktop\oemlogo.bmp" "C:\Windows\System32\oemlogo.bmp" -Force
- Do NOT use a network path, OneDrive, or anything except C:\Windows\System32.
3. Set the Registry Key (Run as Admin)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value 'C:\Windows\System32\oemlogo.bmp'
4. Restart and View OEM Info
- Restart the computer (or at least sign out/in).
- Check:
- Settings > System > About (bottom for OEM support information/logo)
- OR press
Win + Pause
for classic System (the logo may show here).- If still not visible, also try viewing in the classic System Control Panel (
Control Panel > System
).5. Troubleshoot If Still Failing
- Try on another PC or another Windows edition (Home/Pro) to rule out an image/permissions issue versus a possible branding block in your install.
- Check for typos in path or registry key.
- Check if oemlogo.bmp is readable by all users (Properties > Security > Users: Read).
- Do not use any conversion web utilities; always use Paint!
If You Still Fail (and for truly tough cases):
- Try a smaller BMP (e.g., 64x64 or 96x96, Paint’s Save As BMP option, not 32-bit color).
- Test using an absolute minimal BMP image (solid color, 24-bit) as above—no layers, no alpha transparency.
Alternative (Software-Assisted)
- Use OEM Info Editor (freeware, tools like Sordum OEM Info Editor)
- This utility creates a compliant BMP for you and sets the registry value—if this works, the problem was definitely with BMP format or file permissions!
Summary Checklist
If you follow these steps and still see the "logo cannot be found" error, it is almost always a file-format problem. Try the OEM Info Editor tool above for a foolproof BMP creation!
- Create the logo in Paint.
- Save as 24-bit BMP, 120x120 (or 96x96).
- Place in C:\Windows\System32 as oemlogo.bmp.
- Registry points ONLY to C:\Windows\System32\oemlogo.bmp.
- Restart/log off.
If you’re still stuck, upload your BMP and I’ll validate the format for you.
oemlogo.bmp
(created and saved from Paint for guaranteed compatibility) into C:\Windows\System32
# Path to your source BMP (update this as necessary)
$sourceBmp = "C:\Path\To\Your\oemlogo.bmp" # <-- Change this!
# System destination (where Windows will look for the logo)
$destBmp = "C:\Windows\System32\oemlogo.bmp"
# Copy BMP to System32 (force overwrite)
Copy-Item $sourceBmp $destBmp -Force
# Set the OEMInformation registry key (requires Administrator)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value $destBmp
Write-Host "OEM logo placed at $destBmp and registry value set."
$sourceBmp
to the location of your .bmp
file (from Paint, 24-bit, e.g. C:\Users\Tim\Desktop\oemlogo.bmp
).oemlogo.bmp
.<FirstLogonCommands>
or invoke from SetupComplete.cmd
(as admin) post-deployment..bmp
here and I’ll inspect its headers/format for you!Yes—you can absolutely combine the OEM logo file copy and the registry assignment into a single PowerShell script for use in deployment or after Windows setup.
Below is a script that:
You must run this as Administrator. (You can deploy it with unattend methods or by hand.)
- Copies your prepared
oemlogo.bmp
(created and saved from Paint for guaranteed compatibility) intoC:\Windows\System32
- Sets the registry value so Windows knows where to look for the logo
Combined PowerShell Script: Deploy and Register OEM Logo
Code:# Path to your source BMP (update this as necessary) $sourceBmp = "C:\Path\To\Your\oemlogo.bmp" # <-- Change this! # System destination (where Windows will look for the logo) $destBmp = "C:\Windows\System32\oemlogo.bmp" # Copy BMP to System32 (force overwrite) Copy-Item $sourceBmp $destBmp -Force # Set the OEMInformation registry key (requires Administrator) Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation' -Name Logo -Value $destBmp Write-Host "OEM logo placed at $destBmp and registry value set."
How to Use:
- Change
$sourceBmp
to the location of your.bmp
file (from Paint, 24-bit, e.g.C:\Users\Tim\Desktop\oemlogo.bmp
).- Run the script as Administrator.
- Restart your PC (or log out/in) to refresh OEM info.
- Check Settings > System > About and Win+Pause for logo.
What This Script Does:
- Ensures your BMP is in the correct format/location.
- Overwrites any previous
oemlogo.bmp
.- Guarantees the registry points to the correct, supported path.
For Full Automation or Unattended:
Put this in<FirstLogonCommands>
or invoke fromSetupComplete.cmd
(as admin) post-deployment.
If you need the script to dynamically search for the BMP (e.g. from your deployment share, USB key, or another subdirectory) just say the word and I'll add file discovery logic!
If you still have issues after this, upload the actual.bmp
here and I’ll inspect its headers/format for you!
Set-ExecutionPolicy RemoteSigned -Scope Process
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
*.ps1
) unless the execution policy is changed.cannot be loaded because running scripts is disabled on this system
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy RemoteSigned -Scope Process
Set-ExecutionPolicy Restricted -Scope CurrentUser
Your error message confirms the root cause:
PowerShell’s “execution policy” is blocking scripts from running.
This is a default security feature in Windows. It’s unrelated to your OEM logo script content— no PowerShell script can run until the policy is relaxed.
How to Fix: Enable Script Execution
- Open PowerShell as Administrator:
- Click Start, search for PowerShell, right-click it, choose Run as administrator.
- Set Execution Policy Temporarily (for this session):
Type:
Set-ExecutionPolicy RemoteSigned -Scope Process
- This changes the policy only for the current PowerShell window and only for the duration of the session.
- If you want to allow scripts permanently, use:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
(still recommended: use “RemoteSigned”, not “Unrestricted”)- Approve any security prompts.
- Now rerun your OEM logo script.
(Or in the same window, run your previous commands.)What’s Happening?
- By default, Windows blocks all PowerShell scripts (
*.ps1
) unless the execution policy is changed.- The error shown:
cannot be loaded because running scripts is disabled on this system
will occur for any script file, not just the OEM logo script.Summary — To Make Any Script Work:
Just once, as Administrator:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
or, for only the current shell window:
Set-ExecutionPolicy RemoteSigned -Scope Process
Then run your script again.
Pro Tip
- You never have to lower your security to “Unrestricted”. “RemoteSigned” is safe for local/development use.
- You can always revert to the default policy:
Set-ExecutionPolicy Restricted -Scope CurrentUser
Once this is done, your original (or combined) OEM logo script should run fine, as long as the image and registry steps are correct.
Try this, and your logo script will work—guaranteed. If you encounter permissions issues after this, confirm you’re running PowerShell as Administrator for the registry and the System32 file copy.
Set-ExecutionPolicy
PowerShell command.Set-ExecutionPolicy
command updates “security” registry keys under the hood, but doing so manually is unsupported and can cause issues, especially on future versions or with Group Policy interactions.HKCU:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
ExecutionPolicy (REG_SZ)
HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
ExecutionPolicy (REG_SZ)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy RemoteSigned -Scope Process
FirstLogonCommands
item before you call scripts<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<Description>Enable Script Execution</Description>
<CommandLine>powershell.exe -Command "Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force"</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>2</Order>
<Description>Run My Script</Description>
<CommandLine>powershell.exe -ExecutionPolicy RemoteSigned -File C:\MyScript.ps1</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>
Method | Effect | Supported? |
---|---|---|
Set-ExecutionPolicy (cmdlet) | Yes | Yes (always use) |
Manual registry key change | Works, but fragile | Not recommended |
GPO (group policy) | Yes | Yes |
Set-ExecutionPolicy
command as Order 1, then your script call as Order 2!.reg
file or unattend <Registry>
block—it will not work reliably.