Get-Host
Ottiene un oggetto che rappresenta il programma host corrente.
Sintassi
Default (Impostazione predefinita)
Get-Host
Descrizione
Il cmdlet Get-Host ottiene un oggetto che rappresenta il programma che ospita Windows PowerShell.
La visualizzazione predefinita include il numero di versione di Windows PowerShell e le impostazioni regionali e della lingua correnti che l'host sta utilizzando, ma l'oggetto host contiene una vasta quantità di informazioni, incluse informazioni dettagliate sulla versione di Windows PowerShell attualmente in esecuzione e sulla cultura attuale e la cultura dell'interfaccia utente di Windows PowerShell. È anche possibile usare questo cmdlet per personalizzare le funzionalità dell'interfaccia utente del programma host, ad esempio il testo e i colori di sfondo.
Esempio
Esempio 1: Ottenere informazioni sull'host della console di 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
Questo comando visualizza informazioni sulla console di PowerShell, ovvero il programma host corrente per PowerShell in questo esempio. Include il nome dell'host, la versione di PowerShell attiva sull'host, la cultura corrente e la cultura dell'interfaccia utente corrente.
Le proprietà Versione, Interfaccia utente, CurrentCulture, CurrentUICulture, PrivateDatae Runspace contengono ciascuna un oggetto con altre proprietà utili. Negli esempi successivi vengono esaminate queste proprietà.
Esempio 2: Ridimensionare la finestra di PowerShell
$H = Get-Host
$Win = $H.UI.RawUI.WindowSize
$Win.Height = 10
$Win.Width = 10
$H.UI.RawUI.Set_WindowSize($Win)
Questo comando ridimensiona la finestra di Windows PowerShell a 10 righe di 10 caratteri.
Esempio 3: Ottenere la versione di PowerShell per l'host
(Get-Host).Version
Major Minor Build Revision
----- ----- ----- --------
5 1 22621 963
Questo comando ottiene informazioni dettagliate sulla versione di Windows PowerShell in esecuzione nell'host. È possibile visualizzare, ma non modificare, questi valori.
La proprietà Version di Get-Host contiene un oggetto System.Version. Questo comando utilizza un operatore di pipeline (|) per inviare l'oggetto di versione al cmdlet Format-List. Il comando Format-List usa il parametro proprietà con il valore "tutto" (*) per visualizzare tutte le proprietà e i valori delle proprietà dell'oggetto versione.
Esempio 4: Ottenere la cultura corrente per l'host
(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
Questo comando ottiene informazioni dettagliate sulla cultura attuale impostata per Windows PowerShell in esecuzione nell'host. Si tratta delle stesse informazioni restituite dal cmdlet Get-Culture.
Analogamente, la proprietà CurrentUICulture restituisce lo stesso oggetto che Get-UICulture restituisce.
La proprietà CurrentCulture dell'oggetto host contiene un oggetto System.Globalization.CultureInfo. Questo comando usa un operatore pipeline (
Esempio 5: Ottenere DateTimeFormat per la cultura attuale
(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...}
Questo comando restituisce informazioni dettagliate sul DateTimeFormat della cultura corrente in uso per Windows PowerShell.
La proprietà CurrentCulture dell'oggetto host contiene un oggetto CultureInfo che, a sua volta, ha molte proprietà utili. Tra queste, la proprietà DateTimeFormat
Per trovare il tipo di un oggetto archiviato in una proprietà dell'oggetto, utilizzare il cmdlet Get-Member. Per visualizzare i valori delle proprietà dell'oggetto, utilizzare il cmdlet Format-List.
Esempio 6: Ottenere la proprietà RawUI per l'host
Questo comando visualizza le proprietà dell'attributo RawUI dell'oggetto host. Modificando questi valori, è possibile modificare l'aspetto del programma host.
(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
Esempio 7: Impostare il colore di sfondo per la console di PowerShell
Questi comandi modificano il colore di sfondo della console di Windows PowerShell in nero. Il comando Clear-Host cancella la schermata per reimpostare la finestra della console sul nuovo colore.
(Get-Host).UI.RawUI.BackgroundColor = "Black"
Clear-Host
Questa modifica è effettiva solo nella sessione corrente. Per modificare il colore di sfondo della console per tutte le sessioni, aggiungere il comando al profilo di PowerShell.
Esempio 8: Impostare il colore di sfondo per i messaggi di errore
$Host.PrivateData.ErrorBackgroundColor = "white"
Questo comando modifica il colore di sfondo dei messaggi di errore in bianco.
Questo comando usa la variabile automatica $Host che contiene l'oggetto host per il programma host corrente.
Get-Host restituisce lo stesso oggetto che $Host contiene, in modo da poterli usare in modo intercambiabile.
Questo comando usa la proprietà PrivateData di $Host come proprietà ErrorBackgroundColor. Per visualizzare tutte le proprietà dell'oggetto nel $Host. Proprietà PrivateData, digitare $Host.PrivateData | Format-List *.
Input
None
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
System.Management.Automation.Internal.Host.InternalHost
Questo cmdlet restituisce un oggetto InternalHost.
Note
La variabile automatica $Host contiene lo stesso oggetto restituito Get-Host ed è possibile usarlo nello stesso modo. Analogamente, le variabili automatiche $PSCulture e $PSUICulture contengono gli stessi oggetti contenuti nelle proprietà CurrentCulture e CurrentUICulture dell'oggetto host. È possibile usare queste funzionalità in modo intercambiabile.
Per altre informazioni, vedere about_Automatic_Variables.