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
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.