Get-Host
現在のホスト プログラムを表すオブジェクトを取得します。
構文
Get-Host []
説明
Get-Host コマンドレットは、Windows PowerShell をホストしているプログラムを表すオブジェクトを取得します。
既定の表示には、Windows PowerShell のバージョン番号と、ホストが使用している現在のリージョンと言語の設定が含まれますが、ホスト オブジェクトには、現在実行中の Windows PowerShell のバージョンや Windows PowerShell の現在のカルチャと UI カルチャに関する詳細情報など、豊富な情報が含まれています。 このコマンドレットを使用して、テキストや背景色などのホスト プログラム ユーザー インターフェイスの機能をカスタマイズすることもできます。
例
例 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 x 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 コマンドレットに送信します。 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 コマンドレットによって返される情報と同じです。
同様に、 CurrentUICulture プロパティは、Get-UICulture が返すのと同じオブジェクトを返します。
ホスト オブジェクトの CurrentCulture プロパティには、System.Globalization.CultureInfo オブジェクトが含まれています。 このコマンドでは、パイプライン演算子 (|) を使用して CultureInfo オブジェクトを Format-List コマンドレットに送信します。 Format-List コマンドは、値 all (*) の 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 コマンドレットを使用します。 オブジェクトのプロパティ値を表示するには、Format-List コマンドレットを使用します。
例 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
このコマンドレットに入力をパイプすることはできません。
出力
System.Management.Automation.Internal.Host.InternalHost
Get-Host は System.Management.Automation.Internal.Host.InternalHost オブジェクトを返します。
メモ
$Host 自動変数には、 Get-Host が返すのと同じオブジェクトが含まれており、同じように使用できます。 同様に、$PSCulture 自動変数と $PSUICulture 自動変数には、ホスト オブジェクトの CurrentCulture プロパティと CurrentUICulture プロパティに含まれるオブジェクトと同じオブジェクトが含まれます。 これらの機能は同じ意味で使用できます。
詳細については、about_Automatic_Variablesを参照してください。