取得代表目前主控程式的物件。此外,預設也會顯示 Windows PowerShell 版本和地區資訊。

語法

Get-Host [<CommonParameters>]

描述

Get-Host Cmdlet 會取得代表主控 Windows PowerShell 之程式的物件。

預設的顯示包含主控程式所使用的 Windows PowerShell 版本號碼及目前的地區和語言設定,但主物件則包含大量的資訊,其中包括目前正在執行的 Windows PowerShell 版本以及 Windows PowerShell 的目前文化特性和 UI 文化特性等詳細資訊。您也可以使用此 Cmdlet 自訂主控程式使用者介面的外觀,例如文字和背景色彩。

參數

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

您無法經由管道將輸入輸出至這個 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。

範例 1

C:\PS>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

C:\PS>$h = get-host

C:\PS> $win = $h.ui.rawui.windowsize

C:\PS> $win.height = 10

C:\PS> $win.width  = 10

C:\PS> $h.ui.rawui.set_windowsize($win)

描述
-----------
這個命令將 Windows PowerShell 視窗的大小調整為 10 x 10 個像素。






範例 3

C:\PS>(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

C:\PS>(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 參數來顯示 CultureInfo 物件的所有屬性和屬性值。






範例 5

C:\PS>(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

C:\PS>(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

C:\PS>(get-host).ui.rawui.backgroundcolor = "Black"

C:\PS> cls

描述
-----------
這些命令會將 Windows PowerShell 主控台的背景色彩變更為紅色。"cls" 命令是 Clear-Host 函數的別名,這個命令會將畫面清除,並將整個畫面變更為新的色彩。

這項變更只對目前的工作階段有效。若要為所有工作階段變更主控台的背景色彩,請將該命令加入至 Windows PowerShell 設定檔。






範例 8

C:\PS>$host.privatedata.errorbackgroundcolor = "white"

描述
-----------
這個命令會將錯誤訊息的背景色彩變更為白色。

這個命令會使用 $host 自動變數,它包含目前主控程式的主控物件,而 Get-Host 傳回的與 $host 包含的是同一個物件,因此您可以交替使用它們。

這個命令會以 $host 的 PrivateData 屬性當做其 ErrorBackgroundColor 屬性。若要查看 $host.privatedata 屬性中物件的所有屬性,請輸入 "$host.privatedata | format-list * "。






請參閱




目錄