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
Você pode canalizar cadeias de caracteres que contêm nomes de tipo para este cmdlet.
Saídas
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.