PowerShell を使用して環境変数を設定する
- 環境変数とは
-
PowerShell で
Env:
を使用して環境変数を設定する -
PowerShell で
[System.Environment]
.NET クラスを設定する - 現在の PowerShell セッションで環境変数を更新する
Windows PowerShell を使用して Windows 環境変数を設定し、環境変数を読み取り、新しい環境変数を作成することは、コマンドの適切な実行がわかれば簡単です。
PowerShell は、$env:
PSDrive および [System.Environment]
.NET クラスから Windows 環境変数とやり取りするためのさまざまな方法を提供します。 この記事では、環境変数の設定と、PowerShell を使用した現在のセッションでの更新について説明します。
環境変数とは
名前が示すように、環境変数には、Windows とアプリケーションの環境に関する情報が格納されます。
Windows エクスプローラーなどのグラフィカル インターフェイスや、メモ帳、cmd.exe、PowerShell などのプレーン テキスト エディターから環境変数にアクセスできます。
環境変数を使用すると、PowerShell スクリプトまたはモジュールでファイル パス、ユーザー名またはコンピューター名などをハード コーディングする必要がなくなります。
PowerShell で Env:
を使用して環境変数を設定する
New-Item
コマンドレットを使用して、PowerShell で新しい環境変数を作成できます。 ただし、最初に、以下に示すように、環境変数の名前を Env:\<EnvVarName>
形式で Value
パラメーターに指定します。
コード例:
New-Item -Path Env:\TEST -Value WIN10-DESKTOP
出力:
Name Value
---- -----
TEST WIN10-DESKTOP
Set-Item
コマンドレットを使用して、環境変数を設定するか、まだ存在しない場合は新しい環境変数を作成できます。 たとえば、Set-Item
コマンドレットを使用して以下を確認できます。
環境変数を作成または変更できます。
コード例:
Set-Item -Path Env:TEST -Value "TestValue"
PowerShell で [System.Environment]
.NET クラスを設定する
[System.Environment]
は、いくつかの異なる .NET 静的クラス メソッドを使用します。 静的な方法が何であるかを理解する必要はありません。
これから学ぶテクニックを理解するだけでよく、最初にクラス ([System.Environment]
) を参照し、続いて 2つのコロン (::
) を参照し、次にメソッドを参照する必要があります。 .
上記の .NET クラスを使用して環境変数を設定するには、SetEnvironmentVariable()
関数を使用して、指定されたスコープの既存の環境変数の値を設定するか、まだ存在しない場合は新しい環境変数を作成します。
プロセス スコープで変数を設定すると、プロセス スコープが揮発性で現在のセッションに存在することがわかりますが、ユーザー スコープとマシン スコープへの変更は永続的です。
コード例:
[System.Environment]::SetEnvironmentVariable('TestVariable','TestValue','User')
現在の PowerShell セッションで環境変数を更新する
PowerShell セッションで新しい環境変数セットを使用するには、.NET クラスを介してユーザー プロファイルとマシンの環境変数を取得し、それを PowerShell 環境変数に割り当てます。
環境変数も PowerShell 変数と見なされるため、より簡単に直接値を割り当てることができます。
コード例:
$env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn