TÓPICO about_Properties DESCRIÇÃO RESUMIDA Descreve como usar as propriedades de objeto no Windows PowerShell. DESCRIÇÃO LONGA O Windows PowerShell usa coleções estruturadas de informações, chamadas objetos, para representar os itens em repositórios de dados ou o estado do computador. Normalmente, você trabalha com objetos que fazem parte do Microsoft .NET Framework, mas também pode criar objetos personalizados no Windows PowerShell. A associação entre um item e seu objeto é muito próxima. Quando você altera um objeto, o item que o representa também é alterado. Por exemplo, quando você obtém um arquivo no Windows PowerShell, não obtém o arquivo real. Em vez disso, você obtém um objeto FileInfo que representa o arquivo. Quando você alterar o objeto FileInfo, o arquivo também será alterado. A maioria dos objetos tem propriedades. As propriedades são os dados associados a um objeto. Esses dados descrevem o objeto. Por exemplo, um objeto FileInfo tem uma propriedade chamada Length que descreve o tamanho do arquivo representado pelo objeto. Propriedades do objeto Para listar as propriedades de um objeto, use o cmdlet Get-Member. Por exemplo, para obter as propriedades de um objeto FileInfo, use o cmdlet Get-ChildItem a fim de obter o objeto FileInfo que representa um arquivo. Em seguida, use um operador de pipeline (|) para enviar o objeto FileInfo ao Get-Member. O comando a seguir obtém o arquivo PowerShell.exe e o envia ao Get-Member. A variável automática $Pshome contém o caminho do diretório de instalação do Windows PowerShell. get-childitem $pshome\powershell.exe | get-member A saída do comando lista os membros do objeto FileInfo. Os membros incluem propriedades e métodos. Quando você trabalha no Windows PowerShell, tem acesso a todos os membros dos objetos. Para obter apenas as propriedades de um objeto e não os métodos, use o parâmetro MemberType do cmdlet Get-Member com um valor de "propriedade", como mostrado no exemplo a seguir. 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;} Depois que você localizar as propriedades, poderá usá-las nos comandos do Windows PowerShell. Valores de Propriedade Embora todos os objetos de um tipo específico tenham as mesmas propriedades, os valores dessas propriedades descrevem o objeto específico. Por exemplo, todos os objetos FileInfo têm uma propriedade CreationTime, mas o valor dessa propriedade difere para cada arquivo. O modo mais comum de obter os valores das propriedades de um objeto é usar o método de ponto. Digite uma referência ao objeto, como uma variável que contém o objeto, ou um comando que obtém o objeto. Em seguida, digite um ponto (.) seguido pelo nome da propriedade. Por exemplo, o comando a seguir exibe o valor da propriedade CreationTime do arquivo PowerShell.exe. O comando Get-ChildItem retorna um objeto FileInfo que representa o arquivo PowerShell.exe. O comando é colocado entre parênteses para garantir sua execução antes que qualquer propriedade seja acessada. O comando Get-ChildItem é seguido por um ponto e pelo nome da propriedade CreationTime, como a seguir: C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime Terça-feira, 18 de março de 2008 00:07:52 Você também pode salvar um objeto em uma variável e obter suas propriedades usando o método de ponto, como mostrado neste exemplo: C:\PS> $a = Get-ChildItem $pshome\powershell.exe C:\PS> $a.CreationTime Terça-feira, 18 de março de 2008 00:07:52 Você também pode usar os cmdlets Select-Object e Format-List para exibir os valores de propriedade de um objeto. Select-Object e Format-List têm parâmetros Property diferentes. É possível usar o parâmetro Property para especificar uma ou mais propriedades e seus respectivos valores. Ou, você pode usar o caractere curinga (*) para representar todas as propriedades. Por exemplo, o comando a seguir exibe os valores de todas as propriedades do arquivo 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 00:07:52 CreationTimeUtc : 18/3/2008 00:07:52 LastAccessTime : 19/3/2008 8:13:58 LastAccessTimeUtc : 19/3/2008 20:13:58 LastWriteTime : 18/3/2008 00:07:52 LastWriteTimeUtc : 18/3/2008 00:07:52 Attributes : Archive CONSULTE TAMBÉM about_Objects Get-Member Select-Object Format-List