Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ao estender objetos do .NET Framework, você pode adicionar propriedades de alias, propriedades de código, propriedades de nota, propriedades de script e conjuntos de propriedades aos objetos. O XML que define essas propriedades é descrito nas seções a seguir.
Observação
Os exemplos nas seções a seguir são do arquivo de tipos de Types.ps1xml padrão no diretório de instalação do PowerShell ($PSHOME). Para obter mais informações, consulte Sobre Types.ps1xml.
Propriedades de alias
Uma propriedade alias define um novo nome para uma propriedade existente.
No exemplo a seguir, a propriedade Count é adicionada ao tipo de System.Array. O elemento AliasProperty define a propriedade estendida como uma propriedade alias. O elemento Name especifica o novo nome. Além disso, o elemento ReferencedMemberName especifica a propriedade existente que é referenciada pelo alias. Você também pode adicionar o elemento AliasProperty aos membros do elemento MemberSets.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Propriedades do código
Uma propriedade de código faz referência a uma propriedade estática de um objeto .NET Framework.
No exemplo a seguir, a propriedade Mode é adicionada ao tipo de System.IO.DirectoryInfo. O CodeProperty elemento define a propriedade estendida como uma propriedade code. O elemento Name especifica o nome da propriedade estendida. E, o GetCodeReference elemento define o método estático que é referenciado pela propriedade estendida. Você também pode adicionar o elemento CodeProperty aos membros do elemento MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<CodeProperty>
<Name>Mode</Name>
<GetCodeReference>
<TypeName>Microsoft.PowerShell.Commands.FileSystemProvider</TypeName>
<MethodName>Mode</MethodName>
</GetCodeReference>
</CodeProperty>
</Members>
</Type>
Propriedades da nota
Uma propriedade note define uma propriedade que tem um valor estático.
No exemplo a seguir, a propriedade Status, cujo valor é sempre Success, é adicionada ao tipo de System.IO.DirectoryInfo. O elemento NoteProperty define a propriedade estendida como uma propriedade note. O elemento Name especifica o nome da propriedade estendida. O elemento Value especifica o valor estático da propriedade estendida. O elemento NoteProperty também pode ser adicionado aos membros do elemento MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<NoteProperty>
<Name>Status</Name>
<Value>Success</Value>
</NoteProperty>
</Members>
</Type>
Propriedades do script
Uma propriedade de script define uma propriedade cujo valor é a saída de um script.
No exemplo a seguir, a propriedade VersionInfo é adicionada ao tipo de System.IO.FileInfo. O elemento ScriptProperty define a propriedade estendida como uma propriedade de script. O elemento Name especifica o nome da propriedade estendida. Além disso, o elemento GetScriptBlock especifica o script que gera o valor da propriedade. Você também pode adicionar o elemento ScriptProperty aos membros do elemento MemberSets.
<Type>
<Name>System.IO.FileInfo</Name>
<Members>
<ScriptProperty>
<Name>VersionInfo</Name>
<GetScriptBlock>
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)
</GetScriptBlock>
</ScriptProperty>
</Members>
</Type>
Conjuntos de propriedades
Um conjunto de propriedades define um grupo de propriedades estendidas que podem ser referenciadas pelo nome do conjunto. Por exemplo, o parâmetro Format-TableProperty pode especificar um conjunto de propriedades específico a ser exibido. Quando um conjunto de propriedades é especificado, somente as propriedades que pertencem ao conjunto são exibidas.
Não há restrição quanto ao número de conjuntos de propriedades que podem ser definidos para um objeto. No entanto, os conjuntos de propriedades usados para definir as propriedades de exibição padrão de um objeto devem ser especificados dentro do PSStandardMembers conjunto de membros. No arquivo de tipos Types.ps1xml, os nomes do conjunto de propriedades padrão incluem DefaultDisplayProperty , DefaultDisplayPropertySete DefaultKeyPropertySet. Todos os conjuntos de propriedades adicionais que você adicionar ao PSStandardMembers conjunto de membros serão ignorados.
No exemplo a seguir, o conjunto de propriedades DefaultDisplayPropertySet é adicionado ao conjunto de membros PSStandardMembers do tipo de System.ServiceProcess.ServiceController. O elemento PropertySet define o grupo de propriedades. O elemento Name especifica o nome do conjunto de propriedades. Além disso, o elemento ReferencedProperties especifica as propriedades do conjunto. Você também pode adicionar o elemento PropertySet aos membros do elemento Type.
<Type>
<Name>System.ServiceProcess.ServiceController</Name>
<Members>
<MemberSet>
<Name>PSStandardMembers</Name>
<Members>
<PropertySet>
<Name>DefaultDisplayPropertySet</Name>
<ReferencedProperties>
<Name>Status</Name
<Name>Name</Name>
<Name>DisplayName</Name>
</ReferencedProperties>
</PropertySet>
</Members>
</MemberSet>
</Members>
</Type>
Ver também
Sobre o Types.ps1xml