항목
    about_Automatic_Variables

간단한 설명
    Windows PowerShell에 대한 상태 정보를 저장하는 변수에 대해 설명합니다.
    이 변수는 Windows PowerShell에서 만들고 유지 관리합니다.

자세한 설명
    다음은 Windows PowerShell에 있는 자동 변수 목록입니다.
    
    
    $$
       세션에서 수신한 마지막 줄의 마지막 토큰을 포함합니다.
    

    $? 
       마지막 연산의 실행 상태를 포함합니다. 마지막 연산이 성공한 경우 TRUE를 포함하고, 실패한 경우 
       FALSE를 포함합니다.
    
    $^
       세션에서 수신한 마지막 줄의 첫 번째 토큰을 포함합니다.
    
    $_
       파이프라인 개체의 현재 개체를 포함합니다. 파이프라인의 선택한 개체나 모든 개체에 대한 작업을 
       수행하는 명령에 이 변수를 사용할 수 있습니다.
    
    $Args
       함수, 스크립트 또는 스크립트 블록에 전달되는 선언되지 않은 매개 변수 및/또는 매개 변수 값의 
       배열을 포함합니다.
       함수를 만들 때 param 키워드를 사용하거나 함수 이름 뒤에 괄호로 묶고 쉼표로 구분한 매개 변수 
       목록을 추가하여 매개 변수를 선언할 수 있습니다.

    $ConsoleFileName
       세션에서 가장 최근에 사용된 콘솔 파일(.psc1)의 경로를 포함합니다. PSConsoleFile 매개 변수를 
       사용하여 Windows PowerShell을 시작하거나 Export-Console cmdlet을 사용하여 스냅인 이름을 
       콘솔 파일로 내보낼 때 이 변수가 채워집니다. 

       매개 변수 없이 Export-Console cmdlet을 사용하면 세션에서 가장 최근에 사용된 콘솔 파일이 
       자동으로 업데이트됩니다. 이 자동 변수를 사용하여 업데이트될 파일을 결정할 수 있습니다.

    $Error
       가장 최근 오류를 나타내는 오류 개체 배열을 포함합니다. 배열의 첫 번째 오류 개체($Error[0])가 가장 
       최근 오류입니다.


    $Event
       실행 중인 이벤트를 나타내는 PSEventArgs 개체를 포함합니다.  이 변수는 Register-ObjectEvent와 
       같은 이벤트 등록 명령의 Action 블록 내에서만 채워집니다. 이 변수 값은 Get-Event cmdlet이 반환하는
       개체와 동일합니다. 따라서 Action 스크립트 블록에서 $Event.TimeGenerated와 같은 $Event 변수의 
       속성을 사용할 수 있습니다.

    $EventSubscriber 
       실행 중인 이벤트의 이벤트 가입자를 나타내는 PSEventSubscriber 개체를 포함합니다. 이 변수는 이벤트 
       등록 명령의 Action 블록 내에서만 채워집니다. 이 변수 값은 Get-EventSubscriber cmdlet이 반환하는 
       개체와 동일합니다.

    $ExecutionContext
       Windows PowerShell 호스트의 실행 컨텍스트를 나타내는 EngineIntrinsics 개체를 
       포함합니다. 이 변수를 사용하여 cmdlet에 사용 가능한 실행 개체를 찾을 수 있습니다.

    $False
       FALSE를 포함합니다. 문자열 "false"를 사용하는 대신 이 변수를 사용하여 명령과 스크립트에서 
       FALSE를 나타낼 수 있습니다. 비어 있지 않은 문자열 또는 0이 아닌 정수로 변환되는 문자열은 
       TRUE로 해석될 수 있습니다.

    $ForEach
       ForEach-Object 루프의 열거자를 포함합니다. $ForEach 변수의 값에 열거자의 속성과 메서드를 
       사용할 수 있습니다. 이 변수는 For 루프가 실행 중일 때만 존재하며 루프가 완료되면 삭제됩니다.
    
    $Home
       사용자 홈 디렉터리의 전체 경로를 포함합니다. 이 변수는 %homedrive%%homepath% 환경 변수와 
       동일합니다. 일반적으로 C:\Documents and Settings\<user>입니다.

    $Host
       Windows PowerShell의 현재 호스트 응용 프로그램을 나타내는 개체를 포함합니다. 이 변수를 사용하여 
       $Host.version, $Host.CurrentCulture 또는 $host.ui.rawui.setbackgroundcol
       or("Red")와 같이 명령에서 현재 호스트를 나타내거나 호스트의 속성을 표시 또는 변경할 수 있습니다.

    $Input
       함수에 전달되는 입력을 포함하는 열거자입니다. $Input 변수는 대/소문자를 구분하며 함수와 스크립트 
       블록에서만 사용할 수 있습니다. 기본적으로 스크립트 블록은 이름 없는 함수입니다. 함수의 Process 
       블록에서 $Input 변수는 현재 파이프라인에 있는 개체를 포함합니다. Process 블록이 완료되면 $Input 
       값은 NULL입니다. 함수에 Process 블록이 없는 경우 $Input의 값을 End 블록에 사용할 수 있으며 이 
       값에는 함수에 대한 모든 입력이 포함됩니다.

    $LastExitCode
       마지막으로 실행된 Windows 기반 프로그램의 종료 코드를 포함합니다.

    $Matches
       $Matches 변수는 -match 및 -not match 연산자에 사용됩니다.
       -match 또는 -notmatch 연산자로 스칼라 입력을 전송하고 일치 항목이 발견되면 Boolean 값이 반환되고 
       $Matches 자동 변수가 일치하는 문자열 값의 해시 테이블로 채워집니다. -match 연산자에 대한 자세한 
       내용은 about_comparison_operators를 참조하십시오.
    
    $MyInvocation
       스크립트, 함수, 스크립트 블록 등의 현재 명령에 대한 정보와 함께 개체를 포함합니다. 스크립트의 
       경로와 파일 이름($myinvocation.mycommand.path)이나 함수 이름($myinvocation.mycomman
       d.name) 등의 개체 정보를 사용하여 현재 명령을 식별할 수 있습니다. 이 변수는 실행 중인 스크립트의 
       이름을 찾는 데 특히 유용합니다.

    $NestedPromptLevel
       현재 프롬프트 수준을 포함합니다. 값 0은 원래 프롬프트 수준을 나타냅니다. 중첩 수준을 시작하면 
       값이 증가하고 수준을 종료하면 값이 감소합니다.

       예를 들어, $Host.EnterNestedPrompt 메서드를 사용하면 중첩 명령 프롬프트가 표시됩니다. Windows 
       PowerShell 디버거에서 중단점에 도달할 때도 중첩 명령 프롬프트가 표시됩니다.

       중첩 프롬프트를 시작하면 현재 명령이 일시 중지되고 실행 컨텍스트가 저장되며 $NestedPromptLevel 
       변수의 값이 증가합니다. 추가 중첩 프롬프트를 만들거나(최대 128개 수준) 원래의 명령 프롬프트로 
       돌아가려면 명령을 완료하거나 "exit"를 입력합니다. 

       $NestedPromptLevel 변수를 사용하여 프롬프트 수준을 추적할 수 있습니다. 명령 프롬프트가 항상 
       표시되도록 다음 값이 포함된 대체 Windows PowerShell 명령 프롬프트를 만들 수 있습니다.

    $NULL
       NULL 또는 빈 값을 포함합니다. 문자열 "Null"을 사용하는 대신 이 변수를 사용하여 명령과 스크립트에 
       NULL을 나타낼 수 있습니다. 비어 있지 않은 문자열 또는 0이 아닌 정수로 변환되는 문자열은 
       TRUE로 해석될 수 있습니다.

    $PID
       현재 Windows PowerShell 세션을 호스팅하는 프로세스의 PID(프로세스 식별자)를 포함합니다.
  
    $Profile
       현재 사용자나 현재 호스트 응용 프로그램에 대한 Windows PowerShell 프로필의 전체 경로를 
       포함합니다. 이 변수를 사용하여 명령에서 프로필을 나타낼 수 있습니다. 예를 들어, 명령에 이 변수를 
       사용하여 프로필이 만들어졌는지 여부를 확인할 수 있습니다.

           test-path $profile

       또는 명령에 이 변수를 사용하여 프로필을 만들 수 있습니다.

           new-item -type file -path $pshome -force

       명령에 이 변수를 사용하여 메모장에서 프로필을 열 수도 있습니다.

           notepad $profile

    $PSBoundParameters
       활성 매개 변수와 현재 활성 매개 변수 값의 사전을 포함합니다. 스크립트나 함수와 같이 매개 변수가 
       선언되는 범위에서만 이 변수에 값이 있습니다. 이 변수를 사용하여 매개 변수의 현재 값을 
       표시하거나 변경할 수 있으며 매개 변수 값을 다른 스크립트나 함수에 전달할 수 있습니다.

       예를 들면 다음과 같습니다.

         function test {
            param($a, $b)
            
            # 사전 형식으로 매개 변수를 표시합니다.
            $psboundparameters
             
            # $a 및 $b를 사용하여 Test1 함수를 호출합니다.
            test1 @psboundparameters   
         }

    $PsCmdlet
       실행 중인 cmdlet이나 고급 함수를 나타내는 개체를 포함합니다. 

       사용 조건에 맞게 cmdlet이나 함수에 개체의 속성과 메서드를 사용할 수 있습니다. 예를 들어, 
       ParameterSetName 속성은 사용 중인 매개 변수 집합의 이름을 포함하며 ShouldProcess 메서드는 cmdlet에 
       WhatIf 및 Confirm 매개 변수를 동적으로 추가합니다.

       $PSCmdlet 자동 변수에 대한 자세한 내용은 about_Functions_Advanced를 참조하십시오.

    $PsCulture
       운영 체제에서 현재 사용 중인 culture의 이름을 포함합니다. culture에 따라 숫자, 통화, 날짜 등의 항목 
       표시 형식이 결정됩니다. 이 값은 시스템의 System.Globalization.CultureInfo.CurrentCultur
       e.Name 속성 값입니다. 시스템에 대한 System.Globalization.CultureInfo 개체를 가져오려면 
       Get-Culture cmdlet을 사용합니다.

    $PSDebugContext
       디버그 중에는 디버그 환경에 대한 정보를 포함하고, 디버그 중이 아닐 때는 NULL 값을 포함합니다. 
       따라서 이 변수를 사용하여 디버거에 제어권이 있는지 여부를 나타낼 수 있습니다. 변수가 채워진 
       경우에는 Breakpoints 및 InvocationInfo 속성이 있는PsDebugContext 개체를 포함합니다. 
       InvocationInfo 속성에는 Location 속성을 포함하여 유용한 여러 속성이 있습니다. Location 속성은 
       디버그 중인 스크립트의 경로를 나타냅니다.


    $PsHome
       Windows PowerShell 설치 디렉터리의 전체 경로를 포함합니다. 이 경로는 일반적으로 
       %windir%\System32\WindowsPowerShell\v1.0입니다. Windows PowerShell 파일의 
       경로에 이 변수를 사용할 수 있습니다. 예를 들어, 다음 명령은 개념 도움말 항목에서 "variable"이라는 
       단어를 검색합니다. 

            select-string -pattern variable -path $pshome\*.txt

    $PSScriptRoot
       스크립트 모듈이 실행되는 디렉터리를 포함합니다.
       이 변수를 사용하면 스크립트에서 모듈 경로를 통해 다른 리소스에 액세스할 수 있습니다.


    $PsUICulture
       운영 체제에서 현재 사용 중인 UI(사용자 인터페이스) culture의 이름을 포함합니다. UI culture에 따라 
       메뉴와 메시지 등의 사용자 인터페이스 요소에 사용되는 텍스트 문자열이 결정됩니다. 이 값은 
       시스템의 System.Globalization.CultureInfo.CurrentUICulture.Name 속성 
       값입니다. 시스템에 대한 System.Globalization.CultureInfo 개체를 가져오려면 
       Get-UICulture cmdlet을 사용합니다. 


    $PsVersionTable
        현재 세션에서 실행 중인 Windows PowerShell의 버전에 대한 상세 정보를 표시하는 읽기 전용 해시 
        테이블을 포함합니다.
        이 테이블에는 다음 항목이 포함됩니다.

	    CLRVersion:            CLR(공용 언어 런타임)의 버전

	    BuildVersion:          현재 버전의 빌드 번호

    	    PSVersion:             Windows PowerShell 버전 번호

            WSManStackVersion:     WS-Management 스택의 버전 번호

	    PSCompatibleVersions:  현재 버전과 호환되는 Windows PowerShell의 버전

            SerializationVersion:  serialization 메서드의 버전

            PSRemotingProtocolVersion
                                   Windows PowerShell 원격 관리 프로토콜의 버전

    $Pwd
       현재 디렉터리의 전체 경로를 나타내는 경로 개체를 포함합니다. 

    $Sender
       이 이벤트를 발생시키는 개체를 포함합니다. 이 변수는 이벤트 등록 명령의 Action 블록 
       내에서만 채워집니다. 이 변수 값은 Get-Event가 반환하는 PSEventArgs       
       (System.Management.Automation.PSEventArgs) 개체의 Sender 속성에서도 찾을 수 있습니다.
    
    $ShellID
       현재 셸의 식별자를 포함합니다.

    $SourceArgs 
       실행 중인 이벤트의 이벤트 인수를 나타내는 개체를 포함합니다. 이 변수는 이벤트 등록 
       명령의 Action 블록 내에서만 채워집니다.  이 변수 값은 Get-Event가 반환하는 
       PSEventArgs(System.Management.Automation.PSEventArgs) 개체의 SourceArgs 속성에서도
       찾을 수 있습니다.

    $SourceEventArgs 
       실행 중인 이벤트의 EventArgs에서 파생된 첫 번째 이벤트 인수를 나타내는 개체를 포함합니다. 
       이 변수는 이벤트 등록 명령의 Action 블록 내에서만 채워집니다. 이 변수 값은 Get-Event가 반환하는
       PSEventArgs(System.Management.Automation.PSEventArgs) 개체의 SourceArgs 속성에서도 찾을 수 
       있습니다.
      
    $This
        스크립트 속성이나 스크립트 메서드를 정의하는 스크립트 블록에서 $This 변수는 확장 중인 개체를 
        나타냅니다. 

    $True
       TRUE를 포함합니다. 이 변수를 사용하여 명령과 스크립트에서 TRUE를 표시합니다.


참고 항목
    about_Hash_Tables
    about_Preference_Variables
    about_Variables

      




목차