Vbscript : gestion de process et récupération du username

Résolu
Signaler
Messages postés
9
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
18 juin 2010
-
Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
-
Comme dit dans le titre, je cherche à gérer des process sur mon ordi.
Le problème est que 2 process ont le même nom : msiexec.exe

Les seules différences entre ces deux process sont : le PID et le UserID du Process : l'un est system l'autre c'est moi.

Je cherche donc à gérer ces process à partir du nom de l'utilisateurs
du process. Pour celà je compare le GetOwner du process à la variable
d'environnement %username%.

Le principal problème est que je ne récupère pas le %username% car "%" n'est pas trop apprécié par mon moteur VB .

Voici mon code :



'---------------------------------------- Temporisation des fenêtres ----------------------------------------------





'definition de requête wmi

sComputer = "." ' use "." for local computer

Set oWmi = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\" _

& sComputer & "\root\cimv2")



'Definition des objets vbs

Set WshShell = CreateObject("WScript.Shell")



WshShell.exec(CHR(34) & "C:/MySQL_4.1_Setup.exe" & CHR(34))





do

Set colProcessList = oWmi.ExecQuery _

("Select * from Win32_Process Where Name = 'msiexec.exe'")

For Each objProcess in colProcessList

colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)

If StrNameOfUser = %username% Then wscript.sleep(500)

Next

wscript.sleep(1000)

loop while (colProcessList.count >= 2)



WshShell.Run("notepad.exe")

'--------------------------------------------------------------------------------





voilà voilà

1 réponse

Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
11
Essaye éventuellement avec :

If StrNameOfUser = WshShell.ExpandEnvironmentStrings("%username%") Then wscript.sleep(500)

wape
3