C#作为与文件服务器不同的用户运行进程

时间:2016-06-21 08:28:19

标签: c# winforms process runas fileserver

我试图从文件服务器运行可执行文件,我首先尝试使用该功能制作测试应用程序。这非常有效(让我们将其称为APP1),但后来我将其移至Windows窗体(即APP2),我不断获得Invalid DirectoryFile Not Found错误。

这是我使用的代码:

var sspw = new SecureString();

foreach (var c in "MyPassword")
    sspw.AppendChar(c);

ProcessStartInfo procStartInfo = new ProcessStartInfo()
            {
                UseShellExecute = false,
                CreateNoWindow = true,
                FileName = @"\\MyServer\MySharedDirectory\MyFolder\usernametest.exe",
                Arguments = "",
                Domain = "MyDomain",
                UserName = "SomeUser",
                Password = sspw
            };

我正在运行的应用程序是一个简单的应用程序,它显示运行它的用户的用户名。我试过单独设置工作目录和文件名,但这没有用。

当我尝试APP1时,它与我的域中的2个不同用户一起使用。当我运行Windows窗体应用程序时,它会通过登录,因此登录显示正常(输入错误的密码会给我错误的pw错误),但随后出现上述错误。

编辑:我发现差异在哪里,APP1从我的本地计算机运行,而APP2位于我尝试运行的可执行文件的上一级(AKA on相同的文件服务器),从文件服务器而不是我的本地计算机运行应用程序有什么不同?

0 个答案:

没有答案