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