﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Get the OS version (3 versions of script)</title><link>http://www.visualbasicscript.com/</link><description /><copyright>(c) VBScript Forum</copyright><ttl>30</ttl><item><title> RE: Using WshShell.Exec (mbouchard)</title><description>  msgbox GetOS &lt;br&gt;    &lt;br&gt;   Function GetOS() &lt;br&gt;   'WMI is required for this script to function &lt;br&gt;   Dim strComputer, strWMIOS &lt;br&gt;   'If you only want to use locally, remove the inputbox and make strComputer = "." &lt;br&gt;   strComputer = Inputbox("Input the name of the remote computer or hit enter for this PC.") &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;If strComputer = "" then &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;strComputer = "." &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;End if &lt;br&gt;    &lt;br&gt;   Dim objWmiService : Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&amp;amp; strComputer &amp;amp; "\root\cimv2") &lt;br&gt;   Dim strOsQuery : strOsQuery = "Select * from Win32_OperatingSystem" &lt;br&gt;   Dim colOperatingSystems : Set colOperatingSystems = objWMIService.ExecQuery(strOsQuery) &lt;br&gt;   Dim objOs &lt;br&gt;   Dim strOsVer &lt;br&gt;    &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;For Each objOs in colOperatingSystems &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;strWmios = objOs.Caption &amp;amp; " " &amp;amp; objOs.Version &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;Next &lt;br&gt;    &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;Select Case True &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;'Add more info to the 98 and 95 to get the specific version. i.e. 98SE 95 a,b,or c &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "2000 Server") &amp;gt; 1 : GetOS = "2KSRV" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "2003, Standard") &amp;gt; 1 : GetOS = "2K3SRV" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "2003, Enterprise") &amp;gt; 1 : GetOS = "2K3ENTSRV" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "2000 Advanced Server") &amp;gt; 1 : GetOS = "2KADVSRV" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "Windows NT") &amp;gt; 1 : GetOS = "NT4" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "Windows 2000") &amp;gt; 1 : GetOS = "W2K" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strWmiOS, "Windows XP") &amp;gt; 1 : GetOS = "WXP" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else : GetOS = "Unknown" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;End Select &lt;br&gt;   End Function </description><link>http://www.visualbasicscript.com/fb.ashx?m=25378</link><pubDate>Tue, 30 Aug 2005 05:28:59 GMT</pubDate></item><item><title> Using WshShell.Exec (mbouchard)</title><description>  msgbox GetOS &lt;br&gt;    &lt;br&gt;   Function GetOS() &lt;br&gt;   'Requires WSH 5.6 &lt;br&gt;   'CMD window will flash as there is no way to supress it when using exec. &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim WshShell : Set WshShell = CreateObject("WScript.Shell") &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim strVer : set strVer = WshShell.exec("%comspec% /c ver") &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;Dim sResults &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;sResults = strVer.stdout.readall  &lt;br&gt;    &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;Select Case True &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;'Add more info to the 98 and 95 to get the specific version. i.e. 98SE 95 a,b,or c &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows 95") &amp;gt; 1 : GetOS = "W95" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows 98") &amp;gt; 1 : GetOS = "W98" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows Millennium") &amp;gt; 1 : GetOS = "WME" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows NT") &amp;gt; 1 : GetOS = "NT4" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows 2000") &amp;gt; 1 : GetOS = "W2K" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows XP") &amp;gt; 1 : GetOS = "WXP" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else : GetOS = "Unknown" &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;End Select &lt;br&gt;   End Function &lt;br&gt;    &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=25377</link><pubDate>Tue, 30 Aug 2005 05:28:18 GMT</pubDate></item><item><title> Using WshShell.Run (mbouchard)</title><description>  msgbox GetOS &lt;br&gt;    &lt;br&gt;   Function GetOS() &lt;br&gt;   'Will work with most versions of WSH. &lt;br&gt;   'CMD window will not display. &lt;br&gt;   &amp;nbsp; Const OpenAsASCII&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; 0 &lt;br&gt;   &amp;nbsp; Const FailIfNotExist&amp;nbsp;&amp;nbsp; =&amp;nbsp; 0 &lt;br&gt;   &amp;nbsp; Const ForReading&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; 1 &lt;br&gt;    &lt;br&gt;   &amp;nbsp; Dim WshShell : Set WshShell = CreateObject("WScript.Shell") &lt;br&gt;   &amp;nbsp; Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject") &lt;br&gt;   &amp;nbsp; Dim sTemp, sTempFile, fFile, sResults &lt;br&gt;   &amp;nbsp; sTemp = WshShell.ExpandEnvironmentStrings("%TEMP%") &lt;br&gt;   &amp;nbsp; sTempFile = sTemp &amp;amp; "\runresult.tmp" &lt;br&gt;    &lt;br&gt;   &amp;nbsp; WshShell.Run "%comspec% /c ver &amp;gt;" &amp;amp; sTempFile, 0, True &lt;br&gt;    &lt;br&gt;   &amp;nbsp; Set fFile = FSO.OpenTextFile(sTempFile, ForReading, FailIfNotExist, OpenAsASCII) &lt;br&gt;    &lt;br&gt;   &amp;nbsp; sResults = fFile.ReadAll &lt;br&gt;   &amp;nbsp; fFile.Close &lt;br&gt;   &amp;nbsp; FSO.DeleteFile(sTempFile) &lt;br&gt;    &lt;br&gt;   &amp;nbsp; Select Case True &lt;br&gt;   &amp;nbsp;&amp;nbsp; &amp;nbsp;'Add more info to the 98 and 95 to get the specific version. i.e. 98SE 95 a,b,or c &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows 95") &amp;gt; 1 : GetOS = "W95" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows 98") &amp;gt; 1 : GetOS = "W98" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows Millennium") &amp;gt; 1 : GetOS = "WME" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows NT") &amp;gt; 1 : GetOS = "NT4" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows 2000") &amp;gt; 1 : GetOS = "W2K" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(sResults, "Windows XP") &amp;gt; 1 : GetOS = "WXP" &lt;br&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else : GetOS = "Unknown" &lt;br&gt;   &amp;nbsp; End Select &lt;br&gt;   End Function </description><link>http://www.visualbasicscript.com/fb.ashx?m=25376</link><pubDate>Tue, 30 Aug 2005 05:27:28 GMT</pubDate></item><item><title> Get the OS version (3 versions of script) (mbouchard)</title><description>  There will be 3 different versions of this script posted. &lt;br&gt;    &lt;br&gt;   Script Name: GetOS.vbs  &lt;br&gt;   Version 1 Tested on WinNT4 and up &lt;br&gt;   Version 2 Tested on Win2000 (requires wscript 5.6) and up &lt;br&gt;   Version 3 Tested on Win2000 (updated WMI) and up &lt;br&gt;    &lt;br&gt;   No testing done on 9x/ME &lt;br&gt;    &lt;br&gt;   1)&amp;nbsp; Uses WshShell.Run to run Ver in the cmd (%comspec%) prompt.&amp;nbsp; The output is redirected to the temp folder whose location is taken from the temp environement variable.&amp;nbsp; CMD window is not displayed and the file is deleted after use.&amp;nbsp; Note, some newer virus scanners may prevent script from accessing files in the temp folder, happened with McAfee 8.0 where I work. &lt;br&gt;    &lt;br&gt;   2) Similar to version 1, but uses WshShell.Exec instead.&amp;nbsp; Now file is created but the cmd window will flash as you can not supress it when using Exec.&amp;nbsp; Also, Wscript 5.6 is required, XP comes with it but you will need to upgrade other OS's. &lt;br&gt;    &lt;br&gt;   3) Uses WMI to get the OS.&amp;nbsp; This method will allow you to differenciate between OS/Server versions and get the OS from a remote PC.&amp;nbsp; WMI is required and will need to be installed on older OS's. </description><link>http://www.visualbasicscript.com/fb.ashx?m=25374</link><pubDate>Tue, 30 Aug 2005 05:26:58 GMT</pubDate></item></channel></rss>
