Get-Host
현재 호스트 프로그램을 나타내는 개체를 가져옵니다.
구문
Get-Host []
Description
Get-Host cmdlet은 Windows PowerShell을 호스팅하는 프로그램을 나타내는 개체를 가져옵니다.
기본 디스플레이에는 Windows PowerShell 버전 번호와 호스트가 사용 중인 현재 지역 및 언어 설정이 포함되지만 호스트 개체에는 현재 실행 중인 Windows PowerShell 버전과 Windows PowerShell의 현재 문화권 및 UI 문화권에 대한 자세한 정보를 포함하여 다양한 정보가 포함됩니다. 이 cmdlet을 사용하여 텍스트 및 배경색과 같은 호스트 프로그램 사용자 인터페이스의 기능을 사용자 지정할 수도 있습니다.
예제
예제 1: PowerShell 콘솔 호스트에 대한 정보 가져오기
PS C:\> Get-Host
Name : ConsoleHost
Version : 2.0
InstanceId : e4e0ab54-cc5e-4261-9117-4081f20ce7a2
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
이 명령은 이 예제에서 Windows PowerShell의 현재 호스트 프로그램인 Windows PowerShell 콘솔에 대한 정보를 표시합니다. 호스트 이름, 호스트에서 실행되는 Windows PowerShell 버전, 현재 문화권 및 UI 문화권이 포함됩니다.
버전, UI, CurrentCulture, CurrentUICulture, PrivateData 및 Runspace 속성에는 각각 매우 유용한 속성이 있는 개체가 포함됩니다. 이후 예제에서는 이러한 속성을 검사합니다.
예제 2: PowerShell 창 크기 조정
PS C:\> $H = Get-Host
PS C:\> $Win = $H.UI.RawUI.WindowSize
PS C:\> $Win.Height = 10
PS C:\> $Win.Width = 10
PS C:\> $H.UI.RawUI.Set_WindowSize($Win)
이 명령은 Windows PowerShell 창의 크기를 10픽셀 x 10픽셀로 조정합니다.
예제 3: 호스트에 대한 PowerShell 버전 가져오기
PS C:\> (Get-Host).Version | Format-List -Property *
Major : 2
Minor : 0
Build : -1
Revision : -1
MajorRevision : -1
MinorRevision : -1
이 명령은 호스트에서 실행되는 Windows PowerShell 버전에 대한 자세한 정보를 가져옵니다. 이러한 값은 볼 수 있지만 변경할 수는 없습니다.
Get-Host Version 속성에는 System.Version 개체가 포함되어 있습니다. 이 명령은 파이프라인 연산자(|)를 사용하여 버전 개체를 Format-List cmdlet으로 보냅니다. Format-List 명령은 모든 값이 있는 Property 매개 변수를 사용하여 버전 개체의 모든 속성 및 속성 값을 표시합니다.
예제 4: 호스트의 현재 문화권 가져오기
PS C:\> (Get-Host).CurrentCulture | Format-List -Property *
Parent : en
LCID : 1033
KeyboardLayoutId : 1033
Name : en-US
IetfLanguageTag : en-US
DisplayName : English (United States)
NativeName : English (United States)
EnglishName : English (United States)
TwoLetterISOLanguageName : en
ThreeLetterISOLanguageName : eng
ThreeLetterWindowsLanguageName : ENU
CompareInfo : CompareInfo - 1033
TextInfo : TextInfo - 1033
IsNeutralCulture : False
CultureTypes : SpecificCultures, InstalledWin32Cultures, FrameworkCultures
NumberFormat : System.Globalization.NumberFormatInfo
DateTimeFormat : System.Globalization.DateTimeFormatInfo
Calendar : System.Globalization.GregorianCalendar
OptionalCalendars : {System.Globalization.GregorianCalendar, System.Globalization.GregorianCalendar}
UseUserOverride : True
IsReadOnly : False
이 명령은 호스트에서 실행되는 Windows PowerShell에 대한 현재 문화권 집합에 대한 자세한 정보를 가져옵니다. 이는 Get-Culture cmdlet에서 반환하는 것과 동일한 정보입니다.
마찬가지로 CurrentUICulture 속성은 Get-UICulture 반환하는 것과 동일한 개체를 반환합니다.
호스트 개체의 CurrentCulture 속성에는 System.Globalization.CultureInfo 개체가 포함되어 있습니다. 이 명령은 파이프라인 연산자(|)를 사용하여 CultureInfo 개체를 Format-List cmdlet으로 보냅니다. Format-List 명령은 값이 모두(*)인 Property 매개 변수를 사용하여 CultureInfo 개체의 모든 속성 및 속성 값을 표시합니다.
예제 5: 현재 문화권에 대한 DateTimeFormat 가져오기
PS C:\> (Get-Host).CurrentCulture.DateTimeFormat | Format-List -Property *
AMDesignator : AM
Calendar : System.Globalization.GregorianCalendar
DateSeparator : /
FirstDayOfWeek : Sunday
CalendarWeekRule : FirstDay
FullDateTimePattern : dddd, MMMM dd, yyyy h:mm:ss tt
LongDatePattern : dddd, MMMM dd, yyyy
LongTimePattern : h:mm:ss tt
MonthDayPattern : MMMM dd
PMDesignator : PM
RFC1123Pattern : ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
ShortDatePattern : M/d/yyyy
ShortTimePattern : h:mm tt
SortableDateTimePattern : yyyy'-'MM'-'dd'T'HH':'mm':'ss
TimeSeparator : :
UniversalSortableDateTimePattern : yyyy'-'MM'-'dd HH':'mm':'ss'Z'
YearMonthPattern : MMMM, yyyy
AbbreviatedDayNames : {Sun, Mon, Tue, Wed...}
ShortestDayNames : {Su, Mo, Tu, We...}
DayNames : {Sunday, Monday, Tuesday, Wednesday...}
AbbreviatedMonthNames : {Jan, Feb, Mar, Apr...}
MonthNames : {January, February, March, April...}
IsReadOnly : False
NativeCalendarName : Gregorian Calendar
AbbreviatedMonthGenitiveNames : {Jan, Feb, Mar, Apr...}
MonthGenitiveNames : {January, February, March, April...}
이 명령은 Windows PowerShell에 사용되는 현재 문화권의 DateTimeFormat에 대한 자세한 정보를 반환합니다.
호스트 개체의 CurrentCulture 속성에는 여러 가지 유용한 속성이 있는 CultureInfo 개체가 포함되어 있습니다. 그 중 DateTimeFormat 속성에는 많은 유용한 속성이 있는 DateTimeFormatInfo 개체가 포함됩니다.
개체 속성에 저장된 개체의 형식을 찾으려면 Get-Member cmdlet을 사용합니다. 개체의 속성 값을 표시하려면 Format-List cmdlet을 사용합니다.
예제 6: 호스트에 대한 RawUI 속성 가져오기
PS C:\> (Get-Host).UI.RawUI | Format-List -Property *
ForegroundColor : DarkYellow
BackgroundColor : DarkBlue
CursorPosition : 0,390
WindowPosition : 0,341
CursorSize : 25
BufferSize : 120,3000
WindowSize : 120,50
MaxWindowSize : 120,81
MaxPhysicalWindowSize : 182,81
KeyAvailable : False
WindowTitle : Windows PowerShell 2.0 (04/11/2008 00:08:14)
이 명령은 호스트 개체의 RawUI 속성의 속성을 표시합니다. 이러한 값을 변경하여 호스트 프로그램의 모양을 변경할 수 있습니다.
예제 7: PowerShell 콘솔의 배경색 설정
PS C:\> (Get-Host).UI.RawUI.BackgroundColor = "Black"
PS C:\> cls
이러한 명령은 Windows PowerShell 콘솔의 배경색을 검은색으로 변경합니다. cls 명령은 화면을 지우고 전체 화면을 새 색으로 변경하는 Clear-Host 함수의 별칭입니다.
이 변경 내용은 현재 세션에서만 적용됩니다. 모든 세션에 대한 콘솔의 배경색을 변경하려면 Windows PowerShell 프로필에 명령을 추가합니다.
예제 8: 오류 메시지의 배경색 설정
PS C:\> $Host.PrivateData.ErrorBackgroundColor = "white"
이 명령은 오류 메시지의 배경색을 흰색으로 변경합니다.
이 명령은 현재 호스트 프로그램의 호스트 개체를 포함하는 $Host 자동 변수를 사용합니다. Get-Host $Host 포함하는 것과 동일한 개체를 반환하므로 서로 바꿔 사용할 수 있습니다.
이 명령은 $Host PrivateData 속성을 ErrorBackgroundColor 속성으로 사용합니다.
$Host.PrivateData 속성에서 개체의 모든 속성을 보려면 $host.privatedata | format-list *
입력합니다.
입력
None
이 cmdlet에 입력을 파이프할 수 없습니다.
출력
System.Management.Automation.Internal.Host.InternalHost
Get-HostSystem.Management.Automation.Internal.Host.InternalHost 개체를 반환합니다.
참고
$Host 자동 변수는 Get-Host 반환할
동일한 개체를 포함하며 동일한 방식으로 사용할 수 있습니다. 마찬가지로 $PSCulture 및 $PSUICulture 자동 변수에는 CurrentCulture 및 호스트 개체의 CurrentUICulture 속성에 포함된 것과 동일한 개체가 포함됩니다. 이러한 기능을 서로 교환하여 사용할 수 있습니다. 자세한 내용은 about_Automatic_Variables 참조하세요.