This aide seulement à tuer les processus sur la machine locale. Comment puis-je tuer des processus sur des machines distantes?Tuer un processus sur une machine distante en C#
2
A
Répondre
10
1
J'utilise le code suivant. psKill est aussi un bon moyen d'y aller mais parfois vous devez vérifier les autres choses, par exemple dans mon cas la machine distante exécutait plusieurs instances du même processus mais avec des arguments de ligne de commande différents, donc le code suivant a fonctionné pour moi.
ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.Username = string.Format(@"carpark\{0}", "domainOrWorkspace\RemoteUsername");
connectoptions.Password = "remoteComputersPasssword";
ManagementScope scope = new ManagementScope(@"\\" + ipAddress + @"\root\cimv2");
scope.Options = connectoptions;
SelectQuery query = new SelectQuery("select * from Win32_Process where name = 'MYPROCESS.EXE'");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
{
ManagementObjectCollection collection = searcher.Get();
if (collection.Count > 0)
{
foreach (ManagementObject mo in collection)
{
uint processId = (uint)mo["ProcessId"];
string commandLine = (string) mo["CommandLine"];
string expectedCommandLine = string.Format("MYPROCESS.EXE {0} {1}", deviceId, deviceType);
if (commandLine != null && commandLine.ToUpper() == expectedCommandLine.ToUpper())
{
mo.InvokeMethod("Terminate", null);
break;
}
}
}
}
3
J'aime (similaire à répondre de Mubashar):
ManagementScope managementScope = new ManagementScope("\\\\servername\\root\\cimv2");
managementScope.Connect();
ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_Process Where Name = 'processname'");
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(managementScope, objectQuery);
ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
foreach (ManagementObject managementObject in managementObjectCollection)
{
managementObject.InvokeMethod("Terminate", null);
}
Questions connexes
- 1. Comment démarrer un processus sur une machine distante en C++ sous Windows
- 2. Installer le logiciel sur une machine distante?
- 3. tuer ou fermer un processus
- 4. Comment redémarrer un service sur une machine distante sous Windows?
- 5. Copie de site Web sur une machine distante
- 6. Tuer un processus défunt sur le système UNIX
- 7. Récupère l'utilisation actuelle de la mémoire d'un processus s'exécutant sur une machine distante avec WMI
- 8. Tuer un "processus critique" sous Windows (C/C++)
- 9. Redémarrer IIS sur la machine distante
- 10. Comment exécuter une commande dans une machine distante et obtenir la sortie en utilisant C# .net
- 11. Classes .Net pour contrôler les services sur une machine distante?
- 12. Comment partager le registre de Windows sur une machine distante?
- 13. Comment démarrer et arrêter des services sur une machine distante?
- 14. Tuer un objet COM hors processus à partir de C#
- 15. comment identifier machine distante uniquement en PHP?
- 16. Qt: Tuer le processus actuel?
- 17. démarrer un programme sur une machine distante dans wmi, mais aussi ouvrir la fenêtre des applications (en C#)
- 18. Comment tuer un fil instantanément en C#?
- 19. SDK vit dans C: \ windows \ assembly sur une machine distante comment l'ajouter dans VS?
- 20. Exécuter un fichier de commandes présent dans la machine distante
- 21. Utilisation de Microsoft.Sdc.Tasks.ServiceProcess.ControlService Comment vérifier si un service existe sur une machine distante?
- 22. par programme tuer un processus dans Vista/Windows 7 en C#
- 23. Comment exécuter un script shell sur une machine distante à partir de Java?
- 24. La meilleure façon de définir les autorisations pour un utilisateur spécifique sur un dossier spécifique sur une machine distante?
- 25. Comment donner un accès au service Window sur une machine distante?
- 26. Comment tuer un processus pour un utilisateur particulier dans .NET (C#)?
- 27. Lire une valeur de clé de Registre sur une machine distante
- 28. Comment puis-je envoyer les informations d'identification de l'utilisateur pour une utilisation sur une machine distante en utilisant WCF?
- 29. Comment installer msi sur une machine distante dans msbuild sans utiliser psexec?
- 30. Un moyen d'écrire un fichier Windows .bat pour tuer les processus?
Je ne vois rien dans votre lien indiquant que cela ne fonctionnera pas à distance. Est-ce que j'ai manqué quelque chose ou avez-vous des documents indiquant que cela ne fonctionnera pas? – Terry