Wie man Systemanzeigeeinstellungen mit PowerShell ändert

PowerShell ist ein unglaublich mächtiges Werkzeug für Windows-Systemadministratoren und Endbenutzer gleichermaßen. Insbesondere, wenn es darum geht, Systemanzeigeeinstellungen zu ändern, kann die Nutzung von PowerShell-Befehlen anstelle der GUI Zeit sparen und die Erstellung von Automatisierungsskripten ermöglichen. Dieser Artikel wird im Detail erläutern, wie man grundlegende Einstellungen wie Bildschirmauflösung und -orientierung durch PowerShell ändert, was eine effizientere und schnellere Anpassung der Systemumgebung ermöglicht.

Inhaltsverzeichnis

Die Grundlagen der Anzeigeeinstellungen

Bevor man die Anzeigeeinstellungen mit PowerShell ändert, ist es wichtig, die verfügbaren Befehle und ihre grundlegende Verwendung zu verstehen. In Windows-Systemen werden die Cmdlets ‚Get-DisplayResolution‘ und ‚Set-DisplayResolution‘ hauptsächlich verwendet, um die Bildschirmauflösung zu überprüfen und einzustellen.

Auflösung überprüfen

Um die aktuelle Bildschirmauflösung zu überprüfen, verwenden Sie den folgenden Befehl.

Get-DisplayResolution

Dieser Befehl listet die aktuelle Auflösung aller mit dem System verbundenen Bildschirme auf.

Auflösung einstellen

Um eine spezifische Auflösung einzustellen, verwenden Sie das Cmdlet ‚Set-DisplayResolution‘ und geben Sie die gewünschte Auflösung an. Zum Beispiel, um die Auflösung auf 1920×1080 zu setzen, führen Sie das Folgende aus.

Set-DisplayResolution -Width 1920 -Height 1080

Dieser Befehl ändert die Bildschirmauflösung des Systems auf die angegebenen Werte. Allerdings erfordert die Verwendung dieses Befehls Administratorrechte.

Bildschirmorientierung ändern

Um die Bildschirmorientierung zu ändern, können zusätzliche Werkzeuge oder Skripte erforderlich sein, aber allgemein wird dies mit ‚DisplaySettings‘ oder Drittanbieter-Tools gemacht.

Das Ändern von Anzeigeeinstellungen mit PowerShell beginnt mit diesen grundlegenden Befehlen. Durch die Nutzung dieser Befehle können Sie verschiedene Einstellungen wie Auflösung und Bildschirmorientierung frei manipulieren. Die nächsten Abschnitte werden im Detail erklären, wie man diese Einstellungen speziell ändert.

Wie man die Auflösung ändert

Das Ändern der Bildschirmauflösung mit PowerShell ist unglaublich nützlich für die Systemanpassung und das Erstellen von Automatisierungsskripten. Hier erklären wir speziell die Schritte, um die Auflösung mit einem Skript zu ändern.

Auflösung mit einem Skript einstellen

Zuerst erstellen Sie ein Skript, um die Auflösung zu ändern. Dieses Skript wird das Cmdlet Set-DisplayResolution verwenden, um die Anzeige des Systems auf die angegebene Auflösung einzustellen. Unten ist ein Beispiel-Skript für die Einstellung der Auflösung auf 1920×1080.

# PowerShell-Skript, um die Auflösung auf 1920x1080 zu setzen
try {
    # Überprüfen, ob es mit Administratorrechten ausgeführt wird
    $currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
    $windowsPrincipal = New-Object Security.Principal.WindowsPrincipal($currentUser)
    $adminRole = [Security.Principal.WindowsBuiltInRole]::Administrator

    if ($windowsPrincipal.IsInRole($adminRole)) {
        # Die Auflösung einstellen
        Set-DisplayResolution -Width 1920 -Height 1080 -Force
        Write-Host "Die Auflösung wurde auf 1920x1080 gesetzt.";
    } else {
        Write-Host "Zum Ausführen dieses Skripts sind Administratorrechte erforderlich.";
    }
} catch {
    Write-Error "Ein Fehler ist beim Einstellen der Auflösung aufgetreten: $_";
}

Dieses Skript überprüft zuerst, ob der aktuelle Benutzer Administratorrechte hat und ändert dann, falls zutreffend, die Auflösung. Der Parameter -Force erzwingt die Änderung der Auflösung ohne Benutzerbestätigung.

Wie man das Skript ausführt

Nachdem Sie das Skript erstellt haben, öffnen Sie PowerShell im Administrator-Modus, navigieren Sie zum Verzeichnis, in dem das Skript gespeichert ist, und führen Sie dann das Skript aus. Sie können das Skript mit dem folgenden Befehl ausführen.

.\ChangeResolution.ps1

Wenn das Skript erfolgreich ausgeführt wird, erscheint eine Nachricht, die besagt: „Die Auflösung wurde auf 1920×1080 gesetzt.“ und die Bildschirmauflösung des Systems ändert sich auf den angegebenen Wert. Wenn die Änderung der Auflösung aus irgendeinem Grund fehlschlägt, wird eine Fehlermeldung angezeigt.

Diese Methode ermöglicht einen einfachen Wechsel zwischen spezifischen Auflösungseinstellungen, was die Automatisierung von Arbeitsabläufen und schnelle Änderungen an den Systemeinstellungen ermöglicht.

Anpassung der Bildschirmorientierung

Die Anpassung der Bildschirmorientierung mit PowerShell ist besonders nützlich in Umgebungen mit mehreren Monitoren oder für spezifische Aufgaben. Dieser Abschnitt erklärt, wie man die Bildschirmorientierung von Landschaft zu Porträt oder umgekehrt mit PowerShell ändert.

Leider bieten die Standard-Cmdlets von PowerShell nicht direkt die Funktionalität, die Bildschirmorientierung zu ändern. Durch das Erstellen von Skripten, die Drittanbieter-Tools oder die Windows-API aufrufen, kann diese Operation jedoch durchgeführt werden.

Verwendung von DisplaySettings

Eine Methode beinhaltet die Verwendung eines Drittanbieter-Befehlszeilen-Tools namens DisplaySettings. Dieses Tool ermöglicht die direkte Steuerung der Bildschirmorientierung über die Befehlszeile oder Skripte.

Grundlegende Verwendung von DisplaySettings

Zuerst laden Sie DisplaySettings herunter und installieren es auf Ihrem System. Dann können Sie die Bildschirmorientierung ändern, indem Sie den folgenden Befehl ausführen.

DisplaySettings /setorientation:portrait

Dieser Befehl stellt die Bildschirmorientierung auf Porträt ein. Ähnlich können Sie die Option /setorientation:landscape verwenden, um sie auf Landschaft zu ändern.

Skript unter Verwendung der Windows-API

Eine weitere Methode besteht darin, ein Skript zu erstellen, das die Windows-API direkt aufruft, um die Bildschirmorientierung zu ändern. Dieser Ansatz erfordert fortgeschrittenere Kenntnisse, ermöglicht aber eine flexiblere Kontrolle.

# Beispiel: Konzeptuelles Skript zur Änderung der Bildschirmorientierung mit der Windows-API
# Hinweis: Dieser Code ist konzeptuell und funktioniert nicht wie hier dargestellt.
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;

public class Display {
    [DllImport("user32.dll")]
    public static extern bool SetDisplayConfig(...);
}
"@ 

# Spezifischer API-Aufruf, um die Bildschirmorientierung einzustellen
# Display.SetDisplayConfig(...);

Somit gibt es mehrere Methoden, um die Bildschirmorientierung mit PowerShell anzupassen. Wählen Sie die beste Methode entsprechend Ihrer Arbeitsumgebung und Ziele aus.

Verwaltung mehrerer Anzeigeeinstellungen

Die Verwendung mehrerer Displays ist in modernen Arbeitsplätzen üblich, und das effiziente Konfigurieren der Einstellungen jedes Displays ist wesentlich für einen effektiven Arbeitsplatz. Dieser Abschnitt stellt Methoden zur Verwaltung mehrerer Anzeigeeinstellungen mit PowerShell vor.

Identifizierung mehrerer Displays

Der erste Schritt ist, mehrere Displays genau zu identifizieren. Mit PowerShell können Sie das Cmdlet Get-WmiObject verwenden, um Informationen über die mit dem System verbundenen Displays abzurufen.

Get-WmiObject -Namespace root\wmi -Class WmiMonitorID | ForEach-Object {
    $monitor = $_
    $name = ($monitor.InstanceName -split "\#")[2]
    $serial = [System.Text.Encoding]::ASCII.GetString($monitor.SerialNumberID)
    Write-Host "Displayname: $name, Seriennummer: $serial";
}

Dieser Befehl zeigt den Namen und die Seriennummer jedes mit dem System verbundenen Displays an und hilft, jedes einzelne zu identifizieren.

Anordnung der Displays einstellen

Nachdem mehrere Displays identifiziert wurden, besteht der nächste Schritt darin, ihre Anordnung einzustellen. Obwohl Sie die Anzeigeanordnung nicht direkt mit PowerShell einstellen können, können Sie DisplaySwitch.exe verwenden, um die Anzeigeanordnung aus einem Skript zu ändern.

# Die Displays auf erweiterten Modus einstellen
Start-Process DisplaySwitch.exe -ArgumentList "/extend"

Dieser Befehl weist das System an, die verbundenen Displays im erweiterten Modus zu verwenden. Ähnlich können Sie die Optionen /clone, /internal, /external verwenden, um den Anzeigemodus zu ändern.

Individuelle Einstellungen für Auflösung und Orientierung

In einem Multi-Display-Setup möchten Sie möglicherweise die Auflösung und Orientierung individuell für jedes Display einstellen. Verwenden Sie das zuvor eingeführte Cmdlet Set-DisplayResolution und Drittanbieter-Tools zur Änderung der Bildschirmorientierung, um die Einstellungen für jedes Display anzupassen.

Die Verwaltung mehrerer Anzeigeeinstellungen beinhaltet eine genaue Identifizierung der Displays, eine angemessene Einstellung der Anordnung und die Anpassung der Auflösung und Orientierung für jedes Display nach Bedarf. Durch die Nutzung von PowerShell können diese Prozesse automatisiert werden und so einen effizienteren Arbeitsplatz schaffen.

Anwendungsbeispiel: Automatisches Ändern der Anzeigeeinstellungen beim Starten bestimmter Anwendungen

Das manuelle Anpassen der Bildschirmauflösung und -orientierung jedes Mal, wenn Sie mit einer bestimmten Anwendung arbeiten, kann mühsam sein. Dieses Anwendungsbeispiel führt eine Methode ein, um die Anzeigeeinstellungen automatisch zu ändern, wenn eine Anwendung gestartet wird, unter Verwendung von PowerShell-Skripten. In diesem Beispiel wird das Skript die Auflösung beim Start der Anwendung ändern und beim Schließen der Anwendung auf die ursprüngliche Auflösung zurücksetzen.

Übersicht über das Skript

Dieses Skript funktioniert wie folgt:

  1. Starten einer bestimmten Anwendung.
  2. Ändern der Bildschirmauflösung auf einen bestimmten Wert, wenn die Anwendung startet.
  3. Zurücksetzen auf die ursprüngliche Auflösung, sobald die Anwendung geschlossen wird.

Erstellen des Skripts

Unten ist ein Beispiel-PowerShell-Skript, das die Startung einer bestimmten Anwendung (z.B. Photoshop) erkennt, die Auflösung ändert und die Auflösung nach dem Schließen der Anwendung zurücksetzt.

# Anwendungspfad
$appPath = "C:\Program Files\Adobe\Adobe Photoshop\Photoshop.exe"
# Neue Auflösung
$newWidth = 1920
$newHeight = 1080
# Speichern der ursprünglichen Auflösung
$originalResolution = Get-DisplayResolution

# Die Anwendung starten
Start-Process $appPath

# Die Auflösung ändern
Set-DisplayResolution -Width $newWidth -Height $newHeight -Force

# Warten, bis die Anwendung geschlossen wird
$process = Get-Process | Where-Object { $_.Path -eq $appPath }
while ($process -ne $null) {
    Start-Sleep -Seconds 5
    $process = Get-Process | Where-Object { $_.Path -eq $appPath }
}

# Zur ursprünglichen Auflösung zurückkehren
Set-DisplayResolution -Width $originalResolution.Width -Height $originalResolution.Height -Force

Dieses Skript ist darauf ausgelegt, automatisch auf eine optimale Auflösung für die Arbeit mit einer spezifischen Anwendung (in diesem Beispiel Photoshop) zu wechseln und nach Abschluss der Arbeit auf die ursprünglichen Einstellungen des Benutzers zurückzukehren. Diese Methode kann die Arbeitseffizienz erheblich verbessern.

Fehlerbehebung: Häufige Probleme und Lösungen

Beim Ändern der Anzeigeeinstellungen mit PowerShell können verschiedene häufige Probleme auftreten. Dieser Abschnitt führt diese Probleme und ihre Lösungen ein.

Auflösung kann nicht geändert werden

  • Ursache: Das Ziel-Display unterstützt möglicherweise die angegebene Auflösung nicht, oder das PowerShell-Skript wird nicht mit Administratorrechten ausgeführt.
  • Lösung: Überprüfen Sie die Display-Spezifikationen und geben Sie nur unterstützte Auflösungen an. Klicken Sie auch mit der rechten Maustaste auf das Skript und wählen Sie „Als Administrator ausführen“, um es auszuführen.

Bildschirmorientierung kann nicht geändert werden

  • Ursache: Die Änderung der Bildschirmorientierung erfordert möglicherweise spezifische Tools oder Aufrufe an die Windows-API.
  • Lösung: Stellen Sie sicher, dass Sie das richtige Tool verwenden und erwägen Sie, Drittanbieter-Software oder Skripte einzuführen, die direkt die Windows-API manipulieren, falls notwendig.

Einstellungen für mehrere Displays spiegeln sich nicht wider

  • Ursache: Displays werden möglicherweise nicht korrekt identifiziert, oder es gibt Fehler bei der Verwendung von DisplaySwitch.exe.
  • Lösung: Bestätigen Sie erneut die Identifizierungsinformationen für die verbundenen Displays und stellen Sie sicher, dass das richtige Display für die Anwendung der Einstellungen ausgewählt wird. Überprüfen Sie auch die Befehlszeilenoptionen für DisplaySwitch.exe, um sicherzustellen, dass die richtigen Optionen verwendet werden.

Fazit

Das Ändern der Systemanzeigeeinstellungen mit PowerShell ist äußerst vorteilhaft, um die Arbeitseffizienz und Automatisierung zu verbessern. Dieser Artikel hat eine breite Palette von Techniken vorgestellt, von grundlegenden Änderungen der Anzeigeeinstellungen bis hin zur Verwaltung mehrerer Displays und dem automatischen Ändern von Einstellungen beim Start spezifischer Anwendungen. Auch Methoden zur Fehlerbehebung bei häufigen Problemen wurden diskutiert. Durch die Nutzung dieses Wissens können Sie einen komfortableren und effizienteren digitalen Arbeitsplatz schaffen. Nutzen Sie die leistungsstarken Funktionen von PowerShell, um Ihre täglichen Aufgaben zu optimieren.

Inhaltsverzeichnis