Share via


Get-Host

現在のホスト プログラムを表すオブジェクトを取得します。

構文

Get-Host []

説明

コマンドレットはGet-Host、Windows PowerShellをホストしているプログラムを表す オブジェクトを取得します。

既定の表示には、Windows PowerShell のバージョン番号とホストで使用されている現在の地域と言語の設定が含まれていますが、ホスト オブジェクトには、現在実行中の Windows PowerShell のバージョンの詳細情報、現在のカルチャ、Windows PowerShell の UI カルチャなど多くの情報が含まれています。 このコマンドレットを使用して、テキストや背景色などのホスト プログラムのユーザー インターフェイスの機能をカスタマイズすることもできます。

例 1: PowerShell コンソール ホストに関する情報を取得する

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

このコマンドは、PowerShell コンソールに関する情報を表示します。これは、この例の PowerShell の現在のホスト プログラムです。 これには、ホストの名前、ホストで実行されている PowerShell のバージョン、および現在のカルチャと UI カルチャが含まれます。

VersionUICurrentCultureCurrentUICulturePrivateDataおよび Runspace の各プロパティには、他の便利なプロパティを含むオブジェクトが含まれています。 後で示す例では、これらのプロパティを説明します。

例 2: PowerShell ウィンドウのサイズを変更する

$H = Get-Host
$Win = $H.UI.RawUI.WindowSize
$Win.Height = 10
$Win.Width  = 10
$H.UI.RawUI.Set_WindowSize($Win)

このコマンドは、Windows PowerShell ウィンドウのサイズを 10 行ずつ 10 文字に変更します。

例 3: ホストの PowerShell バージョンを取得する

(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-ListProperty パラメーターと all (*) の値を使用して、バージョン オブジェクトのすべてのプロパティとプロパティ値を表示します。

例 4: ホストの現在のカルチャを取得する

(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-ListProperty パラメーターと all (*) の値を使用して、 CultureInfo オブジェクトのすべてのプロパティとプロパティ値を表示します。

例 5: 現在のカルチャの DateTimeFormat を取得する

(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 プロパティを取得する

(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 コンソールの背景色を設定する

(Get-Host).UI.RawUI.BackgroundColor = "Black"
cls

これらのコマンドは、Windows PowerShell コンソールの背景色を黒に変更します。 cls コマンドは、画面をClear-Hostクリアして画面全体を新しい色に変更する関数のエイリアスです。

この変更は、現在のセッションでのみ有効です。 すべてのセッションのコンソールの背景色を変更するには、PowerShell プロファイルに コマンドを追加します。

例 8: エラー メッセージの背景色を設定する

$Host.PrivateData.ErrorBackgroundColor = "white"

このコマンドは、エラー メッセージの背景色を白に変更します。

このコマンドは、現在の $Host ホスト プログラムのホスト オブジェクトを含む自動変数を使用します。 Get-Host は を含むのと同じオブジェクトを $Host 返すので、同じ意味で使用できます。

このコマンドは、 の PrivateData プロパティ $Host を ErrorBackgroundColor プロパティとして使用します。 内の オブジェクト $Hostのすべてのプロパティを表示するにはPrivateData プロパティに「」と入力します $host.PrivateData | format-list *

入力

None

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

System.Management.Automation.Internal.Host.InternalHost

Get-HostSystem.Management.Automation.Internal.Host.InternalHost オブジェクトを 返します。

メモ

自動変数には $Host 、 を返すのと同じオブジェクトが Get-Host 含まれており、同じ方法で使用できます。 同様に、 変数と$PSUICulture自動変数には、$PSCultureホスト オブジェクトの CurrentCulture プロパティと CurrentUICulture プロパティと同じオブジェクトが含まれます。 これらの機能は置き換えて使用できます。

詳細については、「about_Automatic_Variables」を参照してください。