PowerShell을 사용하여 시스템 디스플레이 설정 변경하기

PowerShell은 Windows 시스템 관리자와 최종 사용자 모두에게 매우 강력한 도구입니다. 특히 시스템 디스플레이 설정을 변경하는 경우, GUI 대신 PowerShell 명령어를 사용하면 시간을 절약하고 자동화 스크립트를 만들 수 있습니다. 이 글은 PowerShell을 통해 디스플레이 해상도와 방향과 같은 기본 설정을 변경하는 방법을 자세히 설명하여 시스템 환경을 보다 효율적이고 빠르게 사용자화할 수 있도록 도와줍니다.

목차

디스플레이 설정의 기초

PowerShell로 디스플레이 설정을 변경하기 전에, 사용 가능한 명령어와 그 기본 사용법을 이해하는 것이 중요합니다. Windows 시스템에서는 ‘Get-DisplayResolution’ 및 ‘Set-DisplayResolution’ cmdlet이 주로 디스플레이 해상도를 확인하고 설정하는 데 사용됩니다.

해상도 확인하기

현재 디스플레이 해상도를 확인하려면 다음 명령어를 사용합니다.

Get-DisplayResolution

이 명령어는 시스템에 연결된 모든 디스플레이의 현재 해상도를 나열합니다.

해상도 설정하기

특정 해상도로 변경하려면 ‘Set-DisplayResolution’ cmdlet을 사용하고 원하는 해상도를 지정합니다. 예를 들어, 해상도를 1920×1080으로 설정하려면 다음을 실행합니다.

Set-DisplayResolution -Width 1920 -Height 1080

이 명령어는 시스템의 디스플레이 해상도를 지정된 값으로 변경합니다. 하지만, 이 명령어를 사용하려면 관리자 권한이 필요합니다.

디스플레이 방향 변경하기

디스플레이 방향을 변경하려면 추가 도구나 스크립트가 필요할 수 있지만, 일반적으로 ‘DisplaySettings’나 제3자 도구를 사용합니다.

PowerShell로 디스플레이 설정을 변경하는 것은 이러한 기본 명령어로 시작합니다. 이 명령어를 활용하여 해상도와 디스플레이 방향과 같은 다양한 설정을 자유롭게 조작할 수 있습니다. 다음 섹션에서는 이러한 설정을 구체적으로 변경하는 방법을 자세히 설명합니다.

해상도 변경 방법

PowerShell을 사용하여 디스플레이 해상도를 변경하는 것은 시스템 사용자화 및 자동화 스크립트 생성에 매우 유용합니다. 여기에서는 스크립트를 사용하여 해상도를 변경하는 단계를 구체적으로 설명합니다.

스크립트로 해상도 설정하기

먼저, 해상도를 변경하는 스크립트를 생성합니다. 이 스크립트는 Set-DisplayResolution cmdlet을 사용하여 시스템의 디스플레이를 지정된 해상도로 설정합니다. 아래는 해상도를 1920×1080으로 설정하는 샘플 스크립트입니다.

# 해상도를 1920x1080으로 설정하는 PowerShell 스크립트
try {
    # 관리자 권한으로 실행 중인지 확인
    $currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
    $windowsPrincipal = New-Object Security.Principal.WindowsPrincipal($currentUser)
    $adminRole = [

Security.Principal.WindowsBuiltInRole]::Administrator

    if ($windowsPrincipal.IsInRole($adminRole)) {
        # 해상도 설정
        Set-DisplayResolution -Width 1920 -Height 1080 -Force
        Write-Host "해상도가 1920x1080으로 설정되었습니다.";
    } else {
        Write-Host "이 스크립트를 실행하려면 관리자 권한이 필요합니다.";
    }
} catch {
    Write-Error "해상도 설정 중 오류가 발생했습니다: $_";
}

이 스크립트는 먼저 현재 사용자가 관리자 권한을 가지고 있는지 확인하고, 그렇다면 해상도를 변경합니다. -Force 매개변수는 사용자 확인 없이 해상도 변경을 강제합니다.

스크립트 실행 방법

스크립트를 생성한 후, 관리자 모드에서 PowerShell을 열고 스크립트가 저장된 디렉토리로 이동한 다음 스크립트를 실행합니다. 다음 명령어를 사용하여 스크립트를 실행할 수 있습니다.

.\ChangeResolution.ps1

스크립트가 성공적으로 실행되면 “해상도가 1920×1080으로 설정되었습니다.”라는 메시지가 표시되고 시스템의 디스플레이 해상도가 지정된 값으로 변경됩니다. 해상도 변경에 실패한 경우 오류 메시지가 표시됩니다.

이 방법을 사용하면 특정 해상도 설정 간에 쉽게 전환할 수 있어 워크플로우 자동화 및 시스템 설정의 신속한 변경을 가능하게 합니다.

디스플레이 방향 조정하기

PowerShell을 사용하여 디스플레이 방향을 조정하는 것은 여러 모니터를 사용하는 환경이나 특정 작업을 위해 특히 유용합니다. 이 섹션에서는 PowerShell을 사용하여 디스플레이 방향을 가로에서 세로로 또는 그 반대로 변경하는 방법을 설명합니다.

불행히도 PowerShell의 표준 cmdlet은 디스플레이 방향을 직접 변경하는 기능을 제공하지 않습니다. 그러나 제3자 도구나 Windows API를 호출하는 스크립트를 생성함으로써 이 작업을 수행할 수 있습니다.

DisplaySettings 사용하기

한 가지 방법은 DisplaySettings라는 제3자 명령줄 도구를 사용하는 것입니다. 이 도구는 명령줄이나 스크립트에서 직접 디스플레이 방향을 제어할 수 있게 합니다.

DisplaySettings의 기본 사용법

먼저, 시스템에 DisplaySettings를 다운로드하여 설치합니다. 그런 다음, 다음 명령어를 실행하여 디스플레이 방향을 변경할 수 있습니다.

DisplaySettings /setorientation:portrait

이 명령어는 디스플레이 방향을 세로로 설정합니다. 마찬가지로, /setorientation:landscape 옵션을 사용하여 가로로 변경할 수 있습니다.

Windows API를 사용한 스크립트

다른 방법으로는 Windows API를 직접 호출하는 스크립트를 생성하는 것입니다. 이 접근법은 더 고급 지식을 요구하지만, 더 유연한 제어를 가능하게 합니다.

# 예제: Windows API를 사용하여 디스플레이 방향을 변경하는 개념적 스크립트
# 주의: 이 코드는 개념적이며 그대로 사용할 수 없습니다.
Add-Type -TypeDefinition @"
using

 System;
using System.Runtime.InteropServices;

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

# 디스플레이 방향 설정을 위한 특정 API 호출
# Display.SetDisplayConfig(...);

따라서 PowerShell을 사용하여 디스플레이 방향을 조정하는 여러 가지 방법이 있습니다. 작업 환경과 목표에 따라 가장 적합한 방법을 선택하세요.

여러 디스플레이 설정 관리하기

현대 직장에서 여러 디스플레이를 사용하는 것은 일반적이며, 각 디스플레이의 설정을 효율적으로 구성하는 것은 효과적인 작업 공간을 위해 필수적입니다. 이 섹션에서는 PowerShell을 사용하여 여러 디스플레이 설정을 관리하는 방법을 소개합니다.

여러 디스플레이 식별하기

첫 번째 단계는 여러 디스플레이를 정확하게 식별하는 것입니다. PowerShell을 사용하면 Get-WmiObject cmdlet을 사용하여 시스템에 연결된 디스플레이에 대한 정보를 검색할 수 있습니다.

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 "디스플레이 이름: $name, 일련 번호: $serial";
}

이 명령어는 시스템에 연결된 각 디스플레이의 이름과 일련 번호를 표시하여 각각을 식별하는 데 도움을 줍니다.

디스플레이 배열 설정하기

여러 디스플레이가 식별되면 다음 단계는 그들의 배열을 설정하는 것입니다. PowerShell로 직접 디스플레이 배열을 설정할 수는 없지만, 스크립트에서 DisplaySwitch.exe를 사용하여 디스플레이 배열을 변경할 수 있습니다.

# 디스플레이를 확장 모드로 설정
Start-Process DisplaySwitch.exe -ArgumentList "/extend"

이 명령어는 연결된 디스플레이를 확장 모드로 사용하도록 시스템에 지시합니다. 마찬가지로, /clone, /internal, /external 옵션을 사용하여 디스플레이 모드를 변경할 수 있습니다.

해상도 및 방향을 개별적으로 설정하기

멀티 디스플레이 설정에서 각 디스플레이의 해상도와 방향을 개별적으로 설정하려면 이전에 소개된 Set-DisplayResolution cmdlet과 디스플레이 방향을 변경하기 위한 제3자 도구를 사용하여 각 디스플레이의 설정을 사용자화할 수 있습니다.

여러 디스플레이 설정을 관리하는 것은 정확한 디스플레이 식별, 적절한 배열 설정, 그리고 필요에 따라 각 디스플레이의 해상도와 방향을 조정하는 것을 포함합니다. PowerShell을 활용함으로써, 이러한 과정을 자동화하여 보다 효율적인 작업 환경을 구축할 수 있습니다.

응용 예제: 특정 응용 프로그램을 실행할 때 디스플레이 설정 자동 변경

특정 응용 프로그램으로 작업할 때마다 수동으로 디스플레이 해상도와 방향을 조정하는 것은 번거로울 수 있습니다. 이 응용 예제에서는 PowerShell 스크립트를 사용하여 응용 프로그램이 시작될 때 디스플레이 설정을 자동으로 변경하는 방법을 소개합니다. 이 예제에서는 응용 프로그램이 시작될 때 해상도를 변경하고 응용 프로그램이 닫히면 원래 해상도로 되돌리는 스크립트입니다.

스크립트 개요

이 스크립트는 다음과 같이 작동합니다:

  1. 특정 응용 프로그램을 실행합니다.
  2. 응용 프로그램이 시작될 때 해상도를 지정된 값으로 변경합니다.
  3. 응용 프로그램이 닫히면 원래 해상도로 되돌립니다.

스크립트 생성하기

아래는 지정된 응용 프로그램(예: Photoshop)이 실행될 때 해상도를 변경하고 응용 프로그램이 닫힌 후 해상도를 원래대로 되돌리는 샘플 PowerShell 스크립트입니다.

# 응용 프로그램 경로
$appPath = "C:\Program Files\Adobe\Adobe Photoshop\Photoshop.exe"
# 새 해상도
$newWidth = 1920
$newHeight = 1080
# 원래 해상도 저장
$originalResolution = Get-DisplayResolution

# 응용 프로그램 실행
Start-Process $appPath

# 해상도 변경
Set-DisplayResolution -Width $newWidth -Height $newHeight -Force

# 응용 프로그램이 닫힐 때까지 대기
$process = Get-Process | Where-Object { $_.Path -eq $appPath }
while ($process -ne $null) {
    Start-Sleep -Seconds 5
    $process = Get-Process | Where-Object { $_.Path -eq $appPath }
}

# 원래 해상도로 되돌림
Set-DisplayResolution -Width $originalResolution.Width -Height $originalResolution.Height -Force

이 스크립트는 특정 응용 프로그램(이 예제에서는 Photoshop)으로 작업할 때 최적의 해상도로 자동 변경하고 작업이 완료된 후 사용자의 원래 설정으로 되돌리는 것을 목표로 합니다. 이 방법은 작업 효율을 크게 향상시킬 수 있습니다.

문제 해결: 일반적인 문제 및 해결책

PowerShell을 사용하여 디스플레이 설정을 변경할 때 몇 가지 일반적인 문제가 발생할 수 있습니다. 이 섹션에서는 그러한 문제와 해결책을 소개합니다.

해상도 변경 불가

  • 원인: 대상 디스플레이가 지정된 해상도를 지원하지 않거나 PowerShell 스크립트가 관리자 권한으로 실행되지 않는 경우입니다.
  • 해결책: 디스플레이 사양을 확인하고 지원되는 해상도만 지정하세요. 또한, 스크립트를 마우스 오른쪽 버튼으로 클릭하고 “관리자로 실행”을 선택하여 실행하세요.

디스플레이 방향 변경 불가

  • 원인: 디스플레이 방향을 변경하려면 특정 도구나 Windows API 호출이 필요할 수 있습니다.
  • 해결책: 올바른 도구를 사용하고 있는지 확인하고 필요한 경우 Windows API를 직접 조작하는 제3자 소프트웨어나 스크립트를 도입하세요.

여러 디스플레이 설정이 반영되지 않음

  • 원인: 디스플레이가 올바르게 식별되지 않거나 DisplaySwitch.exe 사용에 오류가 있을 수 있습니다.
  • 해결책: 연결된 디스플레이의 식별 정보를 다시 확인하고 설정을 적용할 올바른 디스플레이를 대상으로 하고 있는지 확인하세요. 또한, DisplaySwitch.exe의 명령줄 옵션을 검토하여 올바른 옵션이 사용되고 있는지 확인하세요.

결론

PowerShell을 사용하여 시스템 디스플레이 설정을 변경하는 것은 작업 효율성과 자동화를 향상시키는 데 매우 유익합니다. 이 글에서는 기본 디스플레이 설정 변경부터 여러 디스플레이 관리, 특정 응용 프로그램 실행 시 설정 자동 변경에 이르기까지 다양한 기술을 소개했습니다. 일반적인 문제에 대한 문제 해결 방법도 논의되었습니다. 이 지식을 활용하여 보다 편안하고 효율적인 디지털 작업 공간을 구축하세요. 일상적인 작업을 간소화하기 위해 PowerShell의 강력한 기능을 최대한 활용하세요.

목차