Compartir a través de


Get-Host

Obtiene un objeto que representa el programa host actual.

Sintaxis

Get-Host []

Description

El Get-Host cmdlet obtiene un objeto que representa el programa que hospeda Windows PowerShell.

La pantalla predeterminada incluye el número de versión de Windows PowerShell y la configuración de región e idioma que está utilizando el host; sin embargo, el objeto host contiene una gran cantidad de datos, incluida información detallada sobre la versión de Windows PowerShell que se está ejecutando y la referencia cultural y el idioma de interfaz de usuario actuales de Windows PowerShell. También puede usar este cmdlet para personalizar las características de la interfaz de usuario del programa host, como los colores de texto y fondo.

Ejemplos

Ejemplo 1: Obtener información sobre el host de consola de 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 muestra información sobre la consola de PowerShell, que es el programa host actual para PowerShell en este ejemplo. Incluye el nombre del host, la versión de PowerShell que se ejecuta en el host y la referencia cultural actual y la referencia cultural de la interfaz de usuario.

Las propiedades Version, UI, CurrentCulture, CurrentUICulture, PrivateData y Runspace contienen cada uno un objeto con otras propiedades útiles. En ejemplos posteriores se examinarán estas propiedades.

Ejemplo 2: Cambiar el tamaño de la ventana de PowerShell

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

Este comando cambia el tamaño de la ventana de Windows PowerShell a 10 líneas por 10 caracteres.

Ejemplo 3: Obtención de la versión de PowerShell para el host

(Get-Host).Version

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      22621  963

Este comando obtiene información detallada sobre la versión de Windows PowerShell que se ejecuta en el host. Estos valores se pueden ver, pero no cambiar.

La propiedad Version de Get-Host contiene un objeto System.Version . Este comando usa un operador de canalización (|) para enviar el objeto de versión al Format-List cmdlet . El Format-List comando usa el parámetro Property con un valor de todos (*) para mostrar todas las propiedades y los valores de propiedad del objeto de versión.

Ejemplo 4: Obtención de la referencia cultural actual para el 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 obtiene información detallada sobre la referencia cultural de Windows PowerShell que se ejecuta en el host. Esta es la misma información que devuelve el Get-Culture cmdlet .

Del mismo modo, la propiedad CurrentUICulture devuelve el mismo objeto que Get-UICulture devuelve.

La propiedad CurrentCulture del objeto host contiene un objeto System.Globalization.CultureInfo . Este comando usa un operador de canalización (|) para enviar el objeto CultureInfo al Format-List cmdlet . El Format-List comando usa el parámetro Property con un valor de todos (*) para mostrar todas las propiedades y los valores de propiedad del objeto CultureInfo .

Ejemplo 5: Obtener dateTimeFormat para la referencia cultural actual

(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 devuelve información detallada sobre la propiedad DateTimeFormat de la referencia cultural actual que se utiliza para Windows PowerShell.

La propiedad CurrentCulture del objeto host contiene un objeto CultureInfo que, a su vez, tiene muchas propiedades útiles. Entre ellos, la propiedad DateTimeFormat contiene un objeto DateTimeFormatInfo con muchas propiedades útiles.

Para buscar el tipo de un objeto almacenado en una propiedad de objeto, use el Get-Member cmdlet . Para mostrar los valores de propiedad del objeto, use el Format-List cmdlet .

Ejemplo 6: Obtención de la propiedad RawUI para el host

Este comando muestra las propiedades de la propiedad RawUI del objeto host. Si cambia estos valores, puede cambiar la apariencia del 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

Ejemplo 7: Establecer el color de fondo de la consola de PowerShell

Estos comandos cambian a negro el color de fondo de la consola de Windows PowerShell. El Clear-Host comando borra la pantalla para restablecer la ventana de la consola al nuevo color.

(Get-Host).UI.RawUI.BackgroundColor = "Black"
Clear-Host

Este cambio solo es efectivo en la sesión actual. Para cambiar el color de fondo de la consola de todas las sesiones, agregue el comando al perfil de PowerShell.

Ejemplo 8: Establecer el color de fondo de los mensajes de error

$Host.PrivateData.ErrorBackgroundColor = "white"

Este comando cambia a blanco el color de fondo de los mensajes de error.

Este comando usa la $Host variable automática, que contiene el objeto host para el programa host actual. Get-Host devuelve el mismo objeto que $Host contiene, por lo que puede usarlos indistintamente.

Este comando usa la propiedad PrivateData de $Host como su propiedad ErrorBackgroundColor. Para ver todas las propiedades del objeto en . $Host Propiedad PrivateData, escriba $host.PrivateData | format-list *.

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

System.Management.Automation.Internal.Host.InternalHost

Este cmdlet devuelve un objeto InternalHost .

Notas

La $Host variable automática contiene el mismo objeto que Get-Host devuelve y puede usarlo de la misma manera. Del mismo modo, las $PSCulture variables y $PSUICulture automáticas contienen los mismos objetos que contienen las propiedades CurrentCulture y CurrentUICulture del objeto host. Estas características se pueden utilizar indistintamente.

Para obtener más información, vea about_Automatic_Variables.