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