항목
    about_Properties

간단한 설명
    Windows PowerShell에서 개체 속성을 만드는 방법을 설명합니다. 


자세한 설명
    PowerShell에서는 개체라고 하는 구조화된 정보 컬렉션을 사용하여 데이터 저장소의 항목이나 컴퓨터의 상태를 
    나타냅니다.
    사용자는 일반적으로 Microsoft .NET Framework의 일부인 개체를 사용하게 되지만 Windows PowerShell에 
    사용자 지정 개체를 만들 수도 있습니다.


    항목과 해당 개체 간의 연관은 매우 밀접합니다. 개체를 변경하면 개체가 나타내는 항목을 변경할 수 있습니다. 예를 
    들어 Windows PowerShell에서 파일을 가져오면 실제 파일이 표시되지 않습니다.
    대신 파일을 나타내는 FileInfo 개체가 반환됩니다. FileInfo 개체를 변경하면 파일도 변경됩니다.


    대부분의 개체에 속성이 있습니다. 속성은 개체에 연결된 데이터입니다. 이 데이터는 개체를 설명합니다. 예를 들어 
    FileInfo 개체에는 해당 개체가 나타내는 파일의 크기를 설명하는 Length라고 하는 속성이 포함되어 있습니다.


  개체 속성

     개체의 속성을 나열하려면 Get-Member cmdlet을 사용합니다. 예를 들어 FileInfo 개체의 속성을 
     얻으려면 Get-ChildItem cmdlet을 사용하여 파일을 나타내는 FileInfo 개체를 가져옵니다. 그런 
     다음 파이프라인 연산자(|)를 사용하여 FileInfo 개체를 Get-Member에 보냅니다. 다음 명령은 
     PowerShell.exe 파일을 가져와서 Get-Member로 보냅니다. $Pshome 자동 변수는 Windows 
     PowerShell 설치 디렉터리의 경로를 포함합니다.

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


     명령 출력 결과에는 FileInfo 개체의 멤버가 나열됩니다. 멤버는 속성과 메서드를 모두 포함됩니다. Windows 
     PowerShell에서 작업할 때 개체의 모든 멤버에 액세스할 수 있습니다.


     메서드를 제외하고 개체의 속성만 가져오려면 다음 예제와 같이 "property" 값에 Get-Member 
     cmdlet의 MemberType 매개 변수를 사용합니다.

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

            TypeName: System.IO.FileInfo
        

         이름              MemberType 정의
         ----              ---------- ----
         Attributes        속성   System.IO.FileAttributes Attributes {get;set;}
         CreationTime      속성   System.DateTime CreationTime {get;set;}
         CreationTimeUtc   속성   System.DateTime CreationTimeUtc {get;set;}
         Directory         속성   System.IO.DirectoryInfo Directory {get;}
         DirectoryName     속성   System.String DirectoryName {get;}
         Exists            속성   System.Boolean Exists {get;}
         Extension         속성   System.String Extension {get;}
         FullName          속성   System.String FullName {get;}
         IsReadOnly        속성   System.Boolean IsReadOnly {get;set;}
         LastAccessTime    속성   System.DateTime LastAccessTime {get;set;}
         LastAccessTimeUtc 속성   System.DateTime LastAccessTimeUtc {get;set;}
         LastWriteTime     속성   System.DateTime LastWriteTime {get;set;}
         LastWriteTimeUtc  속성   System.DateTime LastWriteTimeUtc {get;set;}
         Length            속성   System.Int64 Length {get;}
         Name              속성   System.String Name {get;}

     속성을 찾은 후에 Windows PowerShell 명령에 해당 속성을 사용할 수 있습니다.


  속성 값
    
     특정 유형의 모든 개체는 같은 속성을 갖지만 그러한 속성 값은 특정 개체를 설명합니다. 예를 들어 모든 FileInfo 
     개체에는 CreationTime 속성이 있지만 해당 속성 값은 파일마다 다릅니다.


     개체의 속성 값을 가져오는 가장 일반적인 방법은 점을 사용하는 것입니다. 개체가 포함된 변수 또는 개체를 가져오는 
     명령과 같은 개체에 대한 참조를 입력한 다음 점(.)을 입력하고 그 뒤에 속성 이름을 입력합니다.


     예를 들어 다음 명령은 PowerShell.exe 파일의 CreationTime 속성 값을 표시합니다. 
     Get-ChildItem 명령은 PowerShell.exe 파일을 나타내는 FileInfo 개체를 반환합니다. 이 
     명령은 괄호로 묶어 속성에 액세스하기 전에 실행해야 합니다. 다음과 같이 Get-ChildItem 명령 다음에 점과 
     CreationTime 속성 이름이 옵니다.

         C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime
         2008년 3월 18일 화요일 오전 12:07:52


     다음 예제와 같이 점을 사용하여 변수에 개체를 저장하면 해당 속성을 얻을 수도 있습니다.

         C:\PS> $a = Get-ChildItem $pshome\powershell.exe
         C:\PS> $a.CreationTime
         2008년 3월 18일 화요일 오전 12:07:52


     Select-Object 및 Format-List cmdlet을 사용하여 개체의 속성 값을 표시할 수도 있습니다. 
     Select-Object와 Format-List는 각각 Property 매개 변수를 갖습니다. Property 매개 
     변수를 사용하여 하나 이상의 속성과 해당 값을 지정할 수 있습니다. 또는 와일드카드 문자(*)를 사용하여 속성을 
     모두 나타낼 수 있습니다.


     예를 들어 다음 명령은 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:         한국어 (대한민국)

         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      : 2008년 3월 18일 오전 12:07:52
         CreationTimeUtc   : 2008년 3월 18일 오전 7:07:52
         LastAccessTime    : 2008년 3월 19일 오전 8:13:58
         LastAccessTimeUtc : 2008년 3월 19일 오후 3:13:58
         LastWriteTime     : 2008년 3월 18일 오전 12:07:52
         LastWriteTimeUtc  : 2008년 3월 18일 오전 7:07:52
         Attributes        : Archive
        

참고 항목
    about_Objects
    Get-Member
    Select-Object
    Format-List




목차