Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al extender objetos de .NET Framework, puede agregar propiedades de alias, propiedades de código, propiedades de nota, propiedades de script y conjuntos de propiedades a los objetos . El XML que define estas propiedades se describe en las secciones siguientes.
Nota:
Los ejemplos de las secciones siguientes proceden del archivo de tipos de Types.ps1xml
predeterminado en el directorio de instalación de PowerShell ($PSHOME
). Para obtener más información, vea About Types.ps1xml.
Propiedades de alias
Una propiedad de alias define un nuevo nombre para una propiedad existente.
En el ejemplo siguiente, la propiedad count se agrega al tipo System.Array. El elemento AliasProperty define la propiedad extendida como una propiedad de alias. El elemento Name especifica el nuevo nombre. Además, el elemento ReferencedMemberName especifica la propiedad existente a la que hace referencia el alias. También puede agregar el elemento AliasProperty
a los miembros del elemento MemberSets.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Propiedades de código
Una propiedad de código hace referencia a una propiedad estática de un objeto de .NET Framework.
En el ejemplo siguiente, la propiedad Modo de se agrega al tipo de System.IO.DirectoryInfo de. El elemento CodeProperty define la propiedad extendida como una propiedad de código. El elemento Name especifica el nombre de la propiedad extendida. Además, el elemento GetCodeReference define el método estático al que hace referencia la propiedad extendida. También puede agregar el elemento CodeProperty
a los miembros del 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>
Propiedades de nota
Una propiedad note define una propiedad que tiene un valor estático.
En el ejemplo siguiente, la propiedad Status, cuyo valor siempre se Success, se agrega al tipo System.IO.DirectoryInfo. El elemento NoteProperty define la propiedad extendida como una propiedad de nota. El elemento Name especifica el nombre de la propiedad extendida. El elemento Value especifica el valor estático de la propiedad extendida. El elemento NoteProperty
también se puede agregar a los miembros del elemento MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<NoteProperty>
<Name>Status</Name>
<Value>Success</Value>
</NoteProperty>
</Members>
</Type>
Propiedades de script
Una propiedad de script define una propiedad cuyo valor es la salida de un script.
En el ejemplo siguiente, la propiedad VersionInfo se agrega al tipo de System.IO.FileInfo de. El elemento ScriptProperty define la propiedad extendida como una propiedad de script. El elemento Name especifica el nombre de la propiedad extendida. Además, el elemento GetScriptBlock especifica el script que genera el valor de propiedad. También puede agregar el elemento ScriptProperty
a los miembros del 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 propiedades
Un conjunto de propiedades define un grupo de propiedades extendidas a las que se puede hacer referencia por el nombre del conjunto. Por ejemplo, el parámetro Format-TableProperty puede especificar un conjunto de propiedades específico que se va a mostrar. Cuando se especifica un conjunto de propiedades, solo se muestran las propiedades que pertenecen al conjunto.
No hay ninguna restricción en el número de conjuntos de propiedades que se pueden definir para un objeto. Sin embargo, los conjuntos de propiedades usados para definir las propiedades de visualización predeterminadas de un objeto deben especificarse dentro del conjunto de miembros de PSStandardMembers. En el archivo de tipos de Types.ps1xml
, los nombres de conjunto de propiedades predeterminados incluyen DefaultDisplayProperty, DefaultDisplayPropertySety DefaultKeyPropertySet. Se omiten los conjuntos de propiedades adicionales que agregue al conjunto de miembros de PSStandardMembers.
En el ejemplo siguiente, el conjunto de propiedades DefaultDisplayPropertySet se agrega al conjunto de miembros de PSStandardMembers del tipo de System.ServiceProcess.ServiceController. El elemento PropertySet define el grupo de propiedades. El elemento Name especifica el nombre del conjunto de propiedades. Además, el elemento ReferencedProperties especifica las propiedades del conjunto. También puede agregar el elemento PropertySet
a los miembros del elemento Type de.
<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>