Get-Host

Obtém um objeto que representa o programa host atual.

Syntax

Get-Host []

Description

O Get-Host cmdlet obtém um objeto que representa o programa que está hospedando o Windows PowerShell.

A exibição padrão inclui o número da versão do Windows PowerShell e a região e as configurações de idioma atuais usadas pelo host, mas o objeto de host contém uma grande quantidade de informações, inclusive informações detalhadas sobre a versão do Windows PowerShell que está sendo executada e a cultura atual e a cultura da interface do usuário do Windows PowerShell. Você também pode usar esse cmdlet para personalizar os recursos da interface de usuário do programa host, como as cores de plano de fundo e texto.

Exemplos

Exemplo 1: Obter informações sobre o host do console do 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

Este comando exibe informações sobre o console do PowerShell, que é o programa host atual do PowerShell neste exemplo. Ele inclui o nome do host, a versão do PowerShell que está sendo executada no host e a cultura atual e a cultura da interface do usuário.

As propriedades Version, UI, CurrentCulture, CurrentUICulture, PrivateData e Runspace contêm um objeto com outras propriedades úteis. Exemplos posteriores examinam essas propriedades.

Exemplo 2: Redimensionar a janela do PowerShell

$H = Get-Host
$Win = $H.UI.RawUI.WindowSize
$Win.Height = 10
$Win.Width  = 10
$H.UI.RawUI.Set_WindowSize($Win)

Esse comando redimensiona a janela do Windows PowerShell para 10 linhas por 10 caracteres.

Exemplo 3: Obter a versão do PowerShell para o host

(Get-Host).Version

Major  Minor  Build  Revision PSSemVerPreReleaseLabel    PSSemVerBuildLabel
-----  -----  -----  -------- -----------------------    ------------------
7      4      0      -1       preview.1

Este comando obtém informações detalhadas sobre a versão do Windows PowerShell em execução no host. Você pode exibir, mas não alterar, esses valores.

A propriedade Version de Get-Host contém um objeto System.Version . Esse comando usa um operador de pipeline (|) para enviar o objeto version para o Format-List cmdlet. O Format-List comando usa o parâmetro Property com um valor de all (*) para exibir todas as propriedades e valores de propriedade do objeto version.

Exemplo 4: Obter a cultura atual para o host

(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

Este comando obtém informações detalhadas sobre a cultura atual definida para o Windows PowerShell em execução no host. Essas são as mesmas informações retornadas pelo Get-Culture cmdlet.

Da mesma forma, a propriedade CurrentUICulture retorna o mesmo objeto que Get-UICulture retorna.

A propriedade CurrentCulture do objeto host contém um objeto System.Globalization.CultureInfo . Esse comando usa um operador de pipeline (|) para enviar o objeto CultureInfo para o Format-List cmdlet. O Format-List comando usa o parâmetro Property com um valor de all (*) para exibir todas as propriedades e valores de propriedade do objeto CultureInfo .

Exemplo 5: Obter o DateTimeFormat para a cultura atual

(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...}

Este comando retorna informações detalhadas sobre o DateTimeFormat da cultura atual que está sendo usada para o Windows PowerShell.

A propriedade CurrentCulture do objeto host contém um objeto CultureInfo que, por sua vez, tem muitas propriedades úteis. Entre eles, a propriedade DateTimeFormat contém um objeto DateTimeFormatInfo com muitas propriedades úteis.

Para localizar o tipo de objeto armazenado em uma propriedade de objeto, use o Get-Member cmdlet. Para exibir os valores de propriedade do objeto, use o Format-List cmdlet.

Exemplo 6: Obter a propriedade RawUI para o host

Esse comando exibe as propriedades da propriedade RawUI do objeto host. Ao alterar esses valores, você pode alterar a aparência do programa host.

(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

Observação

Em plataformas que não sejam Windows, ForegroundColor e BackgroundColor têm como padrão -1 porque não há uma maneira consistente de obtê-los em plataformas que não sejam Windows.

Entradas

None

Não é possível canalizar objetos para esse cmdlet.

Saídas

System.Management.Automation.Internal.Host.InternalHost

Esse cmdlet retorna um objeto InternalHost .

Observações

A $Host variável automática contém o mesmo objeto que Get-Host retorna e você pode usá-lo da mesma maneira. Da mesma forma, as $PSCulture variáveis e $PSUICulture automatic contêm os mesmos objetos que as propriedades CurrentCulture e CurrentUICulture do objeto host contêm. Você pode usar esses recursos alternadamente.

Observação

As configurações de cor em $Host.PrivateData foram substituídas pela variável de $PSStyle preferência. Para obter mais informações, consulte about_ANSI_Terminals.

Para obter mais informações, confira about_Automatic_Variables.