Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.msdos.batch    |    Fun with MS-DOS batch files    |    42,547 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 42,488 of 42,547    |
|    Alan K. to Hank Rogers    |
|    Re: sysinfo.bat Outputs desired system i    |
|    28 Sep 25 14:29:32    |
   
   XPost: alt.comp.os.windows-10, alt.comp.os.windows-11   
   From: alan@invalid.com   
      
   On 9/27/25 8:36 PM, Hank Rogers wrote:   
   > Marion wrote on 9/27/2025 2:44 PM:   
   >> sysinfo.bat   
   >> Outputs desired system information to console & to a timestamped log file.   
   >>   
   >> This sysinfo.bat file outputs on my system everything I can think of   
   >> that doesn't require elevation. What's missing that you would want?   
   >>   
   >> @echo off   
   >> REM Purpose: Outputs system information   
   >> REM sysinfo.bat (version 1.0 20250922) output system information   
   >> REM sysinfo.bat (version 1.1 20250923) added msinfo32 wrapper   
   >> REM sysinfo.bat (version 1.2 20250924) added hotfixes & installed   
   programs,   
   >> REM firewall, winrm, secureboot, driver checks & write test   
   >> REM sysinfo.bat (version 1.3 20250925) added driverquery, secureboot   
   >> REM virtualization checks & directory existence/writability   
   checks   
   >> REM sysinfo.bat (version 1.4 20250927) commented out WinRM checks   
   >> REM as they required elevated permissions. Kept all else.   
   >> REM Usage: double-click, Win+R, or run from cmd.   
   >> REM Outputs timestamped log (e.g., C:\data\sys\log\sysinfo   
   0250927_123456.log)   
   >> REM Comment linelength limit =============================   
   =====================   
   >> :: CONFIGURATION   
   >> set MSINFO_TIMEOUT=60 REM seconds to wait for msinfo32 before fallback   
   >> set TARGET_HTTP=example.com   
   >> set TARGET_PING=8.8.8.8   
   >> set "LOGDIR=C:\data\sys\log" REM change if you prefer another directory   
   >>   
   >> if "%1"=="__LOGGING__" goto :run_script   
   >>   
   >> :: build timestamp (locale-safe for Windows 10)   
   >> for /f "tokens=1-4 delims=/ " %%a in ("%DATE%") do (   
   >> set DOW=%%a   
   >> set MM=%%b   
   >> set DD=%%c   
   >> set YYYY=%%d   
   >> )   
   >> for /f "tokens=1-3 delims=:." %%a in ("%TIME%") do (   
   >> set HH=%%a   
   >> set Min=%%b   
   >> set Sec=%%c   
   >> )   
   >> if "%HH:~0,1%"==" " set HH=0%HH:~1,1%   
   >>   
   >> set LOGSTAMP=%YYYY%%MM%%DD%_%HH%%Min%%Sec%   
   >> set "LOGFILE=%LOGDIR%\sysinfo%LOGSTAMP%.log"   
   >> set "TMPTXT=%LOGDIR%\sysinfo%LOGSTAMP%.tmp"   
   >>   
   >> :: Ensure required directories exist (creates LOGDIR and parents if   
   needed)   
   >> if not exist "%LOGDIR%" (   
   >> md "%LOGDIR%" 2>nul   
   >> if errorlevel 1 echo WARNING: failed to create %LOGDIR%   
   >> )   
   >>   
   >> :: Stream the second invocation live; Tee-Object writes an intermediate   
   text file   
   >> powershell -NoProfile -Command ^   
   >> " & { & cmd /c '\"%~f0\" __LOGGING__' 2>&1 | Tee-Object -FilePath   
   '%TMPTXT%' }"   
   >>   
   >> :: Convert intermediate file to UTF-8 without BOM and remove temp   
   >> powershell -NoProfile -Command ^   
   >> " [System.IO.File]::WriteAllText('%LOGFILE%', (Get-Content -Raw   
   -LiteralPath '%TMPTXT%'), (New-Object System.Text.UTF8Encoding($false)));   
   Remove-Item -LiteralPath '%TMPTXT%' -ErrorAction SilentlyContinue"   
   >>   
   >> echo.   
   >> echo Log created at %LOGFILE%   
   >> echo.   
   >> pause   
   >> exit /b   
   >>   
   >> :run_script   
   >> echo [%DATE% %TIME%] sysinfo starting...   
   >> echo ==============================================   
   >>   
   >> REM SECTION: invocation and basic info   
   >> echo script = %~f0   
   >> echo args = %*   
   >> echo COMSPEC = %COMSPEC%   
   >> echo current user = %USERNAME%\%USERDOMAIN%   
   >> echo user profile = %USERPROFILE%   
   >> echo local appdata = %LOCALAPPDATA%   
   >> echo temp = %TEMP%   
   >> echo   
   >>   
   >> REM SECTION: ensure directories needed and test writability   
   >> REM Ensure the log directory exists and is writable by this user   
   >> echo -- Directory checks --   
   >> echo LOGDIR = %LOGDIR%   
   >> if exist "%LOGDIR%" ( echo LOGDIR exists ) else ( echo LOGDIR missing )   
   >> echo -- test write access to LOGDIR --   
   >> > "%LOGDIR%\._sysinfo_dir_test" echo OK 2>nul || echo write test failed   
   for %LOGDIR%   
   >> if exist "%LOGDIR%\._sysinfo_dir_test" del "%LOGDIR%\._sysinfo_dir_test"   
   >nul 2>nul   
   >> echo REM If the write test fails, logs may not be saved.   
   >> echo   
   >>   
   >> REM SECTION: OS and system info   
   >> echo -- OS basic --   
   >> ver   
   >> systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Boot   
   Time" 2>nul || systeminfo | findstr /I "OS" 2>nul   
   >> echo   
   >>   
   >> REM SECTION: Powershell and path   
   >> echo -- PowerShell and execution policy --   
   >> where powershell 2>nul || echo powershell NOTFOUND   
   >> powershell -NoProfile -Command "$PSVersionTable.PSVersion;   
   Get-ExecutionPolicy -List" 2>nul || echo PowerShell info not available   
   >> echo   
   >>   
   >> REM SECTION: environment and PATH   
   >> echo -- Environment variables --   
   >> echo PATH = %PATH%   
   >> echo PROGRAMFILES = %PROGRAMFILES%   
   >> echo PROGRAMFILES(X86) = %PROGRAMFILES(X86)%   
   >> echo PROGRAMDATA = %PROGRAMDATA%   
   >> echo TEMP = %TEMP%   
   >> echo   
   >>   
   >> REM SECTION: filesystem and free space   
   >> echo -- Filesystem free space --   
   >> wmic logicaldisk get name,freespace,filesystem 2>nul   
   >> echo   
   >>   
   >> REM SECTION: code page and locale   
   >> echo -- Code page and locale --   
   >> chcp   
   >> powershell -NoProfile -Command "[System.Globalization.Cult   
   reInfo]::InstalledUICulture.DisplayName" 2>nul   
   >> echo   
   >>   
   >> REM SECTION: networking basics   
   >> echo -- Networking: adapters, routes, listeners --   
   >> ipconfig /all   
   >> echo ------------------------   
   >> route print   
   >> echo ------------------------   
   >> netstat -ano   
   >> echo ------------------------   
   >> echo -- DNS/HTTP check --   
   >> nslookup %TARGET_HTTP%   
   >> echo ------------------------   
   >> ping -n 4 %TARGET_PING%   
   >> echo   
   >>   
   >> REM SECTION: proxy and WinHTTP settings   
   >> echo -- Proxy and WinHTTP --   
   >> reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet   
   Settings" /v ProxyEnable 2>nul   
   >> reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet   
   Settings" /v ProxyServer 2>nul   
   >> reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet   
   Settings" /v AutoConfigURL 2>nul   
   >> reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet   
   Settings" /v AutoDetect 2>nul   
   >> echo netsh winhttp show proxy   
   >> netsh winhttp show proxy   
   >> echo   
   >>   
   >> REM SECTION: installed tools and versions   
   >> echo -- Installed tools (where/versions if present) --   
   >> where curl 2>nul || echo curl NOTFOUND   
   >> where git 2>nul || echo git NOTFOUND   
   >> where python 2>nul || echo python NOTFOUND   
   >> where node 2>nul || echo node NOTFOUND   
   >> where gvim 2>nul || echo gvim NOTFOUND   
   >> echo   
   >> where curl 2>nul && curl -s --version 2>nul || echo curl version unknown   
   >> echo   
   >>   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca