2009-10-16 10 views
2

Est-il possible de se connecter à un ordinateur distant et de supprimer des fichiers? Si non, y a-t-il d'autres approches qui peuvent accomplir cette tâche? Une idée est que je pourrais créer un service qui s'exécute sur chaque machine, implémenter une méthode qui supprime les fichiers locaux, puis envoyer des commandes à ce service.Suppression de fichiers sur un ordinateur distant

Répondre

2

Si vous pouvez l'atteindre via un chemin réseau standard, alors c'est le moyen le plus simple. \\machinename\c$\. Vous devez être un administrateur sur la machine pour atteindre ce chemin. Cela fonctionne avec les objets System.IO (fichier, répertoire, etc.)

1

S'il s'agit d'une machine sur votre LAN ou VPN, vous pouvez utiliser un chemin UNC, mais vous devrez connaître le nom d'utilisateur et le mot de passe de chaque machine. Vous devez utiliser l'API Win32 WNetUseConnection à partir de C# pour vous connecter à l'ordinateur. Une fois connecté, vous pouvez supprimer des fichiers en utilisant la méthode normale. Il suffit de spécifier le chemin UNC complet du fichier \\machine\c$\file.txt.

Si la machine se trouve sur le réseau et non sur votre LAN ou VPN, WCF ressemble à ce que vous cherchez. Vous pouvez créer un contrat de service avec une opération de suppression de fichier. Il y a un grand introduction to WCF services here.

4

Si vous ne pouvez pas accéder au partage réseau, vous pouvez créer un fichier de commandes à exécuter à distance.

Alors Remove.bat

c:\ 
cd \Windows\system32\example\ 
rm * 

et utiliser psexec pour copier la chauve-souris à l'ordinateur distant et l'exécuter là. Après la sortie de psexec, la chauve-souris a terminé son exécution sur l'ordinateur distant.

psexec \\example-computer -f -c remove.bat 

Psexec utilise netbios, vous devriez donc pouvoir initier une session netbios sur l'ordinateur distant.

Questions connexes