次の方法で共有


Windows PowerShell セッション状態

セッション状態とは、セッションまたはモジュールの現在Windows PowerShellを指します。 セッションWindows PowerShellは、コマンド ライン ユーザーが対話的に使用するか、ホスト アプリケーションによってプログラムによって使用される運用環境です。 セッションのセッション状態は、グローバル セッション状態と呼ばれます。

開発者の観点から見ると、Windows PowerShell セッションとは、ホスト アプリケーションが Windows PowerShell 実行空間を開いてから実行空間を閉じる時間を指します。 別の方法で見て、セッションは、実行空間が存在している間に呼び出される Windows PowerShell エンジンのインスタンスの有効期間です。

モジュール セッションの状態

モジュール セッションの状態は、モジュールまたは入れ子になったモジュールの 1 つがセッションにインポートされるたびに作成されます。 モジュールがコマンドレット、関数、スクリプトなどの要素をエクスポートすると、その要素への参照がセッションのグローバル セッション状態に追加されます。 ただし、要素が実行されると、モジュールのセッション状態内で実行されます。

Session-State データ

セッション状態データは、パブリックまたはプライベートにできます。 パブリック データはセッション状態の外部からの呼び出しで使用できます。プライベート データはセッション状態内からの呼び出しでのみ使用できます。 たとえば、モジュールは、モジュールによってのみ呼び出したり、エクスポートされたパブリック要素によってのみ内部的に呼び出したりできるプライベート関数を持つ場合があります。 これは、 型のプライベート メンバーとパブリック メンバー.NET Framework似ています。

セッション状態データは、現在のセッションのコンテキスト内の実行エンジンの現在のインスタンスWindows PowerShellされます。 セッション状態データは、次の項目で構成されます。

  • パス情報

  • ドライブ情報

  • Windows PowerShellプロバイダー情報

  • インポートされたモジュールに関する情報と、モジュールによってエクスポートされるモジュール要素 (コマンドレット、関数、スクリプトなど) への参照。 この情報とこれらの参照は、グローバル セッション状態のみを目的とします。

  • セッション状態変数の情報

コマンドレット内Session-Stateデータへのアクセス

コマンドレットは、コマンドレット クラスの System.Management.Automation.PSCmdlet.Sessionstate* プロパティを介して間接的に、または System.Management.Automation.Sessionstate クラスを介して直接、セッション状態データにアクセスできます。 System.Management.Automation.Sessionstateクラスは、さまざまな種類のセッション状態データを調査するために使用できるプロパティを提供します。

参照

System.Management.Automation.PSCmdlet.Sessionstate

System.Management.Automation.Sessionstate?Displayproperty=Fullname

Windows PowerShell コマンドレット

Windows PowerShell コマンドレットの記述

Windows PowerShell シェル SDK