ARGOMENTO
    about_Properties

DESCRIZIONE BREVE
    Descrive come utilizzare le proprietà degli oggetti in Windows 
    PowerShell. 


DESCRIZIONE DETTAGLIATA
    In Windows PowerShell vengono utilizzati insiemi strutturati di 
    informazioni, detti oggetti, per rappresentare gli elementi degli 
    archivi dati o lo stato del computer.
    In genere, si utilizzano oggetti che fanno parte di Microsoft 
    .NET Framework ma è anche possibile creare oggetti personalizzati 
    in Windows PowerShell.


    L'associazione tra un elemento e l'oggetto è molto stretta. 
    Quando si modifica un oggetto, si modifica anche l'elemento che 
    rappresenta. Ad esempio, quando si ottiene un file in Windows 
    PowerShell, non si ottiene il file effettivo.
    Si ottiene, viceversa, un oggetto FileInfo che rappresenta tale 
    file. Quando si modifica l'oggetto FileInfo, viene modificato 
    anche il file.


    La maggior parte degli oggetti dispone di proprietà. Le proprietà 
    sono i dati associati a un oggetto. Questi dati descrivono 
    l'oggetto. Ad esempio, un oggetto FileInfo include la proprietà 
    Length, che specifica le dimensioni del file rappresentato 
    dall'oggetto.


  Proprietà degli oggetti

     Per elencare le proprietà di un oggetto, utilizzare il cmdlet 
     Get-Member. Ad esempio per ottenere le proprietà di un oggetto 
     FileInfo, utilizzare il cmdlet Get-ChildItem per ottenere 
     l'oggetto FileInfo che rappresenta un file. Quindi, utilizzare 
     un operatore pipeline (|) per inviare l'oggetto FileInfo a 
     Get-Member. Il comando seguente ottiene il file PowerShell.exe e 
     lo invia a Get-Member. La variabile automatica $Pshome contiene 
     il percorso della directory di installazione di Windows PowerShell.

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


     Nell'output del comando sono elencati i membri dell'oggetto 
     FileInfo. I membri includono sia proprietà che metodi. Quando si 
     utilizza Windows PowerShell, si ha accesso a tutti i membri 
     degli oggetti.


     Per ottenere solo le proprietà di un oggetto e non i metodi, 
     utilizzare il parametro MemberType del cmdlet Get-Member con il 
     valore "property" come illustrato nell'esempio seguente.

         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;}

     Dopo avere trovato le proprietà, è possibile utilizzarle nei 
     comandi di Windows PowerShell.


  Valori delle proprietà
    
     Anche se ogni oggetto di un tipo specifico dispone delle stesse 
     proprietà, i valori di quelle proprietà descrivono il 
     particolare oggetto. Ad esempio, ogni oggetto FileInfo dispone 
     di una proprietà CreationTime, ma il valore di tale proprietà è 
     diverso per ogni file.


     La modalità più comune per ottenere i valori delle proprietà di 
     un oggetto è utilizzare il metodo con punto. Digitare un 
     riferimento all'oggetto, ad esempio una variabile contenente 
     l'oggetto o un comando che ottiene l'oggetto. Quindi, digitare 
     un punto (.) seguito dal nome della proprietà.


     Ad esempio, il comando seguente visualizza il valore della 
     proprietà CreationTime del file PowerShell.exe. Il comando 
     Get-ChildItem restituisce un oggetto FileInfo che rappresenta il 
     file PowerShell.exe. Il comando è racchiuso tra parentesi per 
     assicurare che venga eseguito prima dell'accesso a qualsiasi 
     proprietà. Il comando Get-ChildItem è seguito da un punto e dal 
     nome della proprietà CreationTime, come illustrato di seguito:

         C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime
         Martedì 18 marzo 2008 12.07.52


     È possibile salvare anche un oggetto in una variabile e 
     ottenerne le proprietà tramite il metodo con punto, come 
     illustrato nell'esempio seguente:

         C:\PS> $a = Get-ChildItem $pshome\powershell.exe
         C:\PS> $a.CreationTime
         Martedì 18 marzo 2008 12.07.52


     È anche possibile utilizzare i cmdlet Select-Object e 
     Format-List per visualizzare i valori delle proprietà di un 
     oggetto. Select-Object e Format-List hanno un parametro 
     Property. È possibile utilizzare il parametro Property per 
     specificare una o più proprietà e il loro valore. In alternativa 
     è possibile utilizzare il carattere (*) per rappresentare tutte 
     le proprietà.


     Ad esempio, il comando seguente visualizza i valori di tutte le 
     proprietà del file 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:          Microsoft® Windows® Operating System
                             ProductVersion:   6.1.6570.1
                             Debug:            False
                             Patched:          False
                             PreRelease:       False
                             PrivateBuild:     True
                             SpecialBuild:     False
                             Language:         English (United States)

         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        : Archive
        

VEDERE ANCHE
    about_Objects
    Get-Member
    Select-Object
    Format-List




Argomenti della Guida