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.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Input

String

È possibile inviare tramite pipe stringhe contenenti nomi di tipo a questo cmdlet.

Output

TypeData

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.