Get-Host
Obtém um objeto que representa o programa host atual. E exibe, por padrão, a versão do Windows PowerShell e as informações regionais.
Sintaxe
Get-Host [<CommonParameters>]
Descrição
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 da versão do Windows PowerShell e as configurações atuais de região e de idioma que o host está usando, 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á em execução no momento, além da cultura atual e da cultura da interface do usuário do Windows PowerShell. Também é possível usar esse cmdlet para personalizar os recursos da interface do usuário do programa host, como o texto e as cores do plano de fundo.
Parâmetros
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
Nenhum Você não pode canalizar a entrada para este cmdlet. |
Saídas |
System.Management.Automation.Internal.Host.InternalHost Get-Host retorna um objeto System.Management.Automation.Internal.Host.InternalHost. |
Observações
A variável automática $host contém o mesmo objeto retornado pelo Get-Host, sendo que você pode usá-lo da mesma maneira. De maneira semelhante, as variáveis automáticas $PSCulture e $PSUICulture contêm os mesmos objetos que as propriedades CurrentCulture e CurrentUICulture do objeto de host contêm. É possível usar esses recursos de maneira intercambiável.
Para obter mais informações, consulte about_Automatic_Variables.
Exemplo 1
C:\PS>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
Descrição
-----------
Esse comando exibe informações sobre o console do Windows PowerShell que é o programa host atual do Windows PowerShell nesse exemplo. Inclui o nome do host, a versão de Windows PowerShell que está em execução no host, a cultura atual e a cultura da interface do usuário.
Cada propriedade Version, UI, CurrentCulture, CurrentUICulture, PrivateData e Runspace contém um objeto com propriedades muito úteis. Examinaremos essas propriedades em exemplos posteriores.
Exemplo 2
C:\PS>$h = get-host
C:\PS> $win = $h.ui.rawui.windowsize
C:\PS> $win.height = 10
C:\PS> $win.width = 10
C:\PS> $h.ui.rawui.set_windowsize($win)
Descrição
-----------
Este comando redimensiona a janela do Windows PowerShell para 10 pixels por 10 pixels.
Exemplo 3
C:\PS>(get-host).version | format-list -property *
Major : 2
Minor : 0
Build : -1
Revision : -1
MajorRevision : -1
MinorRevision : -1
Descrição
-----------
Esse comando obtém informações detalhadas sobre a versão do Windows PowerShell em execução no host. É possível 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 de versão ao comdlet 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
C:\PS>(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
Descrição
-----------
Esse 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 que são retornadas pelo cmdlet Get-Culture.
(De maneira semelhante, a propriedade CurrentUICulture retorna o mesmo objeto retornado por Get-UICulture.)
A propriedade CurrentCulture do objeto de host contém um objeto System.Globalization.CultureInfo. Esse comando usa um operador de pipeline (|) para enviar o objeto CultureInfor ao comdlet 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
C:\PS>(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...}
Descrição
-----------
Este comando devolve informações detalhadas sobre o DateTimeFormat da cultura atual que está sendo usada para Windows PowerShell.
A propriedade CurrentCulture do objeto de host contém um objeto CultureInfo que, em troca, 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 cmdlet Get-Member. Para exibir os valores de propriedade do objeto, use o cmdlet Format-List.
Exemplo 6
C:\PS>(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)
Descrição
-----------
Esse comando exibe as propriedades da propriedade RawUI do objeto host. Alterando estes valores, você pode alterar a aparência do programa host.
Exemplo 7
C:\PS>(get-host).ui.rawui.backgroundcolor = "Black"
C:\PS> cls
Descrição
-----------
Estes comandos alteram a cor do plano de fundo do console do Windows PowerShell para preto. O comando "cls" é um alias para a função Clear-Host que desmarca a tela e altera a tela inteira para a nova cor.
Esta alteração só produz efeitos na sessão atual. Para alterar a cor de plano de fundo do console em todas as sessões, adicione o comando ao seu perfil do Windows PowerShell.
Exemplo 8
C:\PS>$host.privatedata.errorbackgroundcolor = "white"
Descrição
-----------
Este comando altera a cor do plano de fundo de mensagens de erro para branco.
Este comando usa a variável automática $host que contém o objeto de host para o programa host atual. Get-Host retorna o mesmo objeto que $host contém; assim você pode usar um ou outro.
Este comando usa a propriedade PrivateData de $host como sua propriedade ErrorBackgroundColor. Para ver todas as propriedades do objeto na propriedade $host.privatedata, digite "$ host.privatedata | format-list * ".