Simple Batch Script to Display System Information in proper html format
This is a simple batch script to display the system information and status of the system in html format in a proper design. The script is written in the Windows 7 batch programming and in some places Power shell is used as to calculate some big digits I hope this will work for some organizations where they wanted to send the emails of there servers or systems information
Code :
Download
Please give comments and suggestions are always welcome
Code :
@echo off
echo ^<table
width="100%%" border="0" align="center"
cellpadding="0" cellspacing="0" style="border:#818181
solid 0px; font-family:Arial, Helvetica, sans-serif; font-size:16px;"^>
> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
style="background: -webkit-gradient(linear, left top, left bottom,
from(#01619b), to(#0879bd)); background: -moz-linear-gradient(top, #01619b,
#0879bd); filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff5400, endColorstr=#e84e02);"
style="border:#818181 solid 1px;"^>^<table
width="100%%" border="0" cellspacing="0"
cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
style="font-size:45px; padding-left:8px; color:#fff;
font-weight:bold;" align="center"^>System Information and
Status Checks Report^</td^> >> hname.html
echo
^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo ^<td
align="left" valign="top" style="border:#818181 solid
1px;"^>^<table width="100%%" border="0"
cellspacing="0" cellpadding="0"^> >> hname.html
echo
^<tr^> >> hname.html >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
height="35" align="center" bgcolor="#333"
style="color:#fff; border-bottom:#818181 solid 1px;"^> %date% at %time:~0,5% ^</td^> >>
hname.html
echo
^</tr^> >> hname.html
echo ^<td
height="30" bgcolor="#bddbee"
style="border-bottom:#757575 solid 1px; padding-left:5px;
font-weight:bold;"^>Host Information^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo
^<td^>^<table width="100%%" border="0"
cellspacing="0" cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
width="9%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Host
Name^</td^> >> hname.html
echo ^<td
width="8%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>IP
Address^</td^> >> hname.html
echo ^<td
width="17%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>OS
Version^</td^> >> hname.html
echo ^<td width="22%%"
height="30" align="center" bgcolor="#e1eff8"
style="border-right:#818181 solid 1px; border-bottom:#818181 solid 1px;
font-size:14px;"^>Kernel Version^</td^> >> hname.html
echo ^<td
width="23%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>CPU Model
Version^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>CPU
Make^</td^> >> hname.html
echo ^<td
width="11%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 0px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Number of
Cores^</td^> >> hname.html
echo
^</tr^> >> hname.html
for /F
"skip=2 tokens=1-7 delims=," %%A in ('wmic path Win32_Processor get
name^,Description^,Manufacturer^,NumberOfCores^
/Format:"%WINDIR%\System32\wbem\en-us\csv"') do (
set hname=%%A
set desname=%%B
set proname=%%C
set stat=%%D
set core=%%E
)
for /F
"skip=2 tokens=1-7 delims=," %%A in ('Wmic path Win32_OperatingSystem
get Caption^,LastBootUptime^,CSDversion^
/Format:"%WINDIR%\System32\wbem\en-us\csv"') do (
set sname=%%A
set cname=%%B
set lbu=%%C
set csd=%%D
)
for /F
"skip=2 tokens=1-7 delims=," %%A in ('Wmic path
Win32_NetworkAdapterConfiguration where "Description='Intel(R) Ethernet
Connection I217-LM'" get
IPAddress^,DNSDomain^,DNSServerSearchOrder^,DefaultIPGateway^,MACAddress^/Format:"%WINDIR%\System32\wbem\en-us\csv"')
do (
set IP=%%D
set DNDD=%%C
set DG=%%B
set MADD=%%F
set ns=%%D
)
set
w=width="33%" height="25"
set
a=align="center"
set
s=style="border-right:#818181 solid 1px; border-bottom:#818181 solid 1px;
font-size:11px;"
set
h=height="30"
set
fs=style="font-size: 10px;"
set
fname=hname.html
echo ^<tr
%fs% ^> >> %fname%
echo ^<td
%w% %a% %s% ^> %sname% ^</td^> >> %fname%
echo ^<td
%w% %a% %s% ^> %IP:~1,13%^</td^> >> %fname%
echo ^<td
%w% %a% %s% ^> %cname% ^</td^> >> %fname%
echo ^<td
%w% %a% %s% ^> %lbu% ^</td^> >> %fname%
echo ^<td
%w% %a% %s% ^> %stat% ^</td^> >> %fname%
echo ^<td
%w% %a% %s% ^> %proname% ^</td^> >> %fname%
echo ^<td
%w% %a% %s% ^> %core% ^</td^> >> %fname%
echo
^</tr^> >> %fname%
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^>
>> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo ^<td
height="8"^>^</td^>
>> hname.html
echo
^</tr^> >> hname.html
echo ^<tr^>
>> hname.html
echo ^<td
style="border:#818181 solid 1px;"^>^<table
width="100%%" border="0" cellspacing="0"
cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
height="30" bgcolor="#bddbee"
style="border-bottom:#757575 solid 1px; padding-left:5px;
font-weight:bold;"^>Boot Information^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo
^<td^>^<table width="100%%" border="0"
cellspacing="0" cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
width="35%%" align="center" bgcolor="#e1eff8"
style="border-right:#818181 solid 1px; border-bottom:#818181 solid 1px;
font-size:14px;"^>Host Name^</td^> >> hname.html
echo ^<td
width="35%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Uptime^</td^>
>> hname.html
echo ^<td
width="35%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Last
Reboot^</td^> >> hname.html
echo
^</tr^> >> hname.html
set
bootname=hname.html
for /f
"delims=" %%a in ('wmic OS Get LastBootUpTime ^| find "."')
do set up=%%a
for /f
"delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set
beg=%up:~0,4%-%up:~4,2%-%up:~6,2%T%up:~8,2%-%up:~10,2%-%up:~12,2%-%up:~15,3%
set
end=%dt:~0,4%-%dt:~4,2%-%dt:~6,2%T%dt:~8,2%-%dt:~10,2%-%dt:~12,2%-%dt:~15,3%
call
:TimeDifference uptime %end% %beg%
for /f
"Tokens=2 Delims==" %%i in ('wmic OS Get LastBootUpTime
/format:list') Do Set LastBootUpTime=%%i
Set
LBT-Year=%LastBootUpTime:~0,4%||: yyy
Set
LBT-Month=%LastBootUpTime:~4,2%||: mm
Set
LBTDay=%LastBootUpTime:~6,2%||: dd
Set
LBT-Hour=%LastBootUpTime:~8,2%||: hh
Set
LBT-Minte=%LastBootUpTime:~10,2%||: mm
Set
LBT-Second=%LastBootUpTime:~12,2%||: ss
set
LastBootDate= %LBTDay% - %LBT-Month% - %LBT-Year% at
%LBT-Hour%^:%LBT-Minte%^:%LBT-Second%
echo ^<tr
%fs% ^> >> %bootname%
echo ^<td
%w% %a% %s% ^> %sname% ^</td^> >> %bootname%
echo ^<td
%w% %a% %s% ^> %uptime% ^</td^> >> %bootname%
echo ^<td
%w% %a% %s% ^> %LastBootDate%
^</td^> >> %bootname%
:Disk
Information
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^> >> hname.html
echo ^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^>
>> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo ^<td
height="8"^>^</td^>
>> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo ^<td
style="border:#818181 solid 1px;"^>^<table
width="100%%" border="0" cellspacing="0"
cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
height="30" bgcolor="#bddbee"
style="border-bottom:#757575 solid 1px; padding-left:5px;
font-weight:bold;"^>Disk Drive Information^</td^> >>
hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo
^<td^>^<table width="100%%" border="0"
cellspacing="0" cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
width="18%%" align="center" bgcolor="#e1eff8"
style="border-right:#818181 solid 1px; border-bottom:#818181 solid 1px;
font-size:14px;"^>Host Name^</td^> >> hname.html
echo ^<td
width="12%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Device
Name^</td^> >> hname.html
echo ^<td
width="12%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>File
System^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Mount
Point^</td^> >> hname.html
echo ^<td
width="15%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Total Size
^</td^> >> hname.html
echo ^<td
width="15%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Available
Space^</td^> >> hname.html
echo ^<td
width="18%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 0px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Used
Space^</td^> >> hname.html
echo
^</tr^> >> hname.html
set
minfo=hname.html
set
backc=style="border-right:#818181 solid 1px; border-bottom:#818181 solid
1px; font-size:11px; background:green;
color:#fff; "
set
backr=style="border-right:#818181 solid 1px; border-bottom:#818181 solid
1px; font-size:11px; background:red;
color:#fff; "
set
row=align="center" rowspan="3"
echo ^<tr
%fs% ^> >> %minfo%
echo ^<td
%row% %w% %a% %s% ^> %sname% ^</td^> >> %minfo%
wmic
logicaldisk where "DeviceID='C:'" get
Caption,Description,Filesystem,Size,FreeSpace
/format:"%WINDIR%\System32\wbem\en-us\csv" > logical.txt
for /F
"skip=2 tokens=1-7 delims=," %%A in ('type logical.txt') do (
set ts=%%F
set fsp=%%E
set cap=%%B
set
Diskdesc=%%C
set filesys=%%D
)
for /F %%A in
('powershell^(%ts%/1024/1024/1024^)') do set tspace=%%A
for /F %%A in
('powershell^(%fsp%/1024/1024/1024^)') do set fspace=%%A
for /F %%A in
('powershell^(%ts%/100^)') do set tper=%%A
for /F %%A in
('powershell^(%ts%-%fsp%^)') do set uspace=%%A
for /F %%A in
('powershell^(%uspace%/%tper%^)') do set uper=%%A
echo ^<td
%h% %a% %s% ^> %Diskdesc% ^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %filesys% ^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %cap% ^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %tspace:~0,5% GB
^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %fspace:~0,5% GB
^</td^> >> %minfo%
echo ^<td
%h% %a% %backc% ^> %uper:~0,2%%%^</td^> >> %minfo%
:second drive
echo ^<tr
%fs% ^> >> %minfo%
wmic
logicaldisk where "DeviceID='D:'" get Caption,Description,Filesystem,Size,FreeSpace
/format:"%WINDIR%\System32\wbem\en-us\csv" > logical.txt
for /F
"skip=2 tokens=1-7 delims=," %%A in ('type logical.txt') do (
set ts=%%F
set fsp=%%E
set cap=%%B
set
Diskdesc=%%C
set filesys=%%D
)
for /F %%A in
('powershell^(%ts%/1024/1024/1024^)') do set tspace=%%A
for /F %%A in
('powershell^(%fsp%/1024/1024/1024^)') do set fspace=%%A
for /F %%A in
('powershell^(%ts%/100^)') do set tper=%%A
for /F %%A in
('powershell^(%ts%-%fsp%^)') do set uspace=%%A
for /F %%A in
('powershell^(%uspace%/%tper%^)') do set uper=%%A
echo ^<td
%h% %a% %s% ^> %Diskdesc% ^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %filesys% ^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %cap% ^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %tspace:~0,5% GB
^</td^> >> %minfo%
echo ^<td
%h% %a% %s% ^> %fspace:~0,5% GB
^</td^> >> %minfo%
echo ^<td
%h% %a% %backc% ^> %uper:~0,2%%%^</td^> >> %minfo%
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^>
>> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo ^<td
height="8"^>^</td^>
>> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo ^<td
style="border:#818181 solid 1px;"^>^<table width="100%%"
border="0" cellspacing="0" cellpadding="0"^>
>> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
height="30" bgcolor="#bddbee"
style="border-bottom:#757575 solid 1px; padding-left:5px;
font-weight:bold;"^>Network Information^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^<tr^> >> hname.html
echo
^<td^>^<table width="100%%" border="0"
cellspacing="0" cellpadding="0"^> >> hname.html
echo
^<tbody^>^<tr^> >> hname.html
echo ^<td
width="10%%" align="center" bgcolor="#e1eff8"
style="border-right:#818181 solid 1px; border-bottom:#818181 solid 1px;
font-size:14px;"^>Host Name^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>IP
Addres^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Sub
Netmask^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>DNS
Server^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Mac
Address^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Gateway^</td^>
>> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Packets
Received^</td^> >> hname.html
echo ^<td
width="10%%" height="30" align="center"
bgcolor="#e1eff8" style="border-right:#818181 solid 1px;
border-bottom:#818181 solid 1px; font-size:14px;"^>Packets
Send^</td^> >> hname.html
echo
^</tr^> >> hname.html
for /F
"skip=2 tokens=1-7 delims=," %%A in ('Wmic path Win32_NetworkAdapterConfiguration
where "Description='Intel(R) Ethernet Connection I217-LM'" get
IPAddress^,DNSDomain^,DNSServerSearchOrder^,DefaultIPGateway^,MACAddress^,IPSubnet^/Format:"%WINDIR%\System32\wbem\en-us\csv"')
do (
set DNDD=%%C
set DG=%%B
set MADD=%%E
set ns=%%D
set IPsub=%%F
)
set
ninfo=hname.html
echo ^<tr
%fs% ^> >> %ninfo%
echo ^<td
%w% %a% %s% ^> %sname% ^</td^> >> %ninfo%
echo ^<td
%w% %a% %s% ^> %IP:~1,13% ^</td^> >> %ninfo%
echo ^<td
%w% %a% %s% ^> %MADD% ^</td^> >> %ninfo%
echo ^<td
%w% %a% %s% ^> %DNDD% ^<br/^> ^</td^> >> %ninfo%
echo ^<td
%w% %a% %s% ^> %IPsub% ^</td^> >> %ninfo%
echo ^<td
%w% %a% %s% ^> %DG% ^</td^> >> %ninfo%
ipconfig |
findstr "Gateway" > bytes.txt
for /F
"tokens=1-5 delims=:" %%A in ('type bytes.txt') do (
)
net statistics
workstation | findstr "Bytes" | findstr "received" >
bytes.txt
for /F
"tokens=1-6 delims= " %%A in ('type bytes.txt') do (
set rece=%%C
)
powershell
%rece%/1024/1024/1024 > gb.txt
for /F
"tokens=1-6 delims=" %%A in ('type gb.txt') do (
set rr=%%A
)
echo ^<td
%w% %a% %s% ^> %rr:~0,4% GB ^</td^> >> %ninfo%
net statistics
workstation | findstr "Bytes" | findstr "transmitted" >
bytes.txt
for /F
"tokens=1-6 delims= " %%A in ('type bytes.txt') do (
set trans=%%C
)
powershell
%trans%/1024/1024/1024 > gb.txt
for /F
"tokens=1-6 delims=" %%A in ('type gb.txt') do (
set tt=%%A
)
echo ^<td
%w% %a% %s% ^> %tt:~0,4% GB ^</td^> >> %ninfo%
echo
^</tr^> >> %ninfo%
echo
^</tbody^>^</table^>^</td^> >> %ninfo%
echo
^</tr^> >> %ninfo%
echo
^</tbody^>^</table^>^</td^>
>> %ninfo%
echo
^</tr^>^</tbody^>^</table^>
>> %ninfo%
echo
^<tbody^>^<tr^> >> hname.html
echo
^<td^>Report generated by Chandra Prakash Kadarla^</td^> >>
hname.html
echo
^</td^> >> hname.html
echo
^</tr^> >> hname.html
echo
^</tbody^>^</table^>^</td^> >> hname.html
call hname.html
:TimeDifference
SetLocal
EnableExtensions EnableDelayedExpansion
For /F
"tokens=1-14 delims=T/:-., " %%a in ("%~2 %~3") Do (
Set "h2=0%%d" & Set
"h3=0%%k" & Set "n2=%%g00" & Set "n3=%%n00"
Set /A "y2=%%a, m2=1%%b-100,
d2=1%%c-100, h2=1!h2:~-2!-100, i2=1%%e-100, s2=1%%f-100,
n2=1!n2:~0,3!-1000"
Set /A "y3=%%h, m3=1%%i-100,
d3=1%%j-100, h3=1!h3:~-2!-100, i3=1%%l-100, s3=1%%m-100,
n3=1!n3:~0,3!-1000"
)
Set /A
"t2=((h2*60+i2)*60+s2)*1000+n2, t3=((h3*60+i3)*60+s3)*1000+n3"
Set /A
"a=(14-m2)/12, b=y2-a,
j2=(153*(12*a+m2-3)+2)/5+d2+365*b+b/4-b/100+b/400"
Set /A
"a=(14-m3)/12, b=y3-a,
j3=(153*(12*a+m3-3)+2)/5+d3+365*b+b/4-b/100+b/400"
Set /A
"d=j3-j2, t=t3-t2"
If %d% LEQ 0
(If %d% LSS 0 (Set /A "d=j2-j3, t=t2-t3") Else If %t% LSS 0 (Set /A
"t=t2-t3"))
If %t% LSS 0
(Set /A "t+=(1000*60*60*24), d-=1")
Set /A
"n=t %% 1000, t/=1000, s=t %% 60, t/=60, m=t %% 60, t/=60"
EndLocal &
Set "%~1= %d% Days %t% Hours"
Download
Please give comments and suggestions are always welcome
Keywords: System information, Batch Script, System Health status
Comments
Post a Comment