Primären Monitor (Hauptanzeige) einstellen und überprüfen
Hat man mehrere Monitore, dann hat man die Möglichkeit (auch) unter Windows 11 den primären und den sekundären Monitor einstellen. Auf dem primären (Hauptanzeige) wird immer die Taskleiste angezeigt, die dann auf die anderen Monitore erweitert werden kann.
Dieses Tutorial ist für die Windows 11 22H2 und höher geeignet.
- Windows 11 News im Blog - Windows 11 neu clean installieren Tipps und Tricks
- Windows 11 auch ohne TPM und Secure Boot installieren (Interessant für ältere CPUs bzw. PCs)
- Windows 11 Inplace Upgrade Reparatur oder Feature Update - Abgesicherter Modus Windows 11 Verschiedene Start-Varianten
- Windows 11 Patchday (Sicherheitsupdate des Monats)
- Win 11 25H2 / 24H2: 14.04.2026 KB5083769 26200.8246 / 26100.8246
- Win 11 26H1 14.04.2026 KB5083768 28000.1836
- Windows 11 ISO Retail : 24H2 (26100), 25H2 (26200), 26H1 28000
- Windows 11 ISO Insider Beta / Experimental: 25H2 26220 | 26H2 26300 | 26H1 28020 und 29576

In den Einstellungen -> System -> Bildschirm kommt man an die Einstellungen für den Monitor. Im oberen Fenster könnt ihr mit gedrückter linker Maustaste die Monitore wechseln. Somit braucht ihr nicht die Kabel neu stecken. Windows erkennt dann (wie im Bild zu sehen) den zweiten als Hauptmonitor.

Ist der Hauptmonitor eingestellt, wird der Eintrag "Diese Anzeige als Hauptanzeige verwenden" grau hinterlegt. Möchte man den Hauptmonitor ändern, so muss man den anderen Monitor auswählen (anklicken)

Dort ist dann die Möglichkeit gegeben den anderen als Hauptmonitor einzustellen. Danach wird dann dieser Eintrag grau hinterlegt sein.
Monitore identifizieren mit einem PowerShell-Skript
Möchte man nicht in die Einstellungen, dann kann man auch ein PowerShell-Skript nehmen, welches Jürgen Klein uns zur Verfügung gestellt hat. Das Skript zeigt an, welcher Monitor der primäre ist und welche die dann folgenden sekundären Monitore.
chcp 65001 > $null
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$ordered = [System.Windows.Forms.Screen]::AllScreens |
Sort-Object @{Expression = {$_.Primary}; Descending = $true}, @{Expression = {$_.WorkingArea.Left}}, @{Expression = {$_.WorkingArea.Top}}
$forms = @()
$monitorCount = 1
# ApplicationContext für zentrale Steuerung der Message-Loop
$context = New-Object System.Windows.Forms.ApplicationContext
foreach ($screen in $ordered) {
$form = New-Object System.Windows.Forms.Form
$form.StartPosition = 'Manual'
$form.FormBorderStyle = 'None'
$form.BackColor = 'Black'
$form.Opacity = 0.65
$form.Size = New-Object System.Drawing.Size(400,300)
$x = $screen.WorkingArea.Left + [int](($screen.WorkingArea.Width - $form.Width)/2)
$y = $screen.WorkingArea.Top + [int](($screen.WorkingArea.Height - $form.Height)/2)
$form.Location = New-Object System.Drawing.Point($x, $y)
$form.TopMost = $true
# Suffix vorher bestimmen (kompatibel mit PS 5.1)
switch ($monitorCount) {
1 { $suffix = ' (Primär)' }
2 { $suffix = ' (Sekundär)' }
3 { $suffix = ' (Tertiär)' }
4 { $suffix = ' (Quartär)' }
5 { $suffix = ' (Quinär)' }
6 { $suffix = ' (Senär)' }
7 { $suffix = ' (Septenär)' }
8 { $suffix = ' (Octonär)' }
9 { $suffix = ' (Nonär)' }
10 { $suffix = ' (Denär)' }
default { $suffix = '' }
}
$label = New-Object System.Windows.Forms.Label
$label.Text = "Monitor $monitorCount $suffix"
$label.ForeColor = 'White'
$label.Font = New-Object System.Drawing.Font('Segoe UI', 36, [System.Drawing.FontStyle]::Bold)
$label.AutoSize = $false
$label.Dock = 'Fill'
$label.TextAlign = 'MiddleCenter'
$form.Controls.Add($label)
$forms += $form
$monitorCount++
}
# Timer schließt alle Formulare gleichzeitig nach Intervall (ms)
$closeInterval = 3000
$timer = New-Object System.Windows.Forms.Timer
$timer.Interval = $closeInterval
$timer.Add_Tick({
$timer.Stop()
foreach ($f in $forms) { if ($f -and -not $f.IsDisposed) { $f.Close() } }
$context.ExitThread()
})
$timer.Start()
# Alle Formulare sichtbar machen (gleichzeitig) und Message-Loop starten
foreach ($f in $forms) { $f.Show() }
[System.Windows.Forms.Application]::Run($context)
Das Skript kann in eine Textdatei kopiert und als Identify_Monitors_middle_SONDER.ps1 abgespeichert werden. Mögliche Formate sind UTF-8, UTF-8 mit BOM, UTF-16 LB, UTF-16 LE oder ANSI.
Das Skript muss dann per Rechtsklick mit PowerShell ausgeführt werden.
Wir haben es einmal fertig gepackt als identify-monitors-middle-sonder.zip zum Herunterladen bereitgestellt.
Fragen zu Windows 11?
Du hast Fragen oder benötigst Hilfe? Dann nutze bitte unser Forum und nicht die Tipp-Box! Auch Gäste (ohne Registrierung) können bei uns Fragen stellen oder Fragen beantworten. - Link zum Forum | Forum Windows 11
| Neue und interessante Tutorials für Windows 11 |
|
|
|
|