if wscript.arguments.count <> 1 then usage if instr(wscript.arguments(0),"/") then usage if instr(wscript.arguments(0),"-") then usage if instr(wscript.arguments(0),"?") then usage if instr(wscript.arguments(0),"help") then usage sServer=wscript.arguments(0) sServer=replace(sServer,"\\","") set oWBEM=WMIConnect(sServer) set oOSes=oWBEM.ExecQuery("select Name, CSDVersion from Win32_OperatingSystem") ' where Primary='True'") for each oOs in oOSes sName=oOS.Name sName=Replace(sName,"Windows NT Server","Windows NT 4.0 Server") if instr(sName,"|") then aTmp=split(sName,"|") sName=aTmp(0) end if wscript.echo sName&" ("&oOS.CSDVersion&")" next Function WMIConnect(sServer) 'On Error Resume next Set oLocator=CreateObject("WbemScripting.SWbemLocator") Set oWMISvc=oLocator.ConnectServer(sServer,"root/cimV2") If Err.Number <> 0 Then WScript.Echo("error") sErr="0x"&Cstr(hex(Err.Number)) sDesc=Err.Description Err.Clear() Set oWMISvc=oLocator.ConnectServer(sServer,"root/cimV2",,,,ntlmdomain) If Err.Number <> 0 Then WScript.Echo "Error "&sErr&" ("&sDesc&") connecting to WMI on server "&sServer Set WMIConnect=WScript.Name Exit Function End If End If Set WMIConnect=oWMISvc End Function Sub Usage wscript.echo "Usage:" wscript.echo wscript.echo "cscript //nologo winver.vbs " wscript.echo wscript.quit End Sub