Powershell 창을 사용 할 때 가끔 폭이 너무 작아 불편 할 때가 있다. Height는 창을 늘리면 늘어 나지만 Width는 특정 크기 이상 최대화를 해도 늘어 나지 않는다. Property가 많은 개체를 열어 보거나 긴 text line을 봐야 하는 경우 갑갑 하기도 하다.
이때는 $Host.UI.RawUI.WindowSize 값을 조절 해 줌으로써 넓은 화면을 사용 할 수 있다.
단 변경할때 $Host.UI.RawUI.BufferSize 도 함께 조절 해야 실제 창에 맞게 text 가 표시 됨을 명심하고 특히 ‘Buffer Width는 Window Width 보다 같거나 커야 한다’ 라는 규칙만 주의 하여 조절 하자.
아래 스크립트는 -WidthPersent Parameter로 지정된 폭으로 창으로 확장 하거나. 값을 입력하지 않을 때 창 크기를 최대화 한다.
Set-WindowSize
function Set-WindowSize { param ($WidthPercent) if ($WidthPercent -gt 100) { $WidthPercent = 100 } $WindowSize = $Host.UI.RawUI.WindowSize $BufferSize = $Host.UI.RawUI.BufferSize $CurrentWindowWidth = $WindowSize.Width $Width = $Host.UI.RawUI.MaxPhysicalWindowSize.Width if ($WidthPercent -ne $null) { $Width = $Width * $WidthPercent / 100 } else { $WindowSize.Height = $Host.UI.RawUI.MaxPhysicalWindowSize.Height } $WindowSize.Width = $Width $BufferSize.Width = $Width if ($CurrentWindowWidth -gt $WindowSize.Width) { $Host.UI.RawUI.WindowSize = $WindowSize $Host.UI.RawUI.BufferSize = $BufferSize } else { $Host.UI.RawUI.BufferSize = $BufferSize $Host.UI.RawUI.WindowSize = $WindowSize } }
$Host.UI.RawUI.MaxPhysicalWindowSize 또는 $Host.UI.RawUI.MaxWindowSize 값으로 현재 위치에서의 최대 창 크기를 파악 할 수 있다.