【发布时间】:2010-03-27 03:35:13
【问题描述】:
我编写了一个 WCF 服务作为我们编写的 C# 实用程序的包装器,该实用程序使用 SysInternals psexec 实用程序在远程系统上运行作业。 psexec 是从 C# 调用的,使用命令行参数指定要使用的域、用户和密码。
当我在本地从 PowerShell 调用 C# 实用程序时,一切正常。
但是,当我从 WCF 服务运行该实用程序时,我们看到返回代码 122,这对应于 (?)“传递给系统调用的数据区域太小”。
psexec 针对 Windows Server 2008 运行。我传递的凭据是本地管理员,与托管服务包装实用程序的计算机位于同一域中。
【问题讨论】:
-
您的 WCF 服务在哪个帐户下运行?
-
普通域用户 - 不是管理员。这会有所作为吗?
-
嗯,你用SYSTEM试试了吗?
-
确实;原来这是 PSExec 的旧版本。