Udostępnij za pośrednictwem


Get-TypeData

Pobiera dane typu rozszerzonego w bieżącej sesji.

Składnia

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

Opis

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

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

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 Types.ps1xml plików, zobacz about_Types.ps1xml. Aby uzyskać więcej informacji na temat danych typu dynamicznego Update-TypeData , które dodaje polecenie cmdlet, 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 obiektów 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 definiujący 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 Get-TypeData polecenia cmdlet , aby uzyskać dane typu rozszerzonego dla typu System.DataTime . Polecenie pobiera właściwość Members obiektu TypeData.

Właściwość Członkowie zawiera tabelę skrótów właściwości i metod, które są definiowane przez dane rozszerzonego typu. 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 elementach Members i jego wartość właściwości GetScriptBlock.

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. Symbole wieloznaczne są obsługiwane, a nazwa parametru TypeName jest opcjonalna. Nazwy typów potoków można również umieścić w potoku na 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.