0
votes

Psexec fonctionne sur la ligne de commande mais pas dans ASP

J'utilise PSExec pour déclencher un programme à distance. Je peux déclencher le programme actuel (non affiché ici) ou cmd.exe à distance sans aucun problème de la ligne de commande. Lorsque j'essaie de le tirer de ASP et C #, cela ne déclenchera pas l'invite de commande, même si j'utilise la même chaîne exacte. Voici la chaîne que j'utilise cela fonctionne à chaque fois, et le code qui ne le fait pas. Aide s'il vous plaît!

String de travail: C: \ PSEXEC \\ 10.0.0.25 -UD Administrateur -P Mot de passe -D -I CMD.EXE

Code sans travail: xxx


3 commentaires

Pas une réponse ou quoi que ce soit, mais permettant au travailleur de l'ASP de courir Psexec doit être la chose la plus précaire que j'ai vue depuis un moment ....


Bien actuellement, il n'est pas permis, je suppose que c'est pourquoi il échoue. Je suis ouvert aux suggestions d'exécution d'une application distante sur une machine sur le même réseau.


Vous voudrez peut-être envisager une sorte de système de messagerie, même s'il s'agit simplement d'une table dans une base de données partagée. Lorsque vous souhaitez que le processus vous exécute, vous ajoutez un enregistrement à la table. Ensuite, vous avez un processus distinct (peut-être sur cette machine distante) interrogez la base de données. Lorsqu'il voit le nouvel enregistrement, il exécute le processus. Lorsque cela fait, il supprime l'enregistrement ou la marque a été traitée.


3 Réponses :


1
votes

Cela fait longtemps que j'étais un administrateur système, mais si je me rappelle correctement pSexec doit être exécuté à partir d'une invite de commande administrative. Peut-être que le compte que votre application est exécuté ne dispose pas de droits d'accès sur le réseau et de faire des choses à une machine distante?

Mettez ceci dans votre page_load code> temporairement: p>

Response.Write(Environment.UserName);


1 commentaires

Cela échoue s'il n'est pas couru sous une invite de commande administrative. Je suppose que c'est pourquoi il échoue. Des suggestions à réparer? Je ne sais pas comment obtenir une sortie du programme pour savoir pourquoi il échoue.



1
votes

Une option, en supposant que vous avez un contrôle sur la machine, consiste à configurer la commande PSEXec en tant que tâche de planificateur de tâche, puis exécutez le travail de planificateur de tâches à partir de votre application ASP. Vous pouvez configurer le planificateur de tâches à exécuter en tant qu'administrateur et lorsque vous tirez hors du travail, il fonctionnera sous ces informations d'identification. Vous n'obtiendrez pas de sortie de cette façon, donc si c'est un problème, il peut ne pas y avoir de bon choix.

voir Comment exécuter la tâche Windows 7 existante en utilisant Invite de commande pour un exemple d'exécution de la tâche ..


0 commentaires

0
votes

Eh bien, je vais maintenant faire de l'automatisation et j'ai compris quelques choses. S'il vous plaît voir ci-dessous le code peut-être que cela vous aidera à sortir xxx


0 commentaires