:check_osDIM subver
DIM type
SELECT
Case @inwin=1
$kernel="WinNT"
$type=ReadValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions","ProductType")
SELECT
Case @dos=5.0
$system="Win2k"
SELECT
Case $type="ServerNT"
$os_type="Server"
Case $type="WinNT"
$os_type="Professional"
ENDSELECT
Case @dos=4.0
$system="WinNT"
SELECT
Case $type="LANMANNT"
$os_type="Domain Controller"
Case $type="ServerNT"
$os_type="Member Server"
Case $type="WinNT"
$os_type="Workstation"
ENDSELECT
ENDSELECT
$svcpack=ReadValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion","CSDVersion")
Case @inwin=2
$kernel="Win9x"
$subver=ReadValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","SubVersionNumber")
SELECT
Case @dos="???"
$system="WinME"
$os_type="A"
Case @dos="4.10"
$system="Win98"
SELECT
Case $subver=
$os_type="SE"
Case $subver="a"
$os_type="A"
ENDSELECT
Case @dos="4.0"
$system="Win95"
SELECT
Case $subver=" C"
$os_type="OSR2.5"
Case $subver=" B"
$os_type="OSR2"
Case $subver="a"
$os_type="A"
ENDSELECT
ENDSELECT
$svcpack=""
Case 1
$kernel="unknown"
$system="unknown"
$os_type="unknown"
$svcpack=""
ENDSELECT
;---------------------------
$report_entry = "Kernel type"
$report_value = $kernel
gosub "report"
;---------------------------
;---------------------------
$report_entry = "Operating System"
$report_value = $system + " " + $svcpack
gosub "report"
;---------------------------
;---------------------------
$report_entry = "OS type"
$report_value = $os_type
gosub "report"
;---------------------------
; downward compatibility for older scripts
$os = ""
$win_9x = ""
If @INWIN=2
Select
Case @DOS = "4.0"
$os = "Windows 95"
$win_9x = "yes"
Case @DOS = "4.10"
$os = "Windows 98"
$win_9x = "yes"
EndSelect
Endif
Return