2010-03-24 3 views
0

J'ai écrit un service WCF en tant qu'encapsuleur autour d'un utilitaire C# que nous avons écrit et qui utilise l'utilitaire SysInternals psexec pour exécuter des tâches sur un système distant. psexec est appelée à partir de C# avec des paramètres de ligne de commande qui spécifient le domaine, l'utilisateur et le mot de passe à utiliser.psexec échoue avec le code retour 122 lorsqu'il est utilisé par le service Windows

Tout fonctionne correctement lorsque j'appelle localement l'utilitaire C# de PowerShell.

Cependant, lorsque je lance l'utilitaire à partir du service WCF, nous voyons un code de retour de 122, qui correspond à (?) "La zone de données passée à un appel système est trop petite".

psexec est exécuté sur Windows Server 2008. Les informations d'identification que je transmets sont des administrateurs locaux, dans le même domaine que la machine qui héberge le service qui encapsule l'utilitaire.

+0

Sur quel compte votre service WCF s'exécute-t-il? –

+0

Un utilisateur de domaine normal - pas un administrateur. Cela ferait-il une différence? –

+0

Eh bien, avez-vous essayé avec SYSTEM? –

Répondre

0

Il s'est avéré que c'était probablement un bug corrigé avec la version 1.97 de PSExec. Cette version semble fonctionner très bien dans cette circonstance.

Questions connexes