Get-TypeData
Ottiene i dati del tipo esteso nella sessione corrente.
Sintassi
Get-TypeData
[[-TypeName] <String[]>]
[<CommonParameters>]
Descrizione
Il Get-TypeData
cmdlet ottiene i dati del tipo esteso nella sessione corrente. Sono inclusi i dati di tipo aggiunti alla sessione in base Types.ps1xml
al file e ai dati di tipo dinamico aggiunti usando il parametro del Update-TypeData
cmdlet .
È possibile usare i dati di tipo esteso che Get-TypeData
restituiscono per esaminare i dati di tipo nella sessione e inviarli ai Update-TypeData
cmdlet e Remove-TypeData
.
I dati dei tipi estesi aggiungono proprietà e metodi agli oggetti in PowerShell. È possibile usare le proprietà e i metodi aggiunti nello stesso modo in cui si usano le proprietà e i metodi definiti nel tipo di oggetto. Tuttavia, quando si scrivono script, tenere presente che le proprietà e i metodi aggiunti potrebbero non essere presenti in ogni sessione di PowerShell.
Per altre informazioni sui Types.ps1xml
file, vedere about_Types.ps1xml. Per altre informazioni sui dati di tipo dinamico aggiunti dal Update-TypeData
cmdlet, vedere Update-TypeData
.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Ottenere tutti i dati di tipo esteso
In questo esempio vengono restituiti tutti i dati di tipo esteso nella sessione corrente.
Get-TypeData
Esempio 2: Ottenere dati di tipo in base al nome
Questo esempio ottiene tutti i dati di tipo nella sessione corrente il cui nome è qualificato con "System.IO".
Get-TypeData -TypeName System.IO.*
TypeName Members
-------- -------
System.IO.DirectoryInfo {[Mode, System.Management.Automation.Runspaces.CodePropert…
System.IO.FileInfo {[Mode, System.Management.Automation.Runspaces.CodePropert…
Esempio 3: Ottenere il blocco di script che crea un valore della proprietà
In questo esempio viene ottenuto il blocco di script che crea il valore della proprietà EventID degli oggetti EventLogEntry .
(Get-TypeData *EventLogEntry*).Members.EventID
GetScriptBlock SetScriptBlock IsHidden Name
-------------- -------------- -------- ----
$this.get_EventID() -band 0xFFFF False EventID
Esempio 4: Ottenere il blocco di script che definisce una proprietà per un oggetto specificato
Questo esempio ottiene il blocco di script che definisce la proprietà DateTime degli oggetti System.DateTime in PowerShell.
(Get-TypeData -TypeName System.DateTime).Members["DateTime"].GetScriptBlock
if ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq "Date") {
"{0}" -f $this.ToLongDateString()
}
elseif ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq "Time") {
"{0}" -f $this.ToLongTimeString()
}
else {
"{0} {1}" -f $this.ToLongDateString(), $this.ToLongTimeString()
}
Il comando usa il Get-TypeData
cmdlet per ottenere i dati di tipo esteso per il tipo System.DataTime . Il comando ottiene la proprietà Members dell'oggetto TypeData .
La proprietà Members contiene una tabella hash di proprietà e metodi definiti dai dati di tipo esteso. Ogni chiave nella tabella hash di Members è un nome di proprietà o metodo e ogni valore è la definizione del valore della proprietà o del metodo.
Il comando ottiene la chiave DateTime in Members e il relativo valore della proprietà GetScriptBlock .
L'output mostra il blocco di script che crea il valore della proprietà DateTime di ogni oggetto System.DateTime in PowerShell.
Parametri
-TypeName
Specifica i dati di tipo come matrice solo per i tipi con i nomi specificati. Per impostazione predefinita, Get-TypeData
ottiene tutti i tipi nella sessione.
Immettere i nomi dei tipi o i modelli di nomi. I nomi completi o i modelli di nome con caratteri jolly sono obbligatori, anche per i tipi nello spazio dei nomi System. I caratteri jolly sono supportati e il nome del parametro TypeName è facoltativo. È anche possibile inviare tramite pipe i nomi dei tipi a Get-TypeData
.
Tipo: | String[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
Input
È possibile inviare tramite pipe stringhe contenenti nomi di tipo a questo cmdlet.
Output
Note
Get-TypeData
ottiene solo i dati di tipo esteso nella sessione corrente. Non ottiene i dati del tipo esteso presenti nel computer, che però non sono stati aggiunti alla sessione corrente, ad esempio i tipi estesi definiti nei moduli non importati nella sessione corrente.