(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:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
|
Option Wyraźny
Const ForReading = (1), ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = (0)
Ciemnawy objFso
Ciemnawy objWshShell
Ciemnawy objOutputFile
Ciemnawy strCurPath
Ciemnawy strPcListFile
Ciemnawy strUnAppFile
Ciemnawy strResultsFile
Ciemnawy strResultsTime
Ciemnawy strResultsDate
Ciemnawy strPCName
Ciemnawy strTargetapp
Ciemnawy strConnectionTest
Ciemnawy strReadPCfile
Ciemnawy strReadAppfile
Ciemnawy strGetRemApps
Ciemnawy strCompApps
Ciemnawy strUnistallRet
Ciemnawy arrAppSplit
Ciemnawy arrPcnames ()
Ciemnawy arrUninstallApps ()
Ciemnawy arrPCappList ()
Ciemnawy arrTargetApps ()
Ustalony objFso = CreateObject ("Scripting.FileSystemObject")
Ustalony objWshShell = WScript.CreateObject ("WScript.Shell")
strCurPath = CreateObject ("Scripting.FileSystemObject") .GetAbsolutePathName (" .")
strPcListFile = InputBox ("Zadawalać wchodzić do the pełny ścieżka i kartoteka" & VbCrLf & "imię the kartoteka z the komputerowy imię. ", "Uninstall pilot apps.")
Jeżeli strPcListFile = "" Wtedy
MsgBox "Ty musieć filename! ", vbOKOnly, "Uninstall daleki apps."
WScript.Quit ((0))
ElseIf Nie objFso.FileExists (strPcListFile) Wtedy
MsgBox "Ty musieć ważny pełny ścieżka i kartoteka - imię the kartoteka z the komputerowy imię! ", vbOKOnly, "Uninstall daleki apps."
WScript.Quit ((0))
Inny
strUnAppFile = InputBox ("Zadawalać wchodzić do the pełny ścieżka i kartoteka" & VbCrLf & "imię the kartoteka z the podaniowy imię. ", "Uninstall pilot apps.")
Jeżeli strUnAppFile = "" Wtedy
MsgBox "Ty musieć filename! ", vbOKOnly, "Uninstall daleki apps."
WScript.Quit ((0))
ElseIf Nie objFso.FileExists (strUnAppFile) Wtedy
MsgBox "Ty musieć ważny pełny ścieżka i kartoteka - imię the kartoteka z the podaniowy imię! ", vbOKOnly, "Uninstall daleki apps."
WScript.Quit ((0))
Inny
strResultsDate = Zamieniać (FormatDateTime (data (), vbshortdate), "/", "-")
strResultsTime = Zamieniać (Zamieniać (FormatDateTime (teraz (), vbLongtime), ": ", "-"), "", "")
strResultsFile = strCurPath & "\" & strResultsTime & "_" & strResultsDate & ".csv"
Jeżeli objFSO.FileExists (strResultsFile) Wtedy
ObjFSO.deleteFile (strResultsFile)
Inny
Ustalony objOutputFile = objFso.CreateTextFile (strResultsFile)
objOutputFile.Close
Kończyć Jeżeli
Ustawiać objOutputFile = objFso.OpenTextFile (strResultsFile, ForWriting, TristateUseDefault)
strReadPCfile = readFileToArray (strPcListFile, arrPcnames)
strReadAppfile = readFileToArray (strUnAppFile, arrUninstallApps)
Jeżeli strReadPCfile <> "uzupełniać" Wtedy
objOutputFile.WriteLine strReadPCfile
objOutputFile.Close
WScript.Quit ((0))
ElseIf strReadAppfile <> "uzupełniać" Wtedy
objOutputFile.WriteLine strReadAppfile
objOutputFile.Close
WScript.Quit ((0))
Inny
Dla ArrPcnames strPCName W arrPcnames
ReDim arrPCappList ((0))
strConnectionTest = IsServerOn (strPCName)
Jeżeli strConnectionTest <> "online" Wtedy
objOutputFile.WriteLine strPCName & ", Błąd podczas gdy łączyć: " & strConnectionTest
Inny
ReDim arrPCappList ((0))
strGetRemApps = getRemoteApps (strPCName, arrPCappList)
Jeżeli strGetRemApps <> "gotlist" Wtedy
objOutputFile.WriteLine strPCName & ", Błąd podczas gdy dostawać daleki podaniowy lista: " & strGetRemApps
Inny
ReDim arrTargetApps ((0))
strCompApps = compareArray (arrUninstallApps, arrPCappList, arrTargetApps)
Jeżeli strCompApps <> "uzupełniać" Wtedy
objOutputFile.WriteLine strPCName & ", Błąd podczas gdy porównywać podaniowy lista: " & strCompApps
Inny
Jeżeli arrTargetApps ((0)) <> "noAppsToDo" Wtedy
Dla ArrTargetApps strTargetapp W arrTargetApps
arrAppSplit = Rozłam (strTargetapp, ""*u*" ")
strUnistallRet = uninstallTarget (strPCName, strTargetapp)
Jeżeli strUnistallRet <> "uninstalled" Wtedy
objOutputFile.WriteLine strPCName & ", Błąd podczas gdy uninstalling" & arrAppSplit ((0))
Inny
objOutputFile.WriteLine strPCName & "," & arrAppSplit ((0)) & "pomyślnie uninstalled"
Kończyć Jeżeli
Następnie
Inny
objOutputFile.WriteLine strPCName & ", Żadny zastosowanie uninstall."
Kończyć Jeżeli
Kończyć Jeżeli
Kończyć Jeżeli
Kończyć Jeżeli
Następnie
objOutputFile.Close
Kończyć Jeżeli
Kończyć Jeżeli
Kończyć Jeżeli
WScript.Quit ((0))
Intymny Funkcja readFileToArray (strTxtFile, arrname ())
Err.Clear
Na Błąd Życiorys Następnie
Ciemnawy intFuncErr, intFuncLines
Ciemnawy objFuncTxtLines, objFuncReadFile, objFuncFso
Ustalony objFuncFso = CreateObject ("Scripting.FileSystemObject")
Ustalony objFuncTxtLines = objFuncFso.GetFile (strTxtFile)
Ustalony objFuncReadFile = objFuncTxtLines.OpenAsTextStream (ForReading, TristateUseDefault)
Do objFuncReadFile.AtEndOfStream
ReDim Prezerwa arrname (intFuncLines)
arrname (intFuncLines) = objFuncReadFile.ReadLine
intFuncLines = intFuncLines + (1)
Pętla
objFuncReadFile.Close
Ustalony objFuncFso = Nic
Ustalony objFuncTxtLines = Nic
Ustalony objFuncReadFile = ObjFuncReadFile
Jeżeli Err.Number <> (0) Wtedy
readFileToArray = "Błąd czytanie kartoteka: " & strTxtFile & VbCrLf & "Opis: " & Err.Description
Inny
readFileToArray = "uzupełniać"
Kończyć Jeżeli
Na Błąd Rozpoczynający (0)
Końcówka Funkcja
Funkcja getRemoteApps (strRemotePC, arrname ())
Err.Clear
Na Błąd Życiorys Następnie
Ciemnawy objFuncWMIService
Ciemnawy colFuncSoftware
Ciemnawy objFuncSoftware
Ciemnawy intFuncLines
Ustalony objFuncWMIService = GetObject ("winmgmts: " & "{impersonationLevel=impersonate}! \ \" & strRemotePC & "\ korzeń \ cimv2")
Ustalony colFuncSoftware = objFuncWMIService.ExecQuery ("WYBIÓRKA * OD Win32_Product")
Jeżeli colFuncSoftware.Count > (0) Wtedy
Dla ColFuncSoftware objFuncSoftware w colFuncSoftware
arrname (intFuncLines) = objFuncSoftware.Name & ""*u*"" & objFuncSoftware.IdentifyingNumber
intFuncLines = intFuncLines + (1)
ReDim Prezerwa arrname (intFuncLines)
Następnie
Kończyć Jeżeli
Jeżeli Err.Number <> (0) Wtedy
getRemoteApps = Err.Description
Inny
getRemoteApps = "gotlist"
Kończyć Jeżeli
Na Błąd Rozpoczynający (0)
Końcówka Funkcja
Funkcja IsServerOn (strserver)
Err.Clear
Na Błąd Życiorys Następnie
Ciemnawy Testme
Ciemnawy strTestConn
Ustalony Testme = GetObject ("winmgmts: /" & strserver & "/root/cimv2")
Ustalony strTestConn = GetObject ("winmgmts: /" & strserver & "/root/default: StdRegProv")
Jeżeli Err.Number <> (0) Wtedy
IsServerOn = Err.Description
Inny
IsServerOn = "online"
Kończyć Jeżeli
Na Błąd Rozpoczynający (0)
Końcówka Funkcja
Intymny Funkcja compareArray (arrOne (), arrTwo (), arrReturn ())
Err.Clear
Na Błąd Życiorys Następnie
Ciemnawy strArrElement1
Ciemnawy strArrElement2
Ciemnawy intFuncLoop
intFuncLoop = (0)
Dla ArrOne strArrElement1 W arrOne
Dla ArrTwo strArrElement2 W arrTwo
Jeżeli strArrElement1 = strArrElement2 Wtedy
ReDim Prezerwa arrReturn (intFuncLoop)
arrReturn (intFuncLoop) = strArrElement2
intFuncLoop =intFuncLoop + (1)
Kończyć Jeżeli
Następnie
Następnie
Jeżeli arrReturn ((0)) = "" Wtedy arrReturn ((0)) = "noAppsToDo"
Jeżeli Err.Number <> (0) Wtedy
compareArray = Err.Description
Inny
compareArray = "uzupełniać"
Kończyć Jeżeli
Na Błąd Rozpoczynający (0)
Końcówka Funkcja
Intymny Funkcja uninstallTarget (strComputer, strAppInfo)
Err.Clear
Na Błąd Życiorys Następnie
Ciemnawy objFuncWMIService
Ciemnawy colFuncSoftware
Ciemnawy objFuncSoftware
strAppInfo = Rozłam (strAppInfo, ""*u*" ")
Ustalony objFuncWMIService = GetObject ("winmgmts: " & "{impersonationLevel=impersonate}! \ \" & strComputer & "\ korzeń \ cimv2")
Ustalony colFuncSoftware = objFuncWMIService.ExecQuery ("Wybiórka * od Win32_Product Dokąd Imię = "" & strAppInfo ((0)) & "" I IdentifyingNumber = ""& strAppInfo (1) &"" ")
Dla ColFuncSoftware objFuncSoftware w colFuncSoftware
objFuncSoftware.Uninstall ()
Następnie
Jeżeli Err.Number <> (0) Wtedy
uninstallTarget = Err.Description
Inny
uninstallTarget = "uninstalled"
Kończyć Jeżeli
Na Błąd Rozpoczynający (0)
Końcówka Funkcja
|