J'ai un script PowerShell que je veux utiliser pour fermer les applications en cours d'exécution dans la session d'un autre utilisateur. Le script fonctionne lorsqu'il est exécuté en tant qu'administrateur, cependant je ne veux pas donner les droits d'administrateur aux utilisateurs juste pour fermer l'application en cours d'exécution dans la session d'un autre utilisateur. J'ai créé une tâche dans le Planificateur de tâches qui devrait permettre à la tâche de s'exécuter en tant qu'administrateur en utilisant des informations d'identification stockées. Voir la tâche ci-dessous:
J'ai ensuite créé un raccourci pour lier cette tâche planifiée et je l'ai déposé sur le bureau public. Voici le chemin pour cela:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File C:\SMS_Killer.ps1
J'ai mis en place une Autorisation de Bypass cependant cela ne semble pas fonctionner à moins qu'un administrateur soit connecté.
Voici le code qui est exécuté par l'exécution de la tâche:
Get-Process | Where {$_.ProcessName -eq "firefox"} | Stop-Process
Read-Host -Prompt "Appuyez sur Entrée pour quitter"
Et voici l'erreur que j'obtiens lorsque je l'exécute en tant que non administrateur:
Stop-Process : Impossible d'arrêter le processus "firefox (3328)" en raison de l'erreur suivante: Accès refusé
À C:\SMS_Killer.ps1:5 char:54
+ Get-Process | Where {$_.ProcessName -eq "firefox"} | Stop-Process
+ ~~~~~~~~~~~~
+ CategoryInfo : CloseError: (System.Diagnostics.Process (firefox):Process) [Stop-Process], ProcessComman
dException
+ FullyQualifiedErrorId : CouldNotStopProcess,Microsoft.PowerShell.Commands.StopProcessCommand
Toute aide serait grandement appréciée, je ne sais pas où je me trompe.