Get-Host
获取表示当前主机程序的对象。
语法
Get-Host []
说明
cmdlet Get-Host
获取一个 对象,该对象表示承载Windows PowerShell的程序。
默认显示内容包括 Windows PowerShell 版本号以及主机使用的当前区域和语言设置,但是主机对象包含大量信息,其中包括有关当前正在运行的 Windows PowerShell 版本以及 Windows PowerShell 的当前区域性和 UI 区域性的详细信息。 还可以使用此 cmdlet 自定义主机程序用户界面的功能,例如文本和背景色。
示例
示例 1:获取有关 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
此命令显示有关 PowerShell 控制台的信息,PowerShell 控制台是本示例中 PowerShell 的当前主机程序。 它包括主机的名称、在主机中运行的 PowerShell 版本以及当前区域性和 UI 区域性。
Version、UI、CurrentCulture、CurrentUICulture、PrivateData 和 Runspace 属性都包含具有其他有用属性的对象。 后面的示例将检查这些属性。
示例 2:调整 PowerShell 窗口的大小
$H = Get-Host
$Win = $H.UI.RawUI.WindowSize
$Win.Height = 10
$Win.Width = 10
$H.UI.RawUI.Set_WindowSize($Win)
此命令将Windows PowerShell窗口的大小调整为 10 行乘以 10 个字符。
示例 3:获取主机的 PowerShell 版本
(Get-Host).Version | Format-List -Property *
Major : 2
Minor : 0
Build : -1
Revision : -1
MajorRevision : -1
MinorRevision : -1
此命令获取有关主机中运行的 Windows PowerShell 版本的详细信息。 你可以查看这些值,但不能更改它们。
的 Get-Host
Version 属性包含 System.Version 对象。 此命令使用管道运算符 (|
) 将版本对象发送到 Format-List
cmdlet。 命令 Format-List
使用 值为 所有 (的 *
Property 参数) 来显示版本对象的所有属性和属性值。
示例 4:获取主机的当前区域性
(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
此命令获取有关主机中运行的 Windows PowerShell 的当前区域性设置的详细信息。 这与 cmdlet 返回 Get-Culture
的信息相同。
同样, CurrentUICulture 属性返回返回的同一 Get-UICulture
对象。
主机对象的 CurrentCulture 属性包含 System.Globalization.CultureInfo 对象。 此命令使用管道运算符 (|
) 将 CultureInfo 对象发送到 Format-List
cmdlet。 命令Format-List
使用值为 all (*
) 的 Property 参数来显示 CultureInfo 对象的所有属性和属性值。
示例 5:获取当前区域性的 DateTimeFormat
(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...}
此命令返回有关 Windows PowerShell 使用的当前区域性的 DateTimeFormat 的详细信息。
主机对象的 CurrentCulture 属性包含 一个 CultureInfo 对象,而该对象又具有许多有用的属性。 其中, DateTimeFormat 属性包含具有许多有用属性的 DateTimeFormatInfo 对象。
若要查找存储在对象属性中的对象的类型,请使用 Get-Member
cmdlet。 若要显示 对象的属性值,请使用 Format-List
cmdlet。
示例 6:获取主机的 RawUI 属性
(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)
此命令显示主机对象的 RawUI 属性的属性。 通过更改这些值,可以更改主机程序的外观。
示例 7:设置 PowerShell 控制台的背景色
(Get-Host).UI.RawUI.BackgroundColor = "Black"
cls
这些命令将 Windows PowerShell 控制台的背景色更改为黑色。 cls 命令是 函数的Clear-Host
别名,用于清除屏幕并将整个屏幕更改为新颜色。
此更改仅在当前会话中有效。 若要更改所有会话的控制台的背景色,请将 命令添加到 PowerShell 配置文件。
示例 8:设置错误消息的背景色
$Host.PrivateData.ErrorBackgroundColor = "white"
此命令将错误消息的背景色更改为白色。
此命令使用 $Host
自动变量,其中包含当前主机程序的主机对象。 Get-Host
返回包含 的同一对象 $Host
,因此可以互换使用它们。
此命令使用 的 PrivateData 属性 $Host
作为其 ErrorBackgroundColor 属性。 查看 中 $Host
对象的所有属性。PrivateData 属性,键入 $host.PrivateData | format-list *
。
输入
None
不能通过管道将输入传递给此 cmdlet。
输出
System.Management.Automation.Internal.Host.InternalHost
Get-Host
返回 System.Management.Automation.Internal.Host.InternalHost 对象。
备注
自动 $Host
变量包含返回的同一 Get-Host
对象,你可以以相同的方式使用它。 同样, $PSCulture
和 $PSUICulture
自动变量包含与主机对象的 CurrentCulture 和 CurrentUICulture 属性包含的相同对象。 你可以交替使用这些功能。
有关详细信息,请参阅 about_Automatic_Variables。