Get-Host
取得物件,表示目前的主機程式。
語法
Get-Host []
Description
Get-Host Cmdlet 會取得物件,代表裝載 Windows PowerShell 的程式。
默認顯示包含 Windows PowerShell 版本號碼,以及主機正在使用的目前區域和語言設定,但主機物件包含大量資訊,包括目前執行的 Windows PowerShell 版本和 Windows PowerShell 目前文化特性和 UI 文化特性的詳細資訊。 您也可以使用此 Cmdlet 來自定義主機程式使用者介面的功能,例如文字和背景色彩。
範例
範例 1:取得 PowerShell 控制台主機的相關信息
PS C:\> 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
此命令會顯示 Windows PowerShell 控制台的相關信息,這是此範例中 Windows PowerShell 的目前主機程式。 其中包含主機的名稱、在主機中執行的 Windows PowerShell 版本,以及目前的文化特性和 UI 文化特性。
Version、UI、CurrentCulture、CurrentUICulture、PrivateData 和 Runspace 屬性各包含一個具有非常實用屬性的物件。 稍後的範例會檢查這些屬性。
範例 2:調整 PowerShell 視窗的大小
PS C:\> $H = Get-Host
PS C:\> $Win = $H.UI.RawUI.WindowSize
PS C:\> $Win.Height = 10
PS C:\> $Win.Width = 10
PS C:\> $H.UI.RawUI.Set_WindowSize($Win)
此命令會將 Windows PowerShell 視窗的大小調整為 10 像素 10 圖元。
範例 3:取得主機的 PowerShell 版本
PS C:\> (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 命令會使用具有 all 值的 Property 參數來顯示版本物件的所有屬性和屬性值。
範例 4:取得主機目前的文化特性
PS C:\> (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 目前文化特性集的詳細資訊。 這是 Get-Culture Cmdlet 所傳回的相同資訊。
同樣地,CurrentUICulture 屬性會傳回 Get-UICulture 傳回的相同物件。
主物件的 CurrentCulture 屬性包含 System.Globalization.CultureInfo 物件。 此命令會使用管線運算符 (|) 將 CultureInfo 物件傳送至 Format-List Cmdlet。 Format-List 命令會使用 Property 參數與 all 的值 , 來顯示 CultureInfo 物件的所有屬性和屬性值。
範例 5:取得目前文化特性的 DateTimeFormat
PS C:\> (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 屬性
PS C:\> (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 控制台的背景色彩
PS C:\> (Get-Host).UI.RawUI.BackgroundColor = "Black"
PS C:\> cls
這些命令會將 Windows PowerShell 控制台的背景色彩變更為黑色。 cls 命令是 Clear-Host 函式的別名,它會清除畫面,並將整個螢幕變更為新的色彩。
這項變更只有在目前的會話中才有效。 若要變更所有會話主控台的背景色彩,請將 命令新增至您的 Windows PowerShell 配置檔。
範例 8:設定錯誤訊息的背景色彩
PS C:\> $Host.PrivateData.ErrorBackgroundColor = "white"
此命令會將錯誤訊息的背景色彩變更為白色。
此命令會使用$Host自動變數,其中包含目前主機程式的主機物件。 Get-Host 會傳回$Host包含的相同物件,因此您可以交替使用它們。
此命令會使用 $Host 的 PrivateData 屬性做為其 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自動變數包含與主物件所包含
CurrentCul ture 和CurrentUICulture 属性相同的物件。 您可以交替使用這些功能。 如需詳細資訊,請參閱about_Automatic_Variables。