Get-Host
Pobiera obiekt reprezentujący bieżący program hosta.
Składnia
Get-Host []
Opis
Polecenie Get-Host
cmdlet pobiera obiekt reprezentujący program hostujący program Windows PowerShell.
Domyślny ekran zawiera numer wersji programu Windows PowerShell oraz bieżące ustawienia regionalne i językowe używane przez hosta, ale obiekt hosta zawiera wiele informacji, w tym szczegółowe informacje o wersji programu Windows PowerShell, która jest aktualnie uruchomiona, oraz bieżącą kulturę i kulturę interfejsu użytkownika programu Windows PowerShell. Możesz również użyć tego polecenia cmdlet, aby dostosować funkcje interfejsu użytkownika programu hosta, takie jak tekst i kolory tła.
Przykłady
Przykład 1. Uzyskiwanie informacji o hoście konsoli programu 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
To polecenie wyświetla informacje o konsoli programu PowerShell, która jest bieżącym programem hosta dla programu PowerShell w tym przykładzie. Zawiera on nazwę hosta, wersję programu PowerShell uruchomioną na hoście oraz bieżącą kulturę i kulturę interfejsu użytkownika.
Właściwości Version, UI, CurrentCulture, CurrentUICulture, PrivateData i Runspace zawierają obiekt z innymi przydatnymi właściwościami. W kolejnych przykładach przeanalizować te właściwości.
Przykład 2. Zmienianie rozmiaru okna programu PowerShell
$H = Get-Host
$Win = $H.UI.RawUI.WindowSize
$Win.Height = 10
$Win.Width = 10
$H.UI.RawUI.Set_WindowSize($Win)
To polecenie zmienia rozmiar okna programu Windows PowerShell na 10 wierszy o 10 znaków.
Przykład 3. Pobieranie wersji programu PowerShell dla hosta
(Get-Host).Version
Major Minor Build Revision
----- ----- ----- --------
5 1 22621 963
To polecenie pobiera szczegółowe informacje o wersji programu Windows PowerShell uruchomionego na hoście. Te wartości można wyświetlać, ale nie zmieniać.
Właściwość Version obiektu Get-Host
zawiera obiekt System.Version . To polecenie używa operatora potoku (|
), aby wysłać obiekt wersji do Format-List
polecenia cmdlet. Polecenie Format-List
używa parametru Property z wartością wszystkich (*
), aby wyświetlić wszystkie właściwości i wartości właściwości obiektu wersji.
Przykład 4. Pobieranie bieżącej kultury hosta
(Get-Host).CurrentCulture | Format-List
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 - en-US
TextInfo : TextInfo - en-US
IsNeutralCulture : False
CultureTypes : SpecificCultures, InstalledWin32Cultures
NumberFormat : System.Globalization.NumberFormatInfo
DateTimeFormat : System.Globalization.DateTimeFormatInfo
Calendar : System.Globalization.GregorianCalendar
OptionalCalendars : {System.Globalization.GregorianCalendar}
UseUserOverride : True
IsReadOnly : True
To polecenie pobiera szczegółowe informacje o bieżącym zestawie kultury dla programu Windows PowerShell uruchomionego na hoście. Są to te same informacje, które są zwracane przez Get-Culture
polecenie cmdlet.
Podobnie właściwość CurrentUICulture zwraca ten sam obiekt, który Get-UICulture
zwraca.
Właściwość CurrentCulture obiektu hosta zawiera obiekt System.Globalization.CultureInfo . To polecenie używa operatora potoku (|
) do wysłania obiektu CultureInfo do Format-List
polecenia cmdlet. Polecenie Format-List
używa parametru Property z wartością wszystkich (*
), aby wyświetlić wszystkie właściwości i wartości właściwości obiektu CultureInfo .
Przykład 5. Pobieranie wartości DateTimeFormat dla bieżącej kultury
(Get-Host).CurrentCulture.DateTimeFormat | Format-List
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...}
To polecenie zwraca szczegółowe informacje o formacie DateTimeFormat bieżącej kultury używanej dla programu Windows PowerShell.
Właściwość CurrentCulture obiektu hosta zawiera obiekt CultureInfo , który z kolei ma wiele przydatnych właściwości. Wśród nich właściwość DateTimeFormat zawiera obiekt DateTimeFormatInfo z wieloma przydatnymi właściwościami.
Aby znaleźć typ obiektu przechowywanego we właściwości obiektu, użyj Get-Member
polecenia cmdlet . Aby wyświetlić wartości właściwości obiektu, użyj Format-List
polecenia cmdlet .
Przykład 6. Pobieranie właściwości RawUI dla hosta
To polecenie wyświetla właściwości właściwości RawUI obiektu hosta. Zmieniając te wartości, można zmienić wygląd programu hosta.
(Get-Host).UI.RawUI
ForegroundColor : Gray
BackgroundColor : Black
CursorPosition : 0,28
WindowPosition : 0,0
CursorSize : 25
BufferSize : 120,29
WindowSize : 120,29
MaxWindowSize : 120,29
MaxPhysicalWindowSize : 1904,69
KeyAvailable : True
WindowTitle : PowerShell 7.3.3
Przykład 7. Ustawianie koloru tła konsoli programu PowerShell
Te polecenia zmieniają kolor tła konsoli programu Windows PowerShell na. Polecenie Clear-Host
czyści ekran, aby zresetować okno konsoli do nowego koloru.
(Get-Host).UI.RawUI.BackgroundColor = "Black"
Clear-Host
Ta zmiana jest skuteczna tylko w bieżącej sesji. Aby zmienić kolor tła konsoli dla wszystkich sesji, dodaj polecenie do profilu programu PowerShell.
Przykład 8. Ustawianie koloru tła komunikatów o błędach
$Host.PrivateData.ErrorBackgroundColor = "white"
To polecenie zmienia kolor tła komunikatów o błędach na biały.
To polecenie używa zmiennej automatycznej $Host
, która zawiera obiekt hosta dla bieżącego programu hosta. Get-Host
Zwraca ten sam obiekt, który $Host
zawiera, więc można ich używać zamiennie.
To polecenie używa właściwości PrivateData właściwości $Host
ErrorBackgroundColor. Aby wyświetlić wszystkie właściwości obiektu w obiekcie $Host
. Właściwość PrivateData, wpisz $host.PrivateData | format-list *
.
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
System.Management.Automation.Internal.Host.InternalHost
To polecenie cmdlet zwraca obiekt InternalHost .
Uwagi
Zmienna automatyczna $Host
zawiera ten sam obiekt, który Get-Host
zwraca i można go użyć w taki sam sposób. $PSCulture
Podobnie zmienne i $PSUICulture
automatyczne zawierają te same obiekty, które zawierają właściwości CurrentCulture i CurrentUICulture obiektu hosta. Tych funkcji można używać zamiennie.
Aby uzyskać więcej informacji, zobacz about_Automatic_Variables.