항목 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