Ereur commande set

kipetro Messages postés 22 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 10 août 2012 - 16 févr. 2008 à 22:28
kipetro Messages postés 22 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 10 août 2012 - 18 févr. 2008 à 09:53
Bonjour,
j'ai une ereur au moment de la commande Set sur ce script, vous seriez m'aidé?:

Option explicit
On Error Resume Next
Const ONE_HOUR = 3600000
dim ObjWMIService
dim ObjProcess
dim i

Set ObjWMIService = GetObject("winmgmts:") _
    & .ExecQuery _
    ("SELECT * FROM Win32_Process")
for i = 1 to 8
for each ObjProcess in ObjWMIService
        WSCript.Echo Now
        WSCript.Echo ""
        WScript.Echo "Process: " & ObjProcess.name
        WScript.Echo "Process ID: " & ObjProcess.ProcessID
        WScript.Echo "Thread Count: " & ObjProcess.ThreadCount
        WScript.Echo "Page File Size: " & ObjProcess.PageFileUsage
        WScript.Echo "Page Faults: " & ObjProcess.PageFaults
        WScript.Echo "Working Set Size: " & ObjProcess.WorkingSetSize
Next
WScript.Echo "*****PASS COMPLETE*******"
WScript.Sleep ONE_HOUR
next

en fait je voudrais qu'il ait me chercher les processus dans win 32 mais vue qu'il bloque sur "set" il ne renvoit rien quand il vas chercher dans la collection ObjWMIService, il m'affiche l'heure, la fenetre vide et pass complete mais rien de plus car la commande set ne fonctionne pas.
Savez-vous d'ou sa peut venir, merci d'avance.

kipetro debutant.

3 réponses

kipetro Messages postés 22 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 10 août 2012
16 févr. 2008 à 22:51
Je viens de trouvé, mais disons que c'étais pas simple en fin il fallait que je rajoute
"{impersonationLevel=impersonate}" dans la commande set, enfin sa fait:
Option explicit
On Error Resume Next
Const ONE_HOUR = 3600000
dim ObjWMIService
dim ObjProcess
dim i

Set ObjWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}").ExecQuery _
    ("SELECT * FROM Win32_Process")
for i = 1 to 8
for each ObjProcess in ObjWMIService
        WSCript.Echo Now
        WSCript.Echo ""
        WScript.Echo "Process: " & ObjProcess.name
        WScript.Echo "Process ID: " & ObjProcess.ProcessID
        WScript.Echo "Thread Count: " & ObjProcess.ThreadCount
        WScript.Echo "Page File Size: " & ObjProcess.PageFileUsage
        WScript.Echo "Page Faults: " & ObjProcess.PageFaults
        WScript.Echo "Working Set Size: " & ObjProcess.WorkingSetSize
Next
WScript.Echo "*****PASS COMPLETE*******"
WScript.Sleep ONE_HOUR
next

enfin sa marche mais j'aimerais finalement qu'en sorti sa parte dans un document texte, vous pouvez m'aidé.

kipetro debutant.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
17 févr. 2008 à 00:12
 Bonsoir,

En utilisant l'objet FSO:

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile("c:\processes.txt", 2, True)

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}").ExecQuery _
    ("SELECT * FROM Win32_Process")

With objFile
     For i = 1 to 8
         For each ObjProcess in objWMIService
            .WriteLine Now
            .WriteLine ""
            .WriteLine "Process: " & objProcess.name
            .WriteLine "Process ID: " & objProcess.ProcessID
            .WriteLine "Thread Count: " & objProcess.ThreadCount
            .WriteLine "Page File Size: " & objProcess.PageFileUsage
            .WriteLine "Page Faults: " & objProcess.PageFaults
            .WriteLine "Working Set Size: " & objProcess.WorkingSetSize
         Next
     Next
    .Close
End With
Set objFso = Nothing
Set objFile = Nothing
Set objWMIService = Nothing

jean-marc
0
kipetro Messages postés 22 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 10 août 2012
18 févr. 2008 à 09:53
Merci, c'est genial je vais regardé de plus pres, sa devrait me plaire, en tous cas sa marche.

kipetro debutant.
0
Rejoignez-nous