【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
1ALLUSERSPROFILEC:\ProgramData
2APPDATAC:\Users\Administrator\AppData\Roaming
3CLIENTNAME<接続元コンピューター名>
4CommonProgramFilesC:\Program Files\Common Files
5CommonProgramFiles(x86)C:\Program Files (x86)\Common Files
6CommonProgramW6432C:\Program Files\Common Files
7COMPUTERNAMEWIN-***********
8ComSpecC:\Windows\system32\cmd.exe
9DriverDataC:\Windows\System32\Drivers\DriverData
10HOMEDRIVEC:
11HOMEPATH\Users\Administrator
12LOCALAPPDATAC:\Users\Administrator\AppData\Local
13LOGONSERVER\\WIN-***********
14NUMBER_OF_PROCESSORS1
15OSWindows_NT
16Path

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;

17PATHEXT.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;
.JSE;.WSF;.WSH;.MSC;.CPL
18PROCESSOR_ARCHITECTUREAMD64
19PROCESSOR_IDENTIFIERIntel64 Family 6 Model 44 Stepping 2, GenuineIntel
20PROCESSOR_LEVEL6
21PROCESSOR_REVISION2c02
22ProgramDataC:\ProgramData
23ProgramFilesC:\Program Files
24ProgramFiles(x86)C:\Program Files (x86)
25ProgramW6432C:\Program Files
26PSModulePathC:\Users\Administrator\Documents\
WindowsPowerShell\Modules;

C:\Program Files\WindowsPowerShell\Modules;
C:\Windows\system32\WindowsPowerShell\
v1.0\Modules
27PUBLICC:\Users\Public
28SESSIONNAME********************#0
29SystemDriveC:
30SystemRootC:\Windows
31TEMPC:\Users\ADMINI~1\AppData\Local\Temp\2
32TMPC:\Users\ADMINI~1\AppData\Local\Temp\2
33USERDOMAINWIN-***********
34USERDOMAIN_ROAMINGPROFILEWIN-***********
35USERNAMEAdministrator
36USERPROFILEC:\Users\Administrator
37windirC:\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をコピーしました