Compartilhar via


Get-TypeData

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

Sintaxe

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

Description

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

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

Dados de tipo estendido 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, lembre-se 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 arquivos Types.ps1xml, consulte about_Types.ps1xml. Para obter mais informações sobre dados de tipo dinâmico que o cmdlet Update-TypeData adiciona, consulte Update-TypeData.

Esse cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Obter todos os dados de tipo estendido

Este exemplo obtém todos os dados de tipo estendido 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 de 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 de 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 cmdlet Get-TypeData para obter os dados de tipo estendidos para o tipo de System.DataTime. O comando obtém a propriedade Members do objeto TypeData.

A propriedade Members contém uma tabela de hash de propriedades e métodos definidos por dados de tipo estendido. Cada chave na tabela hash Membros é um nome de propriedade ou método e cada valor é a definição do valor da propriedade ou do 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 do sistema. Há suporte para curingas e o nome do parâmetro TypeName é opcional. Você também pode canalizar nomes de tipo para Get-TypeData.

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

Entradas

String

Você pode canalizar cadeias de caracteres que contêm nomes de tipo para este cmdlet.

Saídas

TypeData

Observações

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