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 스크립트를 사용하여 응용 프로그램이 시작될 때 디스플레이 설정을 자동으로 변경하는 방법을 소개합니다. 이 예제에서는 응용 프로그램이 시작될 때 해상도를 변경하고 응용 프로그램이 닫히면 원래 해상도로 되돌리는 스크립트입니다.
스크립트 개요
이 스크립트는 다음과 같이 작동합니다:
- 특정 응용 프로그램을 실행합니다.
- 응용 프로그램이 시작될 때 해상도를 지정된 값으로 변경합니다.
- 응용 프로그램이 닫히면 원래 해상도로 되돌립니다.
스크립트 생성하기
아래는 지정된 응용 프로그램(예: 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의 강력한 기능을 최대한 활용하세요.