Udostępnij za pośrednictwem


Get-TypeData

Pobiera dane typu rozszerzonego w bieżącej sesji.

Składnia

Get-TypeData
   [[-TypeName] <String[]>]
   [<CommonParameters>]

Opis

Polecenie cmdlet Get-TypeData pobiera dane typu rozszerzonego w bieżącej sesji. Obejmuje to dane typu dodane do sesji przez plik Types.ps1xml i dane typu dynamicznego, które zostały dodane przy użyciu parametru polecenia cmdlet Update-TypeData.

Możesz użyć danych typu rozszerzonego, które Get-TypeData powrócić, aby zbadać dane typu w sesji i wysłać je do Update-TypeData i Remove-TypeData poleceń cmdlet.

Rozszerzone dane typu dodają właściwości i metody do obiektów w programie PowerShell. Można użyć dodanych właściwości i metod w taki sam sposób, jak właściwości i metody zdefiniowane w typie obiektu. Jednak podczas pisania skryptów należy pamiętać, że dodane właściwości i metody mogą nie być obecne w każdej sesji programu PowerShell.

Aby uzyskać więcej informacji na temat plików Types.ps1xml, zobacz about_Types.ps1xml. Aby uzyskać więcej informacji na temat danych typu dynamicznego, które dodaje polecenie cmdlet Update-TypeData, zobacz Update-TypeData.

To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.

Przykłady

Przykład 1. Pobieranie wszystkich danych typu rozszerzonego

Ten przykład pobiera wszystkie dane typu rozszerzonego w bieżącej sesji.

Get-TypeData

Przykład 2. Pobieranie danych typu według nazwy

Ten przykład pobiera wszystkie dane typu w bieżącej sesji, której nazwa jest kwalifikowana za pomocą ciągu "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…

Przykład 3. Pobieranie bloku skryptu tworzącego wartość właściwości

W tym przykładzie jest pobierany blok skryptu, który tworzy wartość właściwości EventID obiektu EventLogEntry.

(Get-TypeData *EventLogEntry*).Members.EventID

GetScriptBlock                     SetScriptBlock     IsHidden Name
--------------                     --------------     -------- ----
$this.get_EventID() -band 0xFFFF                         False EventID

Przykład 4. Pobieranie bloku skryptu definiującego właściwość określonego obiektu

W tym przykładzie jest pobierany blok skryptu, który definiuje właściwość DateTime obiektów System.DateTime w programie 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()
}

Polecenie używa polecenia cmdlet Get-TypeData w celu pobrania danych typu rozszerzonego dla typu System.DataTime. Polecenie pobiera właściwość Members obiektu TypeData.

Właściwość Members zawiera tabelę skrótów właściwości i metod zdefiniowanych przez dane typu rozszerzonego. Każdy klucz w tabeli skrótów Członków jest nazwą właściwości lub metody, a każda wartość jest definicją właściwości lub wartości metody.

Polecenie pobiera klucz DateTime w Członkowie i jego GetScriptBlock wartość właściwości.

Dane wyjściowe pokazują blok skryptu, który tworzy wartość właściwości DateTime każdego obiektu System.DateTime w programie PowerShell.

Parametry

-TypeName

Określa dane typu jako tablicę tylko dla typów o określonych nazwach. Domyślnie Get-TypeData pobiera wszystkie typy w sesji.

Wprowadź nazwy typów lub wzorce nazw. Wymagane są pełne nazwy lub wzorce nazw z symbolami wieloznacznymi, nawet w przypadku typów w przestrzeni nazw systemu. Obsługiwane są symbole wieloznaczne, a nazwa parametru TypeName jest opcjonalna. Nazwy typów potoków można również umieścić w Get-TypeData.

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

Dane wejściowe

String

Do tego polecenia cmdlet można potokować ciągi zawierające nazwy typów.

Dane wyjściowe

TypeData

Uwagi

Get-TypeData pobiera tylko dane typu rozszerzonego w bieżącej sesji. Nie pobiera ona rozszerzonych danych typu, które znajdują się na komputerze, ale nie została dodana do bieżącej sesji, takich jak typy rozszerzone zdefiniowane w modułach, które nie zostały zaimportowane do bieżącej sesji.