Documentos de Académico
Documentos de Profesional
Documentos de Cultura
About Types - ps1xml - Help
About Types - ps1xml - Help
about_Types.ps1xml
DESCRIPCIN BREVE
Explica cmo los archivos Types.ps1xml permiten extender los
tipos de Microsoft .NET Framework de los objetos que se utilizan
en Windows PowerShell.
DESCRIPCIN DETALLADA
El archivo Types.ps1xml ubicado en el directorio de instalacin
de Windows PowerShell (pshome $) es un archivo de texto basado en
XML que permite agregar propiedades y mtodos a los objetos que
se utilizan en Windows PowerShell. Windows PowerShell tiene un
archivo Types.ps1xml integrado que agrega varios elementos a los
tipos de .NET Framework, pero se pueden crear archivos
Types.ps1xml adicionales para extender an ms los tipos.
Por ejemplo, de forma predeterminada, los objetos de matriz
(System.Array) tienen una propiedad Length que muestra el nmero
de objetos en la matriz. Sin embargo, como el nombre "length" no
describe claramente la propiedad, Windows PowerShell agrega una
propiedad de alias denominada "Count" que muestra el mismo valor.
El cdigo XML siguiente agrega la propiedad Count al tipo
System.Array.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>
Length
</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Para obtener el nuevo miembro AliasProperty, utilice un comando
Get-Member en cualquier matriz, como se muestra en el ejemplo
siguiente.
Get-Member -inputobject (1,2,3,4)
El comando devuelve los resultados siguientes.
Name
---Count
Address
Clone
CopyTo
MemberType
---------AliasProperty
Method
Method
Method
Definition
---------Count = Length
System.Object& Address(Int32 )
System.Object Clone()
System.Void CopyTo(Array array, Int32 index
Equals
Get
...
Method
Method
):
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
<CodeMethod>: Hace referencia a un mtodo esttico de una clase
de .NET Framework.
La etiqueta <CodeMethod> debe tener un par de etiquetas
<Name> que especifican el nombre del nuevo mtodo y un par
de etiquetas <GetCodeReference> que especifican el cdigo en
que se define el mtodo.
Por ejemplo, la propiedad Mode de directorios (objetos
System.IO.DirectoryInfo) es una propiedad de cdigo definida
en el proveedor FileSystem de Windows PowerShell.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<CodeProperty>
<Name>Mode</Name>
<GetCodeReference>
<TypeName>Microsoft.PowerShell.Commands.FileSystemPro
vider</TypeName>
<MethodName>Mode</MethodName>
</GetCodeReference>
</CodeProperty>
</Members>
</Type>
<CodeProperty>: Hace referencia a un mtodo esttico de una
clase de .NET Framework.
La etiqueta <CodeProperty> debe tener un par de etiquetas
<Name> que especifican el nombre de la nueva propiedad y un
par de etiquetas <GetCodeReference> que especifican el
cdigo en que se define la propiedad.
Por ejemplo, la propiedad Mode de directorios (objetos
System.IO.DirectoryInfo) es una propiedad de cdigo definida
en el proveedor FileSystem de Windows PowerShell.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<CodeProperty>
<Name>Mode</Name>
<GetCodeReference>
<TypeName>Microsoft.PowerShell.Commands.FileSystemPro
vider</TypeName>
<MethodName>Mode</MethodName>
</GetCodeReference>
</CodeProperty>
</Members>
</Type>
<MemberSet>: Define una coleccin de miembros (propiedades y
mtodos).
Las etiquetas <MemberSet> aparecen dentro de las etiquetas
<Members> principales. Las etiquetas deben incluir un par de
etiquetas <Name> que incluyen el nombre del conjunto de
miembros y un par de etiquetas <Members> secundarias que
incluyen los miembros (propiedades y mtodos) del conjunto.
Cualquiera de las etiquetas que crean una propiedad (como
<NoteProperty> o <ScriptProperty>) o un mtodo (como
<Method> o <ScriptMethod>) pueden ser miembros del conjunto.
En los archivos Types.ps1xml, la etiqueta <MemberSet> se
utiliza para definir las
vistas predeterminadas de los objetos de .NET Framework en
Windows PowerShell. En este caso, el nombre del conjunto de
miembros (el valor incluido dentro de las etiquetas <Name>)
siempre es "PsStandardMembers" y los nombres de la etiqueta
de propiedades (el valor de <Name>) son uno de los siguientes:
- DefaultDisplayProperty: Una sola propiedad de un objeto.
- DefaultDisplayPropertySet: Una o ms propiedades de un
objeto.
- DefaultKeyPropertySet: Una o ms propiedades clave de
un objeto. Una propiedad clave identifica instancias de
valores de propiedad, como el nmero de identificacin
de elementos en el historial de una sesin.
Por ejemplo, el contenido XML siguiente define la
presentacin predeterminada de los servicios (objetos
System.ServiceProcess.ServiceController) devueltos por el cmdlet
Get-Service. Define un conjunto de miembros denominado "PsStandardMemb
ers" que consta de un conjunto de propiedades predeterminado con las
propiedades Status, Name y DisplayName.
<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>
<Name>DisplayName</Name>
</ReferencedProperties>
</PropertySet>
<Members>
<MemberSet>
<Members>
<Type>
<ScriptMethod>: Define un mtodo cuyo valor es el resultado de
un script.
La etiqueta <ScriptMethod> debe tener un par de etiquetas
<Name> que especifican el nombre del nuevo mtodo y un par
de etiquetas <Script> que incluyen el bloque de script que
devuelve el resultado del mtodo.
Por ejemplo, los mtodos ConvertFromDateTime y
ConvertToDateTime de objetos de administracin
(System.System.Management.ManagementObject) son mtodos de script que
utilizan los mtodos estticos ToDmtfDateTime y ToDateTime de la clase
System.Management.ManagementDateTimeConverter.
<Type>
<Name>System.Management.ManagementObject</Name>
<Members>
<ScriptMethod>
<Name>ConvertToDateTime</Name>
<Script>
[System.Management.ManagementDateTimeConverter]::To
DateTime($args[0])
</Script>
</ScriptMethod>
<ScriptMethod>
<Name>ConvertFromDateTime</Name>
<Script>
[System.Management.
ManagementDateTimeConverter]::ToDmtfDateTime($args[0])
</Script>
</ScriptMethod>
</Members>
</Type>
<ScriptProperty>: Define una propiedad cuyo valor es el
resultado de un script.
La etiqueta <ScriptProperty> debe tener un par de etiquetas
<Name> que especifican el nombre de la nueva propiedad y un
par de etiquetas <GetScriptBlock> que incluyen el bloque de
script que devuelve el valor de la propiedad.
Por ejemplo, la propiedad VersionInfo de archivos (objetos
System.IO.FileInfo) es una propiedad de script que resulta
de utilizar la propiedad FullName del mtodo esttico
GetVersionInfo de objetos System.Diagnostics.FileVersionInfo.
<Type>
<Name>System.IO.FileInfo</Name>
<Members>
<ScriptProperty>
<Name>VersionInfo</Name>
<GetScriptBlock>
[System.Diagnostics.FileVersionInfo]::GetVersionInfo(
$this.FullName)
</GetScriptBlock>
</ScriptProperty>
</Members>
</Type>
Para obtener ms informacin, vea el Kit de desarrollo de
software de Windows PowerShell (SDK) en MSDN (Microsoft
Developer Network) Library, en http://go.microsoft.com/fwlink/?L
inkId=144538.
Update-TypeData
Para cargar los archivos Types.ps1xml en una consola de Windows
PowerShell, utilice el cmdlet Update-TypeData. Si desea que los
tipos de su archivo tengan prioridad sobre los tipos del
archivo Types.ps1xml integrado, utilice el parmetro
PrependData del cmdlet Update-TypeData. Update-TypeData afecta
solamente a la consola actual. Para realizar el cambio en todas
las consolas futuras, exporte la consola o agregue el comando
Update-TypeData al perfil de Windows PowerShell.
Firmar un archivo Types.ps1xml
Para proteger a los usuarios de su archivo Types.ps1xml, puede
firmar el archivo con una firma digital. Para obtener ms
informacin, vea about_Signing.
VEA TAMBIN
about_Signing
Copy-Item
Get-Member
Update-TypeData