从process.start运行时获取execption

时间:2016-02-05 11:13:32

标签: c# powershell command-line

所以我有这个奇怪的问题,赢得7个电脑。我有一个来自.bat文件的runs this powershell script的应用程序。 这是代码:

public void GetLastestEarthBackground()
{
    var directoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Scripts");
    var vbsFile = Path.Combine(directoryPath, Settings.VBSFileName);

    if (File.Exists(vbsFile))
    {
        var process = new Process
        {
            StartInfo =
            {
                WorkingDirectory = directoryPath,
                Verb = "runas",
                UseShellExecute = true,
                FileName = "run.bat", //Settings.VBSFileName,
                Arguments = "//B //Nologo"
            }
        };
        process.Start();
        process.WaitForExit();
    }
}

当我从我的应用程序运行它时,我在命令行中看到了这一点:

enter image description here

但是,如果我双击批处理文件,我会得到这个结果:

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这似乎是用户权限的问题,运行脚本的程序可能与您的用户没有相同的权限。