forked from brianfgonzalez/Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCopyVendorDrivers.vbs
121 lines (106 loc) · 3.49 KB
/
CopyVendorDrivers.vbs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
'==========================================================================
'
' NAME: CopyVendorDrivers.vbs
'
' AUTHOR: Brian Gonzalez , Panasonic
' DATE : 7/13/2012
'
' COMMENT:
'
'
' Return:
' 0 = No Errors
' 1 = X:\loginw.exe not found, may not be booted into PE2.
' 2 = Connecting to server alt001 failed.
' 3 = Mapping to \\alt001\Drivers failed.
' 4 = Unable to create \Drivers directory.
' 5 = Error occured when executing WMI Query for Model.
' 6 = Error occured when executing WMI Query for Product.
' 7 = Copy %Model% drivers to Target drivers failed.
' 8 = Copy %Product% drivers to Target drivers failed.
' 9 = Copy %Common% drivers to Target drivers failed.
' 10 = Creation of dummy file recording Product and Model failed.
'
'==========================================================================
On Error Resume Next
dim objFSO, objFile, objShell, objWMI, objNetwork, objRef
dim strScriptFolder, strTargetOS, strTargetOSDriveLetter, item
dim strProduct, strModel
set objFSO = CreateObject("Scripting.FileSystemObject")
set objShell = CreateObject("WScript.Shell")
'set objNetwork = CreateObject("WScript.Network")
Set objWMI = GetObject("Winmgmts://.")
strScriptFolder = objFSO.GetParentFolderName(WScript.ScriptFullName) 'No trailing backslash
Const ReturnImmediately=&h10
Const ForwardOnly=&h20
If objFSO.FileExists("X:\loginw.exe") Then
objShell.Run "X:\loginw.exe -f ""X:\briang.pwl"" -c ""alt001"" -d ""supportishere.com""", 3, True
Else
WScript.Quit(1)
End If
If Err.Number Then
WScript.Quit(2)
End If
objShell.Run "cmd /c net use K: \\alt001\Drivers", 3, True
If Err.Number Then
WScript.Quit(3)
End If
If objFSO.FileExists("C:\boot.ini") Then
strTargetOS = "XP"
strTargetOSDriveLetter = "C:"
Else
strTargetOS = "7"
strTargetOSDriveLetter = "D:"
End If
strLocalDriverFolder = strTargetOSDriveLetter & "\Drivers"
If Not objFSO.FolderExists(strLocalDriverFolder) Then
objFSO.CreateFolder strLocalDriverFolder
If Err.Number Then
WScript.Quit(4)
End If
End If
strQuery="Select Model FROM Win32_ComputerSystem"
Set objRef = objWMI.ExecQuery(strQuery,"WQL",ForwardOnly+ReturnImmediately)
If Err.Number Then
WScript.Quit(5)
End If
for each item in objRef
strModel = item.model
Next
strQuery="Select Product FROM Win32_Baseboard"
Set objRef = objWMI.ExecQuery(strQuery,"WQL",ForwardOnly+ReturnImmediately)
If Err.Number Then
WScript.Quit(6)
End If
for each item in objRef
strProduct = item.product
Next
strServerModelDriverFolder = "K:\" & strModel & "-" & strTargetOS
If objFSO.FolderExists(strServerModelDriverFolder) Then
objShell.Run "xcopy """ & strServerModelDriverFolder & "\*.*"" """ & strLocalDriverFolder & "\"" /heyi", 3, True
If Err.Number Then
WScript.Quit(7)
End If
End If
strServerProductDriverFolder = "K:\" & strProduct & "-" & strTargetOS
If objFSO.FolderExists(strServerProductDriverFolder) Then
objShell.Run "xcopy """ & strServerProductDriverFolder & "\*.*"" """ & strLocalDriverFolder & "\"" /heyi", 3, True
If Err.Number Then
WScript.Quit(8)
End If
End If
strServerCommonDriverFolder = "K:\Common" & "-" & strTargetOS
If objFSO.FolderExists(strServerCommonDriverFolder) Then
objShell.Run "xcopy """ & strServerCommonDriverFolder & "\*.*"" """ & strLocalDriverFolder & "\"" /heyi", 3, True
If Err.Number Then
WScript.Quit(9)
End If
End If
objFSO.CreateTextFile strTargetOSDriveLetter & "\" & strProduct & ".txt"
If Err.Number Then
WScript.Quit(10)
End If
objFSO.CreateTextFile strTargetOSDriveLetter & "\" & strModel & ".txt"
If Err.Number Then
WScript.Quit(10)
End If