📜 VBScript (WSH)
Get Environment Variables Report to File (VBScript)
Queries Win32_Environment via WMI and writes Environment Variables to a timestamped text file, handy for scheduled logon/logoff scripts.
GetEnvironmentReportToFile.vbs
' ============================================================
' GetEnvironmentReportToFile.vbs
'
' Reports Environment Variables via WMI (Win32_Environment) and writes the results to a
' timestamped text file next to this script.
'
' Usage: cscript GetEnvironmentReportToFile.vbs
' ============================================================
Option Explicit
Dim objWMIService, colItems, objItem
Dim objFSO, objFile, strOutPath, itemCount
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT Name, VariableValue, UserName FROM Win32_Environment")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strOutPath = objFSO.GetParentFolderName(WScript.ScriptFullName) & "\environment-report_" & _
Replace(FormatDateTime(Now, 2), "/", "-") & ".txt"
Set objFile = objFSO.CreateTextFile(strOutPath, True)
itemCount = 0
For Each objItem In colItems
objFile.WriteLine "Name: " & objItem.Name
objFile.WriteLine "VariableValue: " & objItem.VariableValue
objFile.WriteLine "UserName: " & objItem.UserName
objFile.WriteLine String(40, "-")
itemCount = itemCount + 1
Next
objFile.Close
WScript.Echo itemCount & " Environment Variables written to: " & strOutPath