Display-Skalierung per Powershell ändern
Mahlzeit!
Ich hab der Buchhaltung jetzt mal was gutes getan und hab denen sieben gekurvte 34-Zöller mit Ultrabreit (3440x1440) gekauft.
Momentan werkeln bei denen überall 24-Zöller in FHD (und da bei der einen oder anderen mit 125er Skalierung).
Heißt: die 34er werden da eben mit 3440x1440 und 125% Skalierung laufen. Sieht hübsch aus, ist gut lesbar und man arbeitet quasi wie mit zwei bisherigen 24-Zöller.
Ich muss da, bzw. werde da sowieso manuell am Client arbeiten, weil ich da sicher gehen mus, dass die neuesten Intel-UHD-Treiber drauf sind, damit die auch die 3440 bzw. die 1440 können.
Weil ich das aber selber noch nie gemacht habe, habe ich mir gedacht, man könnte ja Auflösung und Skalierung per Skript und GPO an die Rechner schicken. Sechs der sieben Windows-Clients sind baugleich.
Jetzt habe ich ein bisschen bei meinem Client rumgewerkelt, aber ich hab so ein Skript nicht hinbekommen.
Auflösung geht, aber die Skalierung...Wie krieg ich die hin?
Mein Versuch (ohne Skalierung)
Im Netz gesucht und der Schwarm meint, es müssen die LogPixels in HKCU:\Control Panel\Desktop geändert werden.
96 für 100%, 120 für 125%.
Oke....
Mein Ergebnis unter Mithilfe Internetz sieht dann so aus:
Naja, was soll ich sagen....die Auflösung wird geändert und es wird auch der Wert für die LogPixels geschrieben.
Alleine die Skalierung bleibt immer gleich. Ich hab sogar mal neu gestartet.
Hat jemand von euch eine Idee, wie man die Skalierung per Powershell ändert?
k.
Ich hab der Buchhaltung jetzt mal was gutes getan und hab denen sieben gekurvte 34-Zöller mit Ultrabreit (3440x1440) gekauft.
Momentan werkeln bei denen überall 24-Zöller in FHD (und da bei der einen oder anderen mit 125er Skalierung).
Heißt: die 34er werden da eben mit 3440x1440 und 125% Skalierung laufen. Sieht hübsch aus, ist gut lesbar und man arbeitet quasi wie mit zwei bisherigen 24-Zöller.
Ich muss da, bzw. werde da sowieso manuell am Client arbeiten, weil ich da sicher gehen mus, dass die neuesten Intel-UHD-Treiber drauf sind, damit die auch die 3440 bzw. die 1440 können.
Weil ich das aber selber noch nie gemacht habe, habe ich mir gedacht, man könnte ja Auflösung und Skalierung per Skript und GPO an die Rechner schicken. Sechs der sieben Windows-Clients sind baugleich.
Jetzt habe ich ein bisschen bei meinem Client rumgewerkelt, aber ich hab so ein Skript nicht hinbekommen.
Auflösung geht, aber die Skalierung...Wie krieg ich die hin?
Mein Versuch (ohne Skalierung)
1
2
3
4
5
6
7
2
3
4
5
6
7
if (-not (Get-Module -ListAvailable -Name DisplaySettings)) {
Install-Module -Name DisplaySettings -Force -Scope CurrentUser
}
Import-Module DisplaySettings
Set-DisplayResolution -Width 3440 -Height 1440
Im Netz gesucht und der Schwarm meint, es müssen die LogPixels in HKCU:\Control Panel\Desktop geändert werden.
96 für 100%, 120 für 125%.
Oke....
Mein Ergebnis unter Mithilfe Internetz sieht dann so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Set-DisplayResolution -Width 3440 -Height 1440
$registryPath = "HKCU:\Control Panel\Desktop"
$scalingKey = "LogPixels"
Set-ItemProperty -Path $registryPath -Name $scalingKey -Value 120
$code = @"
using System.Runtime.InteropServices;
public class DisplaySettings {
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, uint pvParam, uint fWinIni);
public const uint SPI_SETLOGPIXELS = 0x2005;
public const uint SPIF_UPDATEINIFILE = 0x01;
public const uint SPIF_SENDWININICHANGE = 0x02;
}
"@
Add-Type -TypeDefinition $code
[DisplaySettings]::SystemParametersInfo(0x2005, 120, 0, 0x01 -bor 0x02)
Naja, was soll ich sagen....die Auflösung wird geändert und es wird auch der Wert für die LogPixels geschrieben.
Alleine die Skalierung bleibt immer gleich. Ich hab sogar mal neu gestartet.
Hat jemand von euch eine Idee, wie man die Skalierung per Powershell ändert?
k.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 672170
Url: https://administrator.de/forum/display-skalierung-per-powershell-aendern-672170.html
Ausgedruckt am: 30.03.2025 um 10:03 Uhr
11 Kommentare
Neuester Kommentar
Zitat von @kpunkt:
-PropertyType kennt Powershell nicht. Das wirft es als Fehlermeldung raus.
Ohne dem PropertyType läufts durch, aber die Skalierung wird nicht geändert nach dem logoff.
-PropertyType kennt Powershell nicht. Das wirft es als Fehlermeldung raus.
Ohne dem PropertyType läufts durch, aber die Skalierung wird nicht geändert nach dem logoff.
Doch kennt sie, klappt hier problemlos
https://learn.microsoft.com/de-de/powershell/module/microsoft.powershell ...