/bundles/itninjaweb/img/Breadcrumb_cap_w.png
Contained within the share \\{k2000 hostname}\drivers_postinstall\feed_tools there is a script (Get_Manufacturer_Model_OS.vbs) to detect the make, model and OS of your computer. It was a great idea that seems to only be half of what we need. I have rewritten the script to ACTUALLY create the folders in question. Now if someone can tell me how to properly populate drivers in these folders I would be grateful.

Thanks

'------------------------------------------------------------------------------------------------------------
'
' rewrite of Get_Manufacturer_Model_OS.vbs
'
'------------------------------------------------------------------------------------------------------------

'Get Manufacturer

wmiQuery = "Select * from win32_ComputerSystem"

Set objWMIService = GetObject("winmgmts:\\")
Set colItems = objWMIService.ExecQuery(wmiQuery)

'-------------------------------------------------------------------------------------------
'
' Script Object Calls:
' objFSO for file system calls
' objShell for environment variable lookup
'
'-------------------------------------------------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")

'-------------------------------------------------------------------------------------------
'
' K2000 Hostname
' Verify and store Hostname in variable strHost
'
'-------------------------------------------------------------------------------------------
strHost = Left(WScript.ScriptFullName,(InStr(3,wscript.ScriptFullName,"\")-1))
'-------------------------------------------------------------------------------------------
'
' OS Architecture
' Due to the fact that WMI win32_ComputerSystem.OSArchitecture does not exist in XP or Win2000
' I Use environment variable %Processor_Architecture%
'
'-------------------------------------------------------------------------------------------
strArch = objShell.ExpandEnvironmentStrings("%Processor_Architecture%")


For Each objItem in ColItems
strManufacturer = objItem.Manufacturer
If (InStr(strManufacturer ,"Dell") > 0) Then strManufacturer ="dell"
If (InStr(strManufacturer ,"Hewlett-Packard") > 0) Then strManufacturer ="hp"
If (InStr(strManufacturer ,"Lenovo") > 0) Then strManufacturer ="lenovo"
If (InStr(strManufacturer ,"VMware") > 0) Then strManufacturer ="vmware"
Next
strManufacturer = Replace(strManufacturer, " ", "_")

'*************** Get model
wmiQuery = "Select * from win32_ComputerSystem"

Set objWMIService = GetObject("winmgmts:\\")
Set colItems = objWMIService.ExecQuery(wmiQuery)

For Each objItem in ColItems
strModel = objItem.Model
If (InStr(strModel,"Latitude") > 0) Then strModel = mid(strModel,9,20)
If (InStr(strModel,"Precision") > 0) Then strModel = mid(strModel,10,21)
If (InStr(strModel,"OptiPlex") > 0) Then strModel = mid(strModel,9,20)
strModel = Trim(strModel)
Next
strModel = Replace(strModel, " ", "_")

'*******************Get operating system
wmiQuery = "Select * from Win32_OperatingSystem"

Set objWMIService = GetObject("winmgmts:\\")
Set colOs = objWMIService.ExecQuery(wmiQuery)

For Each objItem in colOs
strOs = objItem.Caption
Next

strModel = Trim(strModel)
'strManufacturer = Trim(strManunacturer)
'strOS = Trim(srtOS)

Wscript.echo("Manufacturer: " & strManufacturer & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Model: " & strModel & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) &"OS: " & strOs & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Architecture: " & strArch)

'-------------------------------------------------------------------------------------------
'
' OS Architecture
' Verify that OS Architecture has a valid answer if not quit script
'
'-------------------------------------------------------------------------------------------
If strArch = "AMD64" Then
ElseIf strArch = "x86" Then
Else
Wscript.echo "Script could not determine Architecture please create driver folders manually."
Wscript.quit
End If

'-------------------------------------------------------------------------------------------
'
' Manufacturer
' Verify and create Manufacturer if it does not exist
'
'-------------------------------------------------------------------------------------------
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer) = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer)
End If

'-------------------------------------------------------------------------------------------
'
' OS & Architecture
' Verify and create OS folder based on Caption and Architecture if it does not exist
'
'-------------------------------------------------------------------------------------------
If InStr(1,strOS,"7") <> 0 then
If strArch = "AMD64" then
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64"
End If
Else
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32"
End If
End If
End If

If InStr(1,strOS,"Vista") <> 0 then
If strArch = "AMD64" then
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64"
End If
Else
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista"
End If
End If
End If

If InStr(1,strOS,"XP") <> 0 then
If strArch = "AMD64" then
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64"
End If
Else
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp"
End If
End If
End If

'-------------------------------------------------------------------------------------------
'
'
' Model
' Verify and create Model if it does not exist
'
'
'-------------------------------------------------------------------------------------------

if objFSO.FolderExists(strDriverPath & "\" & strModel) = False then
objFSO.CreateFolder(strDriverPath & "\" & strModel)
End if

wscript.echo strDriverPath & "\" & strModel & " folder has been created."

'-------------------------------------------------------------------------------------------
'
'
' End of Script
'
'
'-------------------------------------------------------------------------------------------
0 Comments   [ - ] Hide Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity

Answers

1
Sorry I made a change to the script to handle detecting of x86 and x64 systems with handling of not be able to detect architecture type.

'-------------------------------------------------------------------------------------------
'
' Script supports Windows 7, Windows Vista and Windows XP on 32bit and 64bit
'
'-------------------------------------------------------------------------------------------


'Get Manufacturer

wmiQuery = "Select * from win32_ComputerSystem"

Set objWMIService = GetObject("winmgmts:\\")
Set colItems = objWMIService.ExecQuery(wmiQuery)

'-------------------------------------------------------------------------------------------
'
' Script Object Calls:
' objFSO for file system calls
' objShell for environment variable lookup
'
'-------------------------------------------------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")

'-------------------------------------------------------------------------------------------
'
' K2000 Hostname
' Verify and store Hostname in variable strHost
'
'-------------------------------------------------------------------------------------------
strHost = Left(WScript.ScriptFullName,(InStr(3,wscript.ScriptFullName,"\")-1))
'-------------------------------------------------------------------------------------------
'
' OS Architecture
' Due to the fact that WMI win32_ComputerSystem.OSArchitecture does not exist in XP or Win2000
' I Use environment variable %Processor_Architecture%
'
'-------------------------------------------------------------------------------------------
strArch = objShell.ExpandEnvironmentStrings("%Processor_Architecture%")


For Each objItem in ColItems
strManufacturer = objItem.Manufacturer
If (InStr(strManufacturer ,"Dell") > 0) Then strManufacturer ="dell"
If (InStr(strManufacturer ,"Hewlett-Packard") > 0) Then strManufacturer ="hp"
If (InStr(strManufacturer ,"Lenovo") > 0) Then strManufacturer ="lenovo"
If (InStr(strManufacturer ,"VMware") > 0) Then strManufacturer ="vmware"
Next
strManufacturer = Replace(strManufacturer, " ", "_")

'*************** Get model
wmiQuery = "Select * from win32_ComputerSystem"

Set objWMIService = GetObject("winmgmts:\\")
Set colItems = objWMIService.ExecQuery(wmiQuery)

For Each objItem in ColItems
strModel = objItem.Model
If (InStr(strModel,"Latitude") > 0) Then strModel = mid(strModel,9,20)
If (InStr(strModel,"Precision") > 0) Then strModel = mid(strModel,10,21)
If (InStr(strModel,"OptiPlex") > 0) Then strModel = mid(strModel,9,20)
strModel = Trim(strModel)
Next
strModel = Replace(strModel, " ", "_")

'*******************Get operating system
wmiQuery = "Select * from Win32_OperatingSystem"

Set objWMIService = GetObject("winmgmts:\\")
Set colOs = objWMIService.ExecQuery(wmiQuery)

For Each objItem in colOs
strOs = objItem.Caption
Next

strModel = Trim(strModel)
'strManufacturer = Trim(strManunacturer)
'strOS = Trim(srtOS)

'-------------------------------------------------------------------------------------------
'
' OS Architecture
' Verify that OS Architecture has a valid answer if not quit script
'
'-------------------------------------------------------------------------------------------
If strArch = "AMD64" Then
Wscript.echo("Manufacturer: " & strManufacturer & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Model: " & strModel & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) &"OS: " & strOs & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Architecture: " & strArch)
ElseIf strArch = "x86" Then
Wscript.echo("Manufacturer: " & strManufacturer & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Model: " & strModel & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) &"OS: " & strOs & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Architecture: " & strArch)
Else
Wscript.echo("Manufacturer: " & strManufacturer & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Model: " & strModel & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) &"OS: " & strOs & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Architecture: " & strArch & (Chr(13) & chr(10)) & (Chr(13) & chr(10)) & "Script could not determine Architecture please create driver folders manually.")
Wscript.quit
End If

'-------------------------------------------------------------------------------------------
'
' Manufacturer
' Verify and create Manufacturer if it does not exist
'
'-------------------------------------------------------------------------------------------
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer) = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer)
End If

'-------------------------------------------------------------------------------------------
'
' OS & Architecture
' Verify and create OS folder based on Caption and Architecture if it does not exist
'
'-------------------------------------------------------------------------------------------
If InStr(1,strOS,"7") <> 0 then
If strArch = "AMD64" then
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x64"
End If
Else
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_7_x32"
End If
End If
End If

If InStr(1,strOS,"Vista") <> 0 then
If strArch = "AMD64" then
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista_x64"
End If
Else
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_vista"
End If
End If
End If

If InStr(1,strOS,"XP") <> 0 then
If strArch = "AMD64" then
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp_x64"
End If
Else
If objFSO.FolderExists(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp") = False Then
objFSO.CreateFolder(strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp")
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp"
Else
strDriverPath = strHost & "\drivers_postinstall" & "\" & strManufacturer & "\windows_xp"
End If
End If
End If

'-------------------------------------------------------------------------------------------
'
'
' Model
' Verify and create Model if it does not exist
'
'
'-------------------------------------------------------------------------------------------

if objFSO.FolderExists(strDriverPath & "\" & strModel) = False then
objFSO.CreateFolder(strDriverPath & "\" & strModel)
End if

wscript.echo strDriverPath & "\" & strModel & " folder has been created."
Answered 03/12/2012 by: d_firlotte
Orange Belt

Please log in to comment