À propos de l'utilisation de WMI dans WinPE
Publié : 02 février 2015, 15:58
Bonjour à tous,
J'ai réalisé un WinPE 32 bits multi-boot en WinPE3.1 et WinPe5.
J'utilise, dans des VBScripts, WMI.
À ma grande surprise, j'ai constaté que les appels à WMI se soldaient par une présence devenue permanente de l'exécutable "WmiPrvSE.exe" et quelquefois en double exemplaire (constatée par "Taskmgr" que j'ai intégré).
Des logiciels comme "Speccy" ou "MsInfo32" utilisent WMI.
Sous Windows normal, je n'ai jamais constaté une présence permanente de cet exécutable.
J'ai donc modifié un de mes scripts nommé "Tue.vbs" pour qu'il règle le compte de ce(s) parasite(s).
Il n'est pas recommandé de tuer un script vbs ou un exécutable car il peut laisser l'ordinateur dans un triste état, j'utilise ce script pour tuer des scripts nommés "attente.vbs" (scripts qui affichent des informations) ou un exécutable "EasyTimer.exe" (horloge à l'écran) et aucun d'eux ne manipulent de données.
Pour information le voici :
Ce script, lancé sans argument, effectue deux fois de suite la recherche de "WmiPrvSE.exe" ce qui peut paraître étrange... mais c'est la seule solution que j'ai trouvé ! Je suppose qu'il puisse y avoir une parenté dans les "WmiPrvSE.exe", ce qui peut impliquer un ordre dans la destruction...
À bientôt,
moums3
J'ai réalisé un WinPE 32 bits multi-boot en WinPE3.1 et WinPe5.
J'utilise, dans des VBScripts, WMI.
À ma grande surprise, j'ai constaté que les appels à WMI se soldaient par une présence devenue permanente de l'exécutable "WmiPrvSE.exe" et quelquefois en double exemplaire (constatée par "Taskmgr" que j'ai intégré).
Des logiciels comme "Speccy" ou "MsInfo32" utilisent WMI.
Sous Windows normal, je n'ai jamais constaté une présence permanente de cet exécutable.
J'ai donc modifié un de mes scripts nommé "Tue.vbs" pour qu'il règle le compte de ce(s) parasite(s).
Il n'est pas recommandé de tuer un script vbs ou un exécutable car il peut laisser l'ordinateur dans un triste état, j'utilise ce script pour tuer des scripts nommés "attente.vbs" (scripts qui affichent des informations) ou un exécutable "EasyTimer.exe" (horloge à l'écran) et aucun d'eux ne manipulent de données.
Pour information le voici :
Code : Tout sélectionner
Option Explicit
Dim a,b,coll,wmi
b="Select * from Win32_Process Where Name='"
Set wmi=GetObject("winmgmts:")
If WScript.Arguments.Count=1 Then
a=WScript.Arguments.Unnamed.Item(0)
If a="exe" Then Set coll=wmi.ExecQuery(b&"EasyTimer.exe'")
If a="vbs" Then Set coll=wmi.ExecQuery(b&"wscript.exe' AND CommandLine like '%attente.vbs%'")
If VarType(coll)=9 Then tue()
coll=Empty
End If
b=b&"WmiPrvSE.exe'"
Set coll=wmi.ExecQuery(b)
If VarType(coll)=9 Then tue()
Set coll=wmi.ExecQuery(b)
If VarType(coll)=9 Then tue()
Sub tue()
Dim obj
On Error Resume Next
For Each obj in coll
obj.Terminate()
Next
On Error GoTo 0
End Sub
À bientôt,
moums3