Why it doesn't work?

作業のメモ、記録をブログに残しています。

PowerShellで環境変数を参照、設定する

掲題通り。PowerShell環境変数を設定する方法のメモ。
PowerShell環境変数の一覧を取得するには

PS > get-childitem env:

Pathの設定だけを参照したければ、以下のように指定する

PS > get-childitem env:Path

新規の変数を追加する場合には、

PS > $env:TESTTEST="for test"
PS > $env:TESTTEST;
for test

既存の変数に値を追加するには、

PS > $env:TESTTEST+=" setting"
PS > $env:TESTTEST;
for test setting

ただし、この設定、変更はこのセッションだけで有効です。Pathなどの環境変数に永続的に設定を反映させるためには、.NET FrameworkのEnvironmentクラスを利用します。

PS > $env:Path += ";C:\Program Files\OpenSSH"
PS > [Environment]::SetEnvironmentVariable('PATH', $Env:Path, 'Machine')

SetEnvironmentVariableメソッドの第三引数は、ターゲットとなる環境変数を表しており、ユーザー環境変数をターゲットとする場合は、"User"、システム環境変数をターゲットとする場合は、"Machine"を指定します。 詳細は以下のリンク先を参照して下さい。
EnvironmentVariableTarget 列挙型 (System)