Get-Host
Получает объект, представляющий текущую основную программу.
Синтаксис
Get-Host []
Описание
Командлет Get-Host
получает объект, представляющий программу, в которой размещена Windows PowerShell.
По умолчанию отображается номер версии Windows PowerShell, а также текущие языковые и региональные параметры основной программы. В то же время объект основной программы содержит и другую информацию, включая подробные сведения о версии запущенной оболочки Windows PowerShell, а также текущих региональных параметрах и региональных параметрах пользовательского интерфейса Windows PowerShell. Кроме того, с помощью этого командлета можно настроить пользовательский интерфейс основной программы, например, цвет текста и фона.
Примеры
Пример 1. Получение сведений о узле консоли PowerShell
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
Эта команда отображает сведения о консоли PowerShell, которая является текущей программой узла для PowerShell в этом примере. Он включает имя узла, версию PowerShell, которая выполняется в узле, а также текущий язык и региональные параметры и региональные параметры пользовательского интерфейса.
Свойства Version, UI, CurrentCulture, CurrentUICulture, PrivateData и Runspace содержат объект с другими полезными свойствами. Эти свойства будут рассмотрены в следующих примерах.
Пример 2. Изменение размера окна PowerShell
$H = Get-Host
$Win = $H.UI.RawUI.WindowSize
$Win.Height = 10
$Win.Width = 10
$H.UI.RawUI.Set_WindowSize($Win)
Эта команда изменяет размер окна Windows PowerShell до 10 строк на 10 символов.
Пример 3. Получение версии PowerShell для узла
(Get-Host).Version
Major Minor Build Revision
----- ----- ----- --------
5 1 22621 963
Эта команда получает подробные сведения о версии Windows PowerShell, запущенной в основной программе. Эти значения можно просматривать, но нельзя изменять.
Свойство Get-Host
Version содержит объект System.Version . Эта команда использует оператор конвейера (|
) для отправки объекта версии командлету Format-List
. Команда Format-List
использует параметр Property со значением всех (*
) для отображения всех свойств и значений свойств объекта версии.
Пример 4. Получение текущего языка и региональных параметров для узла
(Get-Host).CurrentCulture | Format-List
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 - en-US
TextInfo : TextInfo - en-US
IsNeutralCulture : False
CultureTypes : SpecificCultures, InstalledWin32Cultures
NumberFormat : System.Globalization.NumberFormatInfo
DateTimeFormat : System.Globalization.DateTimeFormatInfo
Calendar : System.Globalization.GregorianCalendar
OptionalCalendars : {System.Globalization.GregorianCalendar}
UseUserOverride : True
IsReadOnly : True
Эта команда получает подробные сведения о текущих региональных параметрах оболочки Windows PowerShell, запущенной в основной программе. Это те же сведения, которые возвращаются командлетом Get-Culture
.
Аналогичным образом свойство CurrentUICulture возвращает тот же объект, который Get-UICulture
возвращается.
Свойство CurrentCulture объекта узла содержит объект System.Globalization.CultureInfo . Эта команда использует оператор конвейера (|
) для отправки объекта CultureInfo командлету Format-List
. Команда Format-List
использует параметр Property со значением всех (*
) для отображения всех свойств и значений свойств объекта CultureInfo.
Пример 5. Получение DateTimeFormat для текущего языка и региональных параметров
(Get-Host).CurrentCulture.DateTimeFormat | Format-List
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...}
Эта команда возвращает подробные сведения о формате даты и времени текущих региональных параметров (DateTimeFormat), которые используются в Windows PowerShell.
Свойство CurrentCulture объекта узла содержит объект CultureInfo , который, в свою очередь, имеет множество полезных свойств. Среди них свойство DateTimeFormat содержит объект DateTimeFormatInfo со многими полезными свойствами.
Чтобы найти тип объекта, хранящегося в свойстве объекта, используйте Get-Member
командлет. Чтобы отобразить значения свойств объекта, используйте Format-List
командлет.
Пример 6. Получение свойства RawUI для узла
Эта команда отображает свойства свойства RawUI объекта узла. Изменение этих значений позволяет изменить внешний вид окна основной программы.
(Get-Host).UI.RawUI
ForegroundColor : Gray
BackgroundColor : Black
CursorPosition : 0,28
WindowPosition : 0,0
CursorSize : 25
BufferSize : 120,29
WindowSize : 120,29
MaxWindowSize : 120,29
MaxPhysicalWindowSize : 1904,69
KeyAvailable : True
WindowTitle : PowerShell 7.3.3
Пример 7. Настройка цвета фона для консоли PowerShell
Эти команды изменяют цвет фона консоли Windows PowerShell на черный. Команда Clear-Host
очищает экран, чтобы сбросить окно консоли на новый цвет.
(Get-Host).UI.RawUI.BackgroundColor = "Black"
Clear-Host
Это изменение действует только в текущем сеансе. Чтобы изменить цвет фона консоли для всех сеансов, добавьте команду в профиль PowerShell.
Пример 8. Настройка цвета фона для сообщений об ошибках
$Host.PrivateData.ErrorBackgroundColor = "white"
Эта команда изменяет цвет фона сообщений об ошибках на белый.
Эта команда использует $Host
автоматическую переменную, содержащую объект узла для текущей программы узла. Get-Host
возвращает тот же объект, который $Host
содержит, поэтому их можно использовать взаимозаменяемо.
Эта команда использует свойство $Host
PrivateData в качестве свойства ErrorBackgroundColor. Чтобы просмотреть все свойства объекта в объекте $Host
. Свойство PrivateData, тип $host.PrivateData | format-list *
.
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
System.Management.Automation.Internal.Host.InternalHost
Этот командлет возвращает объект InternalHost .
Примечания
Автоматическая $Host
переменная содержит тот же объект, который Get-Host
возвращается, и его можно использовать так же. Аналогичным образом, $PSCulture
переменные и $PSUICulture
автоматически содержат те же объекты, что свойства CurrentCulture и CurrentUICulture объекта узла. Эти функции можно использовать на равных основаниях.
Дополнительные сведения см. в статье about_Automatic_Variables.
Связанные ссылки
PowerShell