Comment faire pour exécuter une commande dans un ordinateur distant?
J'ai un dossier partagé sur un serveur et j'ai besoin d'exécuter à distance une commande sur certains fichiers. Comment dois-je faire?
Quels services doivent être en cours d'exécution sur le serveur pour faire ce travail?
Quelques détails: Seulement C# peut être utilisé. Rien ne peut être installé sur le serveur.
- Voulez-vous la commande à exécuter sur la machine distante ou la machine locale?
- Quels systèmes d'exploitation sont ce que vous travaillez avec? Est-ce seulement à propos de Windows à Windows de la communication?
Vous devez vous connecter pour publier un commentaire.
Une autre solution est d'utiliser WMI.NET ou Windows Management Instrumentation.
Exemple De Code
Si vous avez des problèmes d'authentification, puis vérifiez la configuration de DCOM.
dcomcnfg
à partir de l'invite de commande.Component Services\Computers\My Computer\DCOM Config
8BC3F05E-D86B-11D0-A075-00C04FB68820
(vous pouvez le voir dans la vue détails).REMARQUE: Tous les chemins utilisés pour les processus à distance doivent être local sur la machine cible.
Vous pouvez utiliser de Sysinternals de PsExec.
De l'OMI, dans votre cas vous pouvez essayer ceci:
Rien ne doit être installé. Pas de services doivent être en cours d'exécution à l'exception de celles qui permettent le partage de dossiers.
Si vous pouvez accéder au dossier partagé et des cartes sur votre machine, plus les choses devraient fonctionner comme des fichiers locaux, y compris les invites de commande et de toutes les explorer-des outils d'amélioration.
C'est différent de l'utilisation de PsExec (ou RDP-ing) que vous n'avez pas besoin d'avoir les droits d'administration et/ou de bureau à distance/services terminal server les droits de connexion sur le serveur distant, vous devez simplement être en mesure d'accéder à ces dossiers partagés.
Assurez-vous également que vous disposez de toutes les autorisations de sécurité nécessaires pour exécuter les commandes que/outils que vous souhaitez exécuter sur les dossiers partagés ainsi.
Si toutefois vous souhaitez le traitement à faire sur de la machine cible, alors vous pouvez essayer de PsExec comme @divo et @récursive souligné, quelque chose de chœur:
Qui apporte vous donne une invite de commande à la machine distante. Et à partir de là, vous pouvez exécuter tout ce que vous voulez.
Je ne suis pas sûr mais je pense que vous avez besoin de la part du Serveur (
lanmanserver
) ou les Services Terminal server (TermService
) exécution du service (qui doit déjà être en cours d'exécution).- Je utiliser le petit utilitaire qui vient avec PureMPI.net appelé
execcmd.exe
. Sa syntaxe est comme suit:Ne peut pas faire plus simple que cela 🙂