Get-Host
Obtém um objeto que representa o programa de host atual.
Sintaxe
Default (Padrão)
Get-Host
Description
O cmdlet Get-Host obtém um objeto que representa o programa que está hospedando o Windows PowerShell.
A exibição padrão inclui o número de versão do Windows PowerShell e a região atual e as configurações de idioma que o host está usando, mas o objeto host contém uma grande quantidade de informações, incluindo informações detalhadas sobre a versão do Windows PowerShell que está em execução e a cultura atual e a cultura da interface do usuário do Windows PowerShell. Você também pode usar esse cmdlet para personalizar recursos da interface do usuário do programa host, como o texto e as cores da tela de fundo.
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 em execução no host e a cultura atual e a cultura da interface do usuário.
As propriedades de versão, de interface do usuário, CurrentCulture, CurrentUICulture, PrivateDatae 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
Esse 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 de versão de Get-Host contém um objeto System.Version. Esse comando usa um operador de pipeline (|) para enviar o objeto de versão para o cmdlet Format-List. O comando Format-List usa o parâmetro Property com um valor de todos (*) para exibir todas as propriedades e valores de propriedade do objeto de versão.
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
Esse comando obtém informações detalhadas sobre o conjunto de cultura atual do Windows PowerShell em execução no host. Essas são as mesmas informações retornadas pelo cmdlet Get-Culture.
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 cmdlet Format-List. O comando Format-List usa o parâmetro Property com um valor de todos (*) 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 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 um objeto armazenado em uma propriedade de objeto, use o cmdlet Get-Member. Para exibir os valores de propriedade do objeto, use o cmdlet Format-List.
Exemplo 6: Obter a propriedade RawUI para o host
Este comando exibe as propriedades da propriedade RawUI do objeto host. Alterando 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 não Windows, ForegroundColor e BackgroundColor padrão para -1 porque não há uma maneira consistente de obtê-las em plataformas não Windows.
Entradas
None
Não é possível transferir objetos para esse cmdlet.
Saídas
System.Management.Automation.Internal.Host.InternalHost
Esse cmdlet retorna um objeto InternalHost.
Observações
A variável $Host automática contém o mesmo objeto que Get-Host retorna e você pode usá-la da mesma maneira. Da mesma forma, as variáveis $PSCulture e $PSUICulture automáticas contêm os mesmos objetos que as propriedades CurrentCulture e CurrentUICulture do objeto host contêm. Você pode usar esses recursos de forma intercambiável.
Observação
As configurações de cor em $Host.PrivateData foram substituídas pela variável de preferência $PSStyle. Para saber mais, consulte about_ANSI_Terminals.
Para obter mais informações, confira about_Automatic_Variables.