alexmoreman, разбор переменных окружения в пакетных файлах выполняет сам интерпретатор «cmd.exe». Для WSH Вы должны явно делать это, например, вызовом функции «.ExpandEnvironmentStrings()» объекта «WScript.Shell». Образцы кода представлены ниже, правильный способ изложен в «2.», конкретно Ваш вариант — «2.a)»:
Код:

Option Explicit
' Enum SpecialFolderConst
Const WindowsFolder = 0
Const SystemFolder = 1
Const TemporaryFolder = 2
Dim objWshShell
Dim objFSO
Dim objWshEnvironment
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
'-----------------------------------------------------------------------------
WScript.Echo "1."
WScript.Echo objWshShell.ExpandEnvironmentStrings("%SystemRoot%\Temp")
WScript.Echo
'-----------------------------------------------------------------------------
WScript.Echo "2."
WScript.Echo " a) System Environment:"
Set objWshEnvironment = objWshShell.Environment("SYSTEM")
WScript.Echo objWshShell.ExpandEnvironmentStrings(objWshEnvironment("TEMP"))
Set objWshEnvironment = Nothing
WScript.Echo
WScript.Echo " b) User Environment:"
Set objWshEnvironment = objWshShell.Environment("USER")
WScript.Echo objWshShell.ExpandEnvironmentStrings(objWshEnvironment("TEMP"))
Set objWshEnvironment = Nothing
WScript.Echo
'-----------------------------------------------------------------------------
WScript.Echo "3."
WScript.Echo " * User Environment:"
WScript.Echo objFSO.GetSpecialFolder(TemporaryFolder)
Set objFSO = Nothing
Set objWshShell = Nothing
WScript.Quit 0
P.S.
WshEnvironment Object.