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