Windows 10 Desktop Hintergrund-Farbe ändern per Powershell

Wenn der Desktop Hintergrund vom IT festgelegt wird, ist schon vorhersehbar, dass ein Hintergrund-Bild stört und eine völlige unnötige Unzufriedenheit einschleichen kann. Mich stören unruhige Bilder und verlange nach einfachem „Grau“, weil ich z.B. „Icons“ auf dem Desktop ablege und diese nicht mehr so leicht zu finden ist.

Eine Lösung könnte ein Batch-Script sein, dass man beim Rechner-Start automatisch startet oder wenigstens nur einmal starten kann.

Das sollte so einfach sein, aber in der Realität kann es sein, dass man ein Powerscript im Autostart haben möchte und dann soll das Script dann auch wieder beendet sein. Wohl dem, der nicht ständig das Admin-Passwort bemühen muss – auch dass kostet dann doch wieder Zeit.

Fazit: Aus „5 Minuten“ können schnell auch eine Stunde sein.


<# Windows 10 Desktop Hintergund Farbe ändern per Powershell Quelle/n: https://administrator.de/forum/powershell-windows-8-1-desktop-hintergrund-einfarbig-%C3%A4nderen-521241.html #>

###############################################
##Erst einmal den Bildschirm löschen u. Optik... (Microsoft Werbung für 'Powershell' was soll der Schwachsinn?):
cls
if ($Host.Name -like "*ISE*") {
# Fenster Überschrift festlegen
#$host.UI.RawUI.WindowTitle = "ISE"
}

###############################################
## System.Drawing bereitstellen und Funktion
Add-Type -A System.Drawing
function Set-BackgroundColor([System.Drawing.Color]$color){
Add-Type -Memberdefinition '
[DllImport("User32.dll",CharSet=CharSet.Unicode)]public static extern int SystemParametersInfo (Int32 uAction,Int32 uParam,String lpvParam,Int32 fuWinIni);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]public static extern int SetSysColors(int cElements, int[] lpaElements, int[] lpRgbValues);
' -Name Win32 -Namespace Tools
[void][Tools.Win32]::SystemParametersInfo(0x0014,0,"",3)
[void][Tools.Win32]::SetSysColors(1,[int[]]@(1),[System.Drawing.ColorTranslator]::ToWin32($color))
}

###############################################
## Funktion aufrufen
Set-BackgroundColor -Color ([System.Drawing.Color]::FromArgb(200,200,200))

###############################################
#Script beenden:
if ($Host.Name -like "*ISE*") {
#in einer ISE bleiben wir in der ISE.
} else {
$process = Get-Process -ID $PID
Stop-Process -InputObject $process
}

Danach könnte man diese Powershell-Script automatisch starten lassen;-)
Quelle/n:
https://stackoverflow.com/questions/21218346/run-batch-file-on-start-up

Aber Powershell Scripte können als „Link’s“ abgelegt werden und sind aufrufbar. Dazu habe ich das Script sauber dort abgelegt, wo Anwendungen auch installiert werden und ist sicherlich bei jedem anders:
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -noexit -File „C:\Program Files (x86)\rdfo_apps\Desktop-Hintergund-festlegen\Desktop-Hintergund-festlegen.ps1“

Print Friendly, PDF & Email