【Windows】PowerShell 環境変数の一覧と使用例[$Env:]

Microsoft Windows
スポンサーリンク

Windows PowerShell で利用できる環境変数ですが、個人的に一覧の確認や指定の方法を忘れがちだったので既定で使える変数と使用例をまとめましたので参考にして頂ければと思います。

スポンサーリンク

PowerShell 環境変数の一覧と使用例

PowerShell で設定されている環境変数をまとめてみました。こちらの情報は「Get-ChildItem Env:」で取得した Windows Server 2019 日本語版のインストール直後のものになります。
※環境によっては Variable Name の項目数が異なる場合があります。

Name を $Env:<variable-name> のように指定することで、対象環境の Value 値 を利用することができます。ちなみに、Env とは、Environment(環境)の意味のようです。

既定の環境変数

  Name(variable-name) Value
1 ALLUSERSPROFILE C:\ProgramData
2 APPDATA C:\Users\Administrator\AppData\Roaming
3 CLIENTNAME <接続元コンピューター名>
4 CommonProgramFiles C:\Program Files\Common Files
5 CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
6 CommonProgramW6432 C:\Program Files\Common Files
7 COMPUTERNAME WIN-***********
8 ComSpec C:\Windows\system32\cmd.exe
9 DriverData C:\Windows\System32\Drivers\DriverData
10 HOMEDRIVE C:
11 HOMEPATH \Users\Administrator
12 LOCALAPPDATA C:\Users\Administrator\AppData\Local
13 LOGONSERVER \\WIN-***********
14 NUMBER_OF_PROCESSORS 1
15 OS Windows_NT
16 Path

C:\Windows\system32;C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Windows\System32\OpenSSH\;
C:\Users\Administrator\

AppData\Local\Microsoft\WindowsApps;

17 PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;
.JSE;.WSF;.WSH;.MSC;.CPL
18 PROCESSOR_ARCHITECTURE AMD64
19 PROCESSOR_IDENTIFIER Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
20 PROCESSOR_LEVEL 6
21 PROCESSOR_REVISION 2c02
22 ProgramData C:\ProgramData
23 ProgramFiles C:\Program Files
24 ProgramFiles(x86) C:\Program Files (x86)
25 ProgramW6432 C:\Program Files
26 PSModulePath C:\Users\Administrator\Documents\
WindowsPowerShell\Modules;

C:\Program Files\WindowsPowerShell\Modules;
C:\Windows\system32\WindowsPowerShell\
v1.0\Modules
27 PUBLIC C:\Users\Public
28 SESSIONNAME ********************#0
29 SystemDrive C:
30 SystemRoot C:\Windows
31 TEMP C:\Users\ADMINI~1\AppData\Local\Temp\2
32 TMP C:\Users\ADMINI~1\AppData\Local\Temp\2
33 USERDOMAIN WIN-***********
34 USERDOMAIN_ROAMINGPROFILE WIN-***********
35 USERNAME Administrator
36 USERPROFILE C:\Users\Administrator
37 windir C:\Windows

※折返し表示ができず改行で記載しているものもありますが、実際の値には含まれていません。

環境変数の設定[$Env:<variable-name>]

既定の環境変数以外にも任意で環境変数を設定することが可能です。以下の構文を使うことで、 <variable-name> に対し、<new-value> で指定した値を格納することができます。

コマンド例

$Env:<variable-name> = "<new-value>"

このように指定することで独自の環境変数として利用することができます。

※ここで指定した環境変数は、起動中のプロンプト画面が閉じられるまで有効になります。

環境変数を使ったコマンドレットの使用例

PowerShell コマンドレットに「$Env:COMPUTERNAME」のような形式で指定することで、環境変数の Value 値を利用することができます。

対象コンピューターの情報をエクスポートする際にエクスポート先のパス指定を簡素化できたり、エクスポートするファイル名を自動的に対象コンピューター名を付与した形にすることができるので、作業にかかる時間やパスやファイル名の入力ミスを防ぐことができます。

コマンド実行例

Get-HotFix | Out-File -FilePath $Env:HOMEPATH\Desktop\"$Env:COMPUTERNAME"_HOTFIX.log

ためしに Get-Hotfix でファイルを出力してみました。このように指定することで環境変数で指定されたユーザーのデスクトップ$Env:COMPUTERNAME の値であるコンピューター名が付与されたファイルを出力することができます。

スポンサーリンク

まとめ

PowerShell スクリプトを組んだり、同時に複数のクライアントに対して作業を行う際などには是非活用してみましょう。

タイトルとURLをコピーしました