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:
|
" codeBody "
expliciete Option
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Schemerige objFso
Schemerige objWshShell
Schemerige objOutputFile
Schemerige strCurPath
Schemerige strPcListFile
Schemerige strUnAppFile
Schemerige strResultsFile
Schemerige strResultsTime
Schemerige strResultsDate
Schemerige strPCName
Schemerige strTargetapp
Schemerige het meest strConnectionTest
Schemerige strReadPCfile
Schemerige strReadAppfile
Schemerige strGetRemApps
Schemerige strCompApps
Schemerige strUnistallRet
Schemerige arrAppSplit
Schemerige arrPcnames ()
Schemerige arrUninstallApps ()
Schemerige arrPCappList ()
Schemerige arrTargetApps ()
Vastgestelde objFso = CreateObject („Scripting.FileSystemObject“)
Reeks objWshShell = WScript.CreateObject („WScript.Shell“)
strCurPath = CreateObject („Scripting.FileSystemObject“) .GetAbsolutePathName (“. „)
strPcListFile = InputBox („te gaan gelieve de volledige weg en het dossier“ & VbCrLf & „naam van het dossier met de computernamen in. “, „desinstalleer verre apps. “)
Als strPcListFile = "" toen
MsgBox „u moet filename ingaan! “, vbOKOnly, „desinstalleer verre apps.“
WScript.Quit (0)
(strPcListFile) objFso.FileExists van ElseIf niet Dan
MsgBox „u moet een geldig volledig weg en een dossier ingaan - naam van het dossier met de computernamen! “, vbOKOnly, „desinstalleer verre apps.“
WScript.Quit (0)
Anders
strUnAppFile = InputBox („te gaan gelieve de volledige weg en het dossier“ & VbCrLf & „naam van het dossier met de toepassingsnamen in. “, „desinstalleer verre apps. “)
Als strUnAppFile = "" toen
MsgBox „u moet filename ingaan! “, vbOKOnly, „desinstalleer verre apps.“
WScript.Quit (0)
(strUnAppFile) objFso.FileExists van ElseIf niet Dan
MsgBox „u moet een geldig volledig weg en een dossier ingaan - naam van het dossier met de toepassingsnamen! “, vbOKOnly, „desinstalleer verre apps.“
WScript.Quit (0)
Anders
strResultsDate = vervang (FormatDateTime (datum (), vbshortdate), „/“, „-“)
strResultsTime = vervang (vervang (FormatDateTime (nu (), vbLongtime), „: “, „-“), „„, "")
strResultsFile = strCurPath & „\“ & strResultsTime & „_“ & strResultsDate & „.csv“
Als (strResultsFile) objFSO.FileExists Dan
(strResultsFile) ObjFSO.deleteFile
Anders
Vastgestelde objOutputFile = (strResultsFile) objFso.CreateTextFile
objOutputFile.Close
Eind als
Vastgestelde objOutputFile = strResultsFile objFso.OpenTextFile (, ForWriting, TristateUseDefault)
strReadPCfile = readFileToArray (strPcListFile, arrPcnames)
strReadAppfile = readFileToArray (strUnAppFile, arrUninstallApps)
Als strReadPCfile „dan voltooide“ <>
strReadPCfile objOutputFile.WriteLine
objOutputFile.Close
WScript.Quit (0)
„Dan voltooide“ ElseIf strReadAppfile <>
strReadAppfile objOutputFile.WriteLine
objOutputFile.Close
WScript.Quit (0)
Anders
Voor Elke strPCName in arrPcnames
arrPCappList van ReDim (0)
het meest strConnectionTest = IsServerOn (strPCName)
Als meest strConnectionTest <> „online“ toen
objOutputFile.WriteLine strPCName & „, Fout terwijl het verbinden: “ & het meest strConnectionTest
Anders
arrPCappList van ReDim (0)
strGetRemApps = getRemoteApps (strPCName, arrPCappList)
Als strGetRemApps <> „gotlist“ toen
objOutputFile.WriteLine strPCName & „, Fout terwijl het krijgen van verre toepassingslijst: “ & strGetRemApps
Anders
ReDim arrTargetApps (0)
strCompApps = compareArray (arrUninstallApps, arrPCappList, arrTargetApps)
Als strCompApps „dan voltooide“ <>
objOutputFile.WriteLine strPCName & „, Fout terwijl het vergelijken van toepassingslijst: “ & strCompApps
Anders
Als arrTargetApps (0) <> „noAppsToDo“ toen
Voor Elke strTargetapp in arrTargetApps
arrAppSplit = verdeel (strTargetapp, „„*u*““)
strUnistallRet = uninstallTarget (strPCName, strTargetapp)
Als strUnistallRet „dan gedesinstalleerde“ <>
objOutputFile.WriteLine strPCName & „, Fout terwijl desinstallatie“ & arrAppSplit (0)
Anders
objOutputFile.WriteLine strPCName & „,“ & arrAppSplit (0) & „was met succes gedesinstalleerd“
Beëindig als
Daarna
Anders
objOutputFile.WriteLine strPCName & „, Geen toepassingen te desinstalleren.“
Eind als
Eind als
Eind als
Eind als
Daarna
objOutputFile.Close
Eind als
Eind als
Eind als
WScript.Quit (0)
Privé readFileToArray Functie (strTxtFile, arrname ())
Err.Clear
Op Fout hervat daarna
Verduister intFuncErr, intFuncLines
Verduister objFuncReadFile objFuncTxtLines, objFuncFso
Plaats objFuncFso = CreateObject („Scripting.FileSystemObject“)
Plaats objFuncTxtLines = (strTxtFile) objFuncFso.GetFile
Plaats objFuncReadFile = objFuncTxtLines.OpenAsTextStream (ForReading, TristateUseDefault)
Doe tot objFuncReadFile.AtEndOfStream
Het Domein van ReDim arrname (intFuncLines)
arrname (intFuncLines) = objFuncReadFile.ReadLine
intFuncLines = intFuncLines + 1
Lijn
objFuncReadFile.Close
Vastgestelde objFuncFso = niets
Vastgestelde objFuncTxtLines = niets
Vastgestelde objFuncReadFile = niets
Als Err.Number <> 0 toen
readFileToArray = „de lezingsdossier van de Fout: “ & strTxtFile & VbCrLf & „Beschrijving: “ & Err.Description
Anders
readFileToArray = „voltooid“
Eind als
Op Fout GoTo 0
De Functie van het eind
Functie getRemoteApps (strRemotePC, arrname ())
Err.Clear
Op Fout hervat daarna
Verduister objFuncWMIService
Verduister colFuncSoftware
Verduister objFuncSoftware
Verduister intFuncLines
Plaats objFuncWMIService = GetObject („winmgmts: “ & „{impersonationLevel=impersonate}! \ \“ & strRemotePC & „\ wortel \ cimv2“)
Reeks colFuncSoftware = objFuncWMIService.ExecQuery („SELECTEER * UIT Win32_Product“)
Als colFuncSoftware.Count > 0 toen
Voor Elke objFuncSoftware in colFuncSoftware
arrname (intFuncLines) = objFuncSoftware.Name & „„*u*““ & objFuncSoftware.IdentifyingNumber
intFuncLines = intFuncLines + 1
Het Domein van ReDim arrname (intFuncLines)
Daarna
Eind als
Als Err.Number <> 0 toen
getRemoteApps = Err.Description
Anders
getRemoteApps = „gotlist“
Eind als
Op Fout GoTo 0
De Functie van het eind
Functie IsServerOn (strserver)
Err.Clear
Op Fout hervat daarna
Verduister Testme
Verduister strTestConn
Plaats Testme = GetObject („winmgmts: /“ & strserver & „/root/cimv2“)
Reeks strTestConn = GetObject („winmgmts: /“ & strserver & „/root/default: StdRegProv“)
Als Err.Number <> 0 toen
IsServerOn = Err.Description
Anders
IsServerOn = „online“
Eind als
Op Fout GoTo 0
De Functie van het eind
Privé compareArray Functie (arrOne (), arrTwo (), arrReturn ())
Err.Clear
Op Fout hervat daarna
Verduister strArrElement1
Verduister strArrElement2
Verduister intFuncLoop
intFuncLoop = 0
Voor Elke strArrElement1 in arrOne
Voor Elke strArrElement2 in arrTwo
Als strArrElement1 = strArrElement2 toen
Het Domein van ReDim arrReturn (intFuncLoop)
arrReturn (intFuncLoop) = strArrElement2
intFuncLoop =intFuncLoop + 1
Eind als
Daarna
Daarna
Als arrReturn (0) = "" toen arrReturn (0) = „noAppsToDo“
Als Err.Number <> 0 toen
compareArray = Err.Description
Anders
compareArray = „voltooid“
Eind als
Op Fout GoTo 0
De Functie van het eind
Privé Functie uninstallTarget (strComputer, strAppInfo)
Err.Clear
Op Fout hervat daarna
Verduister objFuncWMIService
Verduister colFuncSoftware
Verduister objFuncSoftware
strAppInfo = verdeelde (strAppInfo, „„*u*““)
Vastgestelde objFuncWMIService = GetObject („winmgmts: “ & „{impersonationLevel=impersonate}! \ \“ & strComputer & „\ wortel \ cimv2“)
Reeks colFuncSoftware = objFuncWMIService.ExecQuery („selecteer * uit Win32_Product waar Naam = „“ & strAppInfo (0) & „“ en IdentifyingNumber = „„& strAppInfo (1) &““ „)
Voor Elke objFuncSoftware in colFuncSoftware
objFuncSoftware.Uninstall ()
Daarna
Als Err.Number <> 0 toen
uninstallTarget = Err.Description
Anders
uninstallTarget = „gedesinstalleerd“
Eind als
Op Fout GoTo 0
De Functie van het eind
|