TEMA
    about_Properties

DESCRIPCIÓN BREVE
    Describe cómo utilizar las propiedades de los objetos de Windows 
    PowerShell. 


DESCRIPCIÓN DETALLADA
    Windows PowerShell usa colecciones estructuradas de datos, 
    denominadas objetos, para representar los elementos de los 
    almacenes de datos o el estado del equipo.
    Normalmente, se trabaja con objetos que forman parte de Microsoft 
    .NET Framework, pero también se pueden crear objetos 
    personalizados en Windows PowerShell.


    La asociación entre un elemento y su objeto es muy estrecha. 
    Cuando se modifica un objeto, se modifica el elemento que 
    representa. Por ejemplo, cuando se obtiene un archivo en Windows 
    PowerShell, no se obtiene el archivo propiamente dicho.
    En su lugar, se obtiene un objeto FileInfo que representa el 
    archivo. Cuando se modifica el objeto FileInfo, también se 
    modifica el archivo.


    La mayoría de los objetos tienen propiedades. Las propiedades son 
    los datos asociados a un objeto. Estos datos describen el objeto. 
    Por ejemplo, un objeto FileInfo tiene una propiedad denominada 
    Length, que describe el tamaño del archivo que el objeto representa.


  Propiedades de objetos

     Para ver las propiedades de un objeto, use el cmdlet Get-Member. 
     Por ejemplo, si desea obtener las propiedades de un objeto 
     FileInfo, utilice el cmdlet Get-ChildItem para obtener el objeto 
     FileInfo que representa un archivo. A continuación, utilice un 
     operador de canalización (|) para enviar el objeto FileInfo a 
     Get-Member. El comando siguiente obtiene el archivo 
     PowerShell.exe y lo envía a Get-Member. La variable automática 
     $Pshome contiene la ruta de acceso al directorio de instalación 
     de Windows PowerShell.

         get-childitem $pshome\powershell.exe | get-member


     El resultado del comando muestra los miembros del objeto FileInfo. 
     Los miembros incluyen propiedades y métodos. Cuando trabaja en Windows 
     PowerShell, tiene acceso a todos los miembros de los objetos.


     Para obtener únicamente las propiedades de un objeto y no los métodos, 
     utilice el parámetro MemberType del cmdlet Get-Member con el valor "property", 
     tal y como se indica en el ejemplo siguiente.

         get-childitem $pshome\powershell.exe | get-member -membertype property

            TypeName: System.IO.FileInfo
        
         Name              MemberType Definition
         ----              ---------- ----------
         Attributes        Property   System.IO.FileAttributes Attributes {get;set;}
         CreationTime      Property   System.DateTime CreationTime {get;set;}
         CreationTimeUtc   Property   System.DateTime CreationTimeUtc {get;set;}
         Directory         Property   System.IO.DirectoryInfo Directory {get;}
         DirectoryName     Property   System.String DirectoryName {get;}
         Exists            Property   System.Boolean Exists {get;}
         Extension         Property   System.String Extension {get;}
         FullName          Property   System.String FullName {get;}
         IsReadOnly        Property   System.Boolean IsReadOnly {get;set;}
         LastAccessTime    Property   System.DateTime LastAccessTime {get;set;}
         LastAccessTimeUtc Property   System.DateTime LastAccessTimeUtc {get;set;}
         LastWriteTime     Property   System.DateTime LastWriteTime {get;set;}
         LastWriteTimeUtc  Property   System.DateTime LastWriteTimeUtc{get;set;}
         Length            Property   System.Int64 Length {get;}
         Name              Property   System.String Name {get;}

     Después de obtener las propiedades, puede utilizarlas en los 
     comandos de Windows PowerShell.


  Valores de propiedad
    
     Si bien todos los objetos de un tipo específico tienen las 
     mismas propiedades, los valores de esas propiedades describen el 
     objeto concreto. Por ejemplo, todos los objetos FileInfo tienen 
     una propiedad CreationTime, pero el valor de esa propiedad 
     difiere para cada archivo.


     La manera más común de obtener los valores de las propiedades de 
     un objeto es el uso de un punto. Escriba una referencia al 
     objeto, como una variable que contenga el objeto, o un comando 
     que lo obtenga. A continuación, escriba un punto (.) seguido del 
     nombre de la propiedad.


     Por ejemplo, el comando siguiente muestra el valor de la 
     propiedad CreationTime del archivo PowerShell.exe. El comando 
     Get-ChildItem devuelve un objeto FileInfo que representa el 
     archivo PowerShell.exe. El comando se encuentra entre paréntesis 
     para garantizar que se ejecute antes de que se obtenga acceso a 
     las propiedades. El comando Get-ChildItem va seguido de un punto 
     y el nombre de la propiedad CreationTime, tal y como se indica a 
     continuación:

         C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime
         Martes, 18 de marzo de 2008 12:07:52


     Asimismo, puede guardar un objeto en una variable y, a 
     continuación, obtener sus propiedades usando un punto, tal y 
     como se indica en el ejemplo siguiente:

         C:\PS> $a = Get-ChildItem $pshome\powershell.exe
         C:\PS> $a.CreationTime
         Martes, 18 de marzo de 2008 12:07:52


     También puede utilizar los cmdlets Select-Object y Format-List 
     para mostrar los valores de las propiedades de un objeto. 
     Select-Object y Format-List tienen un parámetro Property. Puede 
     usar el parámetro Property para especificar una o varias 
     propiedades y sus valores. O bien, puede usar el carácter 
     comodín (*) para representar todas las propiedades.


     Por ejemplo, el comando siguiente muestra los valores de todas 
     las propiedades del archivo PowerShell.exe. 
 
 
         C:\PS> Get-ChildItem $pshome\powershell.exe | Format-List -property *

         PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
         PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\WindowsPowerShell\v1.0
         PSChildName       : powershell.exe
         PSDrive           : C
         PSProvider        : Microsoft.PowerShell.Core\FileSystem
         PSIsContainer     : False
         VersionInfo       : File:             C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
                             InternalName:     POWERSHELL
                             OriginalFilename: PowerShell.EXE.MUI
                             File Version:     6.1.6570.1 (fbl_srv_powershell(nigels).070711-0102)
                             FileDescription:  PowerShell.EXE
                             Product:          Sistema operativo Microsoft(r) Windows(r)
                             ProductVersion:   6.1.6570.1
                             Debug:            False
                             Patched:          False
                             PreRelease:       False
                             PrivateBuild:     True
                             SpecialBuild:     False
                             Language:         Inglés (Estados Unidos)

         BaseName          : powershell
         Mode              : -a---
         Name              : powershell.exe
         Length            : 160256
         DirectoryName     : C:\Windows\system32\WindowsPowerShell\v1.0
         Directory         : C:\Windows\system32\WindowsPowerShell\v1.0
         IsReadOnly        : False
         Exists            : True
         FullName          : C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
         Extension         : .exe
         CreationTime      : 18/3/2008 12:07:52
         CreationTimeUtc   : 18/3/2008 7:07:52
         LastAccessTime    : 19/3/2008 8:13:58
         LastAccessTimeUtc : 19/3/2008 15:13:58
         LastWriteTime     : 18/3/2008 12:07:52
         LastWriteTimeUtc  : 18/3/2008 7:07:52
         Attributes        : Archivo
        

VEA TAMBIÉN
    about_Objects
    Get-Member
    Select-Object
    Format-List




Tabla de contenido