Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell - Windows 8.1 Desktop Hintergrund auf einfarbig änderen

Mitglied: joe2017

joe2017 (Level 1) - Jetzt verbinden

02.12.2019, aktualisiert 17:29 Uhr, 274 Aufrufe, 19 Kommentare

Hallo zusammen,

ich habe bereits einige Versuche unternommen und auch einiges zu dem Thema gefunden. Jedoch funktioniert es irgendwie nicht so ganz.
Ich möchte einen Desktop Hintergrund von einem Bild auf einfarbig mittels powershell ändern. Hierzu bin ich folgendermaßen vorgegangen:

01.
set-ItemProperty "HKCU:\Control Panel\Desktop" -Name Wallpaper -Value ""
02.
set-ItemProperty "HKCU:\Control Panel\Colors" -Name Background -Value "44 44 44"
03.
stop-process -Name explorer
Leider funktioniert das nicht. Wahrscheinlich fehlt noch ein Eintrag.

Hat jemand eine Idee?
Mitglied: emeriks
02.12.2019, aktualisiert um 16:15 Uhr
Hi,
was funktioniert ncht?

E.

Edit:
Schau mal hier, erster Treffer bei Kuugel: https://www.powershellgallery.com/packages/Set-DesktopBackGround/1.0.0.0 ...

E.
Bitte warten ..
Mitglied: joe2017
02.12.2019 um 16:15 Uhr
Naja, der Hintergrund wird nicht von einem Bild in den einfarbigen Hintergrund gewechselt.
Bitte warten ..
Mitglied: emeriks
02.12.2019 um 16:25 Uhr
ersetze mal Zeile 2 mit
01.
rundll32.exe user32.dll, UpdatePerUserSystemParameters
Bitte warten ..
Mitglied: voucher
LÖSUNG 02.12.2019, aktualisiert 03.12.2019
01.
Add-Type -A System.Drawing
02.
function Set-BackgroundColor([System.Drawing.Color]$color){
03.
    Add-Type -Memberdefinition '
04.
    [DllImport("User32.dll",CharSet=CharSet.Unicode)]public static extern int SystemParametersInfo (Int32 uAction,Int32 uParam,String lpvParam,Int32 fuWinIni);
05.
    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]public static extern int SetSysColors(int cElements, int[] lpaElements, int[] lpRgbValues); 
06.
    ' -Name Win32 -Namespace Tools
07.
    [void][Tools.Win32]::SystemParametersInfo(0x0014,0,"",3)
08.
    [void][Tools.Win32]::SetSysColors(1,[int[]]@(1),[System.Drawing.ColorTranslator]::ToWin32($color))
09.
}
10.

11.
Set-BackgroundColor -Color ([System.Drawing.Color]::FromArgb(44,44,44))
Bitte warten ..
Mitglied: joe2017
02.12.2019, aktualisiert um 17:35 Uhr
Der Beitrag ist leider noch offen!

Ich dachte es hätte funktioniert.
Leider wurde jedoch das gesamte Design auf die Farbe umgestellt. Ich wollte eigentlich nur den Hintergrund einfarbig haben.

@emeriks

Das hatte ich auch bereits getestet. Das hat auch nicht funktioniert.

Also das anpassen funktioniert nur teilweise.
Wenn ich z.B. mit
01.
set-ItemProperty "HKCU:\Control Panel\Desktop" -Name Wallpaper -Value "\Path\to\Image.jpg"
einen neuen Hintergrund angebe wird dieser nicht automatisch aktuallisiert. Nach einer neuen Anmeldung wird das neue Bild angezeigt.
Gibt es hierfür ein Update Befehl?
Bitte warten ..
Mitglied: voucher
02.12.2019, aktualisiert um 17:41 Uhr
Zitat von joe2017:
Leider wurde jedoch das gesamte Design auf die Farbe umgestellt. Ich wollte eigentlich nur den Hintergrund einfarbig haben.
Hab ich hier getestet, funktioniert hier auf einer Test-VM mit Windows 8.1 problemlos, die Zeile 8 macht es ja extra so das nur der Hintergrund angepasst werden soll
01.
[void][Tools.Win32]::SetSysColors(1,[int[]]@(1),[System.Drawing.ColorTranslator]::ToWin32($color))
Liest du
https://docs.microsoft.com/de-de/windows/win32/api/winuser/nf-winuser-ge ...
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-se ...

Die 1 im zweiten Parameter entspricht ja nur COLOR_BACKGROUND
Bitte warten ..
Mitglied: joe2017
02.12.2019, aktualisiert um 17:54 Uhr
Bei mir hat das Script alles angepasst. Es wurde das gesamte Theme verändert.
Bitte warten ..
Mitglied: voucher
02.12.2019 um 17:53 Uhr
Dann kopier das Skript nochmal.
Bitte warten ..
Mitglied: joe2017
02.12.2019 um 17:55 Uhr
Es müsste doch einen einfachen Update Befehl nach dem ändern des reg keys geben. Das würde alles erledigen.
Ich hatte das Script kopiert und nichts verändert.
Bitte warten ..
Mitglied: voucher
02.12.2019, aktualisiert um 18:05 Uhr
Zitat von joe2017:

Es müsste doch einen einfachen Update Befehl nach dem ändern des reg keys geben. Das würde alles erledigen.
Macht der SetSysColors Call ja . Hättest einfach mal den Link von @emeriks lesen sollen...nicht nur abkopieren sondern auch verstehen.
Ich hatte das Script kopiert und nichts verändert.
Ich hatte aber was nachträglich angepasst.
Bitte warten ..
Mitglied: emeriks
03.12.2019 um 07:34 Uhr
Zitat von joe2017:
Es müsste doch einen einfachen Update Befehl nach dem ändern des reg keys geben. Das würde alles erledigen.
Habe ich Dir doch geliefert?
Bitte warten ..
Mitglied: joe2017
03.12.2019 um 16:17 Uhr
Du hast natürlich Recht. Deine Anpassung hatte ich nicht gesehen, da du innerhalb deines vorherigen Beitrags das Script angepasst hast.
Perfekt funktioniert!

Was jedoch nicht funktioniert, ist das Ganze in ein Logon Script zu packen.
Das Script wird ausgeführt, ändert jedoch nichts. Öffne ich das Powershell Script und führe es aus, wird alles korrekt ausgeführt.

Woran könnte das liegen?
Bitte warten ..
Mitglied: emeriks
03.12.2019, aktualisiert um 16:23 Uhr
Zitat von joe2017:
Was jedoch nicht funktioniert, ist das Ganze in ein Logon Script zu packen.
Das Script wird ausgeführt, ändert jedoch nichts. Öffne ich das Powershell Script und führe es aus, wird alles korrekt ausgeführt.
Das hängt a) davon ab, ob das LoginScript synchron oder asynchron ausgeführt wird und b) wann es fertig ist. Wenn es synchron ausgeführt würde, dann wäre es immer fertig, bevor der Desktop aufgebaut wird. Wenn es asynchron ausgeführt wird (Standard), und es ist schnell genug, dann ist es auch fertig, bevor der Desktop aufgebaut wird. Wenn man eine Verzögerung einbaut, dann kann man es - ohne Garantie - soweit bringen, dass der Befehl zum Aktualisieren des Desktops erst ausgeführt wird, wenn der Desktop voll aufgebaut wird.
Wenn das Script vor dem Aufbau des Desktops fertig ist, dann greift der Befehl zum Aktualsieren des Desktops nicht und damit noch nicht die gerade in die Registry geschriebenen Werte. Diese wirken dann erst beim nächsten Login.

Edit: Alternativ könntest Du auch eine geplante Aufgabe versuchen mit Trigger "bei Anmeldung".
Bitte warten ..
Mitglied: joe2017
03.12.2019 um 16:26 Uhr
Ich habe das Script bereits in folgende GPO gepackt:
Administrative Templates\System\Logol\Run these programs at user logon

Somit wird das Script definitiv erst ausgeführt wenn mein Desktop geladen wurde.
Ich sehe sogar, dass sich das Script Fenster öffnet.
Bitte warten ..
Mitglied: emeriks
03.12.2019 um 16:29 Uhr
Zitat von joe2017:
Ich sehe sogar, dass sich das Script Fenster öffnet.
Dann baue am Ende eine Pause ein, damit Du sehen und lesen kannst, was es ggf. meldet.
Bitte warten ..
Mitglied: voucher
03.12.2019, aktualisiert um 16:33 Uhr
PS Executionpolicy stimmt? Normalerweise müsste es ja von dort auch per Default über ByPass laufen da vom GPO Prozess getriggert, aber überprüfe das nochmal, kanns gerade nicht selbst.
Ansonsten bau um das Skript ein Start-Transcript und logge die Infos/Fehler in eine Logdatei ...
Bitte warten ..
Mitglied: joe2017
03.12.2019, aktualisiert um 16:49 Uhr
Ich erhalte die Meldung
Der Typ [System.Drawing.Color] wurde nicht gefunden.

Die Meldung erhalte ich auch wenn ich mein Script über die cmd starte.
powershell.exe -File \path\to\script.ps1

Wenn ich die Powershell öffne und das Script innerhalb ausführe, funktioniert alles.

Muss man die Funktion vielleicht vorab irgendwie laden?
Bitte warten ..
Mitglied: joe2017
03.12.2019 um 16:56 Uhr
Ich habe es gefunden.

Add-Type -AssemblyName System.Drawing
Bitte warten ..
Mitglied: voucher
03.12.2019, aktualisiert um 17:07 Uhr
Zitat von joe2017:

Ich habe es gefunden.

Add-Type -AssemblyName System.Drawing
Jepp hatte ich oben an falscher Stelle eingefügt, da ich anfangs den Namespace nicht außerhalb der Function benutzt habe, sorry. Habs oben aus der Function in den Body des Skripts verschoben.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Win 8.1 "Bestimmte Hintergrund- und Akzentfarbe erzwingen" via Powershell

gelöst Frage von joe2017Batch & Shell4 Kommentare

Hallo zusammen, es gibt zwar ein GPO Administrative Vorlagen\Systemsteuerung\Anpassung\Bestimmte Hintergrund- und Akzentfarbe erzwingen. Wenn diese gesetzt wurde, kann diese ...

Windows 8

Windows 8.1 startet mit leerem Desktop

gelöst Frage von sdidiWindows 84 Kommentare

Hallo Leute, mein Rechner startet zwar sehr schnell (i7-4770, 24 GB, Win8.1 4bit), nach der Anmeldung bleibt der Desktop ...

Windows 7

Remote Desktop- Hintergrund ist schwarz

Frage von JimRaketeWindows 72 Kommentare

Hallo, ich habe ein Problem mit Windows 7 Ultimate-Rechner. Wenn ich mit dem 'Parallels Client' von meinem Mac aus ...

Batch & Shell

Drag and Drop in Powershell

gelöst Frage von mc-doubleyouBatch & Shell2 Kommentare

Hallo zusammen, inwischen habe ich mich von cmd zur Powershell vorgearbeitet, die Lösungen die mir Google aber so liefert ...

Neue Wissensbeiträge
Windows Installation

Windows Install ISO mit übergroßer Install.wim auf FAT32 übertragen

Tipp von Lochkartenstanzer vor 4 TagenWindows Installation11 Kommentare

Moin Kollegen, Viele von euch werden sicher aus praktischen Gründen nicht nur DVDs oder "virtuelle" CD-Laufwerke (Zalman, IODD) zum ...

Datenschutz

Gehe zurück auf Los, ziehe keine 4.000 Mark. E-Privacy (erstmal) gescheitert

Information von certifiedit.net vor 5 TagenDatenschutz

Webbrowser

Firefox 71 verfügbar mit Picture in Picture Funktion

Information von sabines vor 5 TagenWebbrowser2 Kommentare

Die neue Firefox Version 71 unterstützt, zunächst nur für Windows, Picture in Picture. Damit kann ein Video in einem ...

E-Mail
SPF beim Versenden testen
Tipp von StefanKittel vor 7 TagenE-Mail3 Kommentare

Hallo, wenn man einen SPF für einen Exchange, oder anderen Mail-Server, konfigiruert muss man das ja auch testen. Ganz ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik CRS305 4Port SFP+ Router-Switch, VMWare und Fritzbox (Netzwerk Internetproblem)
Frage von SickcultureRouter & Routing18 Kommentare

Auf der Suche nach Antworten im Netz kommt man unweigerlich auf eure Seite und die deutsche Mikrotik Blog Seite. ...

Router & Routing
Fritz VPN und WoL mit Mikrotik HEX RB750Gr2 möglich?
gelöst Frage von SionzrisRouter & Routing17 Kommentare

Hallo erstmal und danke fürs anklicken :) Ich habe folgendes Setup geplant und scheitere zurzeit an der Realisierung vom ...

Windows Server
Netzwerk Planung Homeoffice
Frage von siopoqruipWindows Server17 Kommentare

Hallo, ich plane zurzeit ein kleines Netzwerk. 5-8 User jeder mit eigenem Laptop (Lenovo T590) Windows 10 Professional Homeoffice ...

MikroTik RouterOS
Mikrotik Router empfehlenswert?
gelöst Frage von matze2090MikroTik RouterOS16 Kommentare

Hallo, ich würde gerne mir Mikrotik anschauen. Reicht dieser Router zum erstmal Test? Er Kostet ca 23€. Ich habe ...