' ---------------------------------------------------------- ' Script de définition de priorité d'un processus ' ' Syntaxe: ' SetPriority [] ' ' JC BELLAMY © 2010 ' ---------------------------------------------------------- Set Args=Wscript.arguments If args.count=0 then Syntaxe CommandLine=args(0) If args.count>1 Then Param=ucase(args(1)) else Param="" Select Case Param Case "/NORMAL","" Priority=32 Case "/LOW" Priority=64 Case "/HIGH" Priority=128 Case "/REALTIME" Priority=256 Case "/ABOVENORMAL" Priority=16384 Case "/BELOWNORMAL" Priority=32768 Case else Erreur 21 End Select strComputer="." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = '" & CommandLine & "'") For Each objProcess in colProcesses coderet=objProcess.SetPriority(Priority) erreur CodeRet next '-------------------------------------------------------------------- Sub Erreur(coderet) Select Case Coderet Case 0 Msg="Opération réalisée avec succès" Case 2 Msg="Accès refusé" Case 3 Msg="Niveau de privilèges insuffisant" Case 8 Msg="Erreur inconnue" Case 9 Msg="Chemin non trouvé : " & CommandLine Case 21 Msg="Paramètre invalide" Case else Msg="Erreur inconnue" End Select Wscript.echo Msg wscript.quit End Sub '-------------------------------------------------------------------- Sub Syntaxe msg= VBCRLF & "===============================================" msg=msg & VBCRLF & "Script de définition de priorité d'un processus" msg=msg & VBCRLF & "===============================================" msg=msg & VBCRLF & "JC Bellamy © 2010" msg=msg & VBCRLF & "" msg=msg & VBCRLF & "Syntaxe :" msg=msg & VBCRLF & " SetPriority []" msg=msg & VBCRLF & " " msg=msg & VBCRLF & " nom de l'exécutable (sans le chemin)" msg=msg & VBCRLF & " (à encadrer éventuellement par des guillemets)" msg=msg & VBCRLF & " " msg=msg & VBCRLF & " le niveau de priorité requis :" msg=msg & VBCRLF & " /LOW : priorité basse" msg=msg & VBCRLF & " /BELOWNORMAL : priorité au-dessous de la normale" msg=msg & VBCRLF & " /NORMAL : priorité normale (valeur par défaut)" msg=msg & VBCRLF & " /ABOVENORMAL : priorité au-dessus de la normale" msg=msg & VBCRLF & " /HIGH : priorité haute" msg=msg & VBCRLF & " /REALTIME : priorité temps réel (déconseillée)" msg=msg & VBCRLF & "Exemple :" msg=msg & VBCRLF & " SetPriority notepad.exe /BELOWNORMAL" wscript.echo msg wscript.quit End Sub