Ce petit script va vous permettre de récupérer dans une variable un tableau de l’ensemble des process tournant sur le poste avec leurs ID et leurs propriétaire
$process=gwmi win32_process
$array=@()
foreach ($p in $Process)
{
$temp=new-object psobject
$temp |add-member -MemberType NoteProperty -name "ProcessName" -Value $p.name
$temp |add-member -MemberType NoteProperty -name "ProcessID" -Value $p.ProcessID
$temp |add-member -MemberType NoteProperty -name "User" -Value $p.getowner().user
$array+=$temp
}
Exemple :
Ainsi, pour killer des processus, vous pouvez maintenant ajouter la contrainte par identification du propriétaire du Processus.
Exemple :
Nous allons killer les process Spotify de l’utilisateur ato
Tout d’abord on récupère les Processus respectant cette contrainte dans notre variable:
$array |? {$_.processname -eq "Spotify.exe" -and $_.user -eq "ato"}
Et ensuite, on les Kill grâce à leurs identifiants :
$array |? {$_.processname -eq "Spotify.exe" -and $_.user -eq "ato"} |%{stop-process -Id $_.processID}
Résultat : Plus de musique (les processus Spotify de l’utilisateur ato ont été arrêtés).