Partilhar via


Get-TypeData

Obtém os dados de tipo estendidos na sessão atual.

Sintaxe

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

Description

O Get-TypeData cmdlet obtém os dados de tipo estendidos na sessão atual. Isso inclui dados de tipo que foram adicionados à sessão por Types.ps1xml arquivo e dados de tipo dinâmico que foram adicionados usando o Update-TypeData parâmetro do cmdlet.

Você pode usar os dados de tipo estendidos que Get-TypeData retornam para examinar os dados de tipo na sessão e enviá-los para os Update-TypeData cmdlets e Remove-TypeData .

Os dados de tipo estendidos adicionam propriedades e métodos a objetos no PowerShell. Você pode usar as propriedades e os métodos adicionados da mesma maneira que usaria as propriedades e os métodos definidos no tipo de objeto. No entanto, ao escrever scripts, esteja ciente de que as propriedades e métodos adicionados podem não estar presentes em todas as sessões do PowerShell.

Para obter mais informações sobre Types.ps1xml arquivos, consulte about_Types.ps1xml. Para obter mais informações sobre dados de tipo dinâmico que o Update-TypeData cmdlet adiciona, consulte Update-TypeData.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Obter todos os dados de tipo estendidos

Este exemplo obtém todos os dados de tipo estendidos na sessão atual.

Get-TypeData

Exemplo 2: Obter dados de tipo por nome

Este exemplo obtém todos os dados de tipo na sessão atual cujo nome é qualificado com "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…

Exemplo 3: Obter o bloco de script que cria um valor de propriedade

Este exemplo obtém o bloco de script que cria o valor da propriedade EventID dos objetos EventLogEntry .

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

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

Exemplo 4: Obter o bloco de script que define uma propriedade para um objeto especificado

Este exemplo obtém o bloco de script que define a propriedade DateTime dos objetos System.DateTime no 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()
}

O comando usa o Get-TypeData cmdlet para obter os dados de tipo estendidos para o tipo System.DataTime . O comando obtém a propriedade Members do objeto TypeData.

A propriedade Members contém uma tabela hash de propriedades e métodos que são definidos por dados de tipo de extensão. Cada chave na tabela hash de Membros é um nome de propriedade ou método e cada valor é a definição do valor da propriedade ou método.

O comando obtém a chave DateTime em Membros e seu valor de propriedade GetScriptBlock.

A saída mostra o bloco de script que cria o valor da propriedade DateTime de cada objeto System.DateTime no PowerShell.

Parâmetros

-TypeName

Especifica dados de tipo como uma matriz somente para os tipos com os nomes especificados. Por padrão, Get-TypeData obtém todos os tipos na sessão.

Insira nomes de tipo ou padrões de nome. Nomes completos ou padrões de nome com caracteres curinga são necessários, mesmo para tipos no namespace System. Caracteres curinga são suportados e o nome do parâmetro TypeName é opcional. Você também pode canalizar nomes de tipo para Get-TypeData.

Tipo:String[]
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:True

Entradas

String

Você pode canalizar cadeias de caracteres contendo nomes de tipo para este cmdlet.

Saídas

TypeData

Notas

Get-TypeData Obtém apenas os dados de tipo estendidos na sessão atual. Ele não obtém dados de tipo estendidos que estão no computador, mas não foram adicionados à sessão atual, como tipos estendidos que são definidos em módulos que não foram importados para a sessão atual.