PowerShell SALAD:セッションレジストリ

開始されたセッションではいろいろな場面で汎用的な参照の必要性が想定されます。
つどグローバル変数をつくるというのもできなくはないですが、
そういうものをひとつのインターフェイスで引き出すことができたら後で楽です。

セッションレジストリというかんじで考えてみます。
WindowsではログオンするとロードされるHKCUというレジストリハイブがあります。
この動きに学び、セッションが開始されたらそのセッションでのみ有効な変数格納庫を用意しましょう。

$SessionManagerというグローバル変数をセッションにもたせ、
この変数を通して登録参照をできるようなレジストリにするとよいです。
レジストリとして名前と値のセットを定義し、$SessionManagerはレジストリのリストを管理します。
追加したければ$SessionManager.Add()で、
削除したければ$SessionManager.Remove()で、
値参照したければ$SessionManager.GetValue()で、
というように、$SessionManagerを通してセッションレジストリを操作できるようにしましょう。

そして、$SessionManagerについては環境初期化スクリプト部分にて初期化しておきます。
セッションレジストリの値は変数を適用できるとさらに定義の局所化を進めることができます。
なので、内部で展開できるようにしておきましょう。
スクリプトは実際の環境をみてみてください。