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
Do tego polecenia cmdlet można potokować ciągi zawierające nazwy typów.
Dane wyjściowe
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.