取得代表目前主控程式的物件。此外,預設也會顯示 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 * "。
請參閱