다음을 통해 공유


Windows PowerShell 세션 상태

세션 상태는 Windows PowerShell 세션 또는 모듈의 현재 구성을 나타냅니다. Windows PowerShell 세션은 명령줄 사용자가 대화형으로 사용하거나 호스트 애플리케이션에서 프로그래밍 방식으로 사용하는 운영 환경입니다. 세션의 세션 상태를 전역 세션 상태라고 합니다.

개발자 관점에서 Windows PowerShell 세션은 호스트 애플리케이션이 Windows PowerShell Runspace를 여는 시간과 런스페이스를 닫을 때 사이의 시간을 나타냅니다. 다른 방법을 살펴보면 세션은 Runspace가 존재하는 동안 호출되는 Windows PowerShell 엔진 인스턴스의 수명입니다.

모듈 세션 상태

모듈 세션 상태는 모듈 또는 중첩된 모듈 중 하나를 세션으로 가져올 때마다 생성됩니다. 모듈이 cmdlet, 함수 또는 스크립트와 같은 요소를 내보내면 해당 요소에 대한 참조가 세션의 전역 세션 상태에 추가됩니다. 그러나 요소가 실행되면 모듈의 세션 상태 내에서 실행됩니다.

Session-State 데이터

세션 상태 데이터는 퍼블릭 또는 프라이빗일 수 있습니다. 공용 데이터는 세션 상태 외부에서 호출할 수 있는 반면 프라이빗 데이터는 세션 상태 내의 호출에만 사용할 수 있습니다. 예를 들어 모듈에는 모듈에서만 호출하거나 내보낸 public 요소에 의해서만 내부적으로 호출할 수 있는 프라이빗 함수가 있을 수 있습니다. 이는 .NET Framework 형식의 프라이빗 및 퍼블릭 멤버와 유사합니다.

세션 상태 데이터는 현재 Windows PowerShell 세션의 컨텍스트 내에서 실행 엔진의 현재 인스턴스에 의해 저장됩니다. 세션 상태 데이터는 다음 항목으로 구성됩니다.

  • 경로 정보

  • 드라이브 정보

  • Windows PowerShell 공급자 정보

  • 가져온 모듈 및 모듈에서 내보낸 모듈 요소(예: cmdlet, 함수 및 스크립트)에 대한 참조에 대한 정보입니다. 이 정보 및 이러한 참조는 전역 세션 상태에만 해당합니다.

  • 세션 상태 변수 정보

cmdlet 내에서 Session-State 데이터 액세스

cmdlet은 cmdlet 클래스의 System.Management.Automation.PSCmdlet.SessionState* 속성을 통해 간접적으로 또는 System.Management.Automation.SessionState 클래스를 통해 직접 세션 상태 데이터에 액세스할 수 있습니다. System.Management.Automation.SessionState 클래스는 다양한 유형의 세션 상태 데이터를 조사하는 데 사용할 수 있는 속성을 제공합니다.

또한 참조하십시오

System.Management.Automation.PSCmdlet.SessionState

System.Management.Automation.SessionState

Windows PowerShell cmdlet

Windows PowerShell Cmdlet 작성

windows PowerShell Shell SDK