共用方式為


Get-Host

取得代表目前主機程式的物件。

Syntax

Get-Host []

Description

Cmdlet 會Get-Host取得 物件,代表裝載 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 視窗大小調整為 10x10 像素。

範例 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此命令會使用 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 的目前文化特性設定的詳細資訊。 這是 Cmdlet 所 Get-Culture 傳回的相同資訊。

同樣地, CurrentUICulture 屬性會傳回傳回的相同物件 Get-UICulture

主物件的 CurrentCulture 屬性包含 System.Globalization.CultureInfo 物件。 此命令使用管線運算子 (|) 將 CultureInfo 物件傳送至 Format-List Cmdlet。 Format-List此命令會使用 Property 參數搭配所有 (*) 的值來顯示 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 的相同物件,因此您可以交替使用它們。

此命令使用的 $HostPrivateData 屬性做為其 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