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.