问题描述
我正在使用 processstartinfo 运行外部批处理文件。这工作正常,直到我冒充特定用户。我知道它最像权限相关,但不确定是哪个导致它。网络管理员向我保证,用户同时具有“作为批处理作业登录”和“作为服务登录”。批处理文件包含一些 echo 语句和一个出口。当我通过我的 c# 应用程序运行这些时,直到我用这个特定的用户/通行证模拟执行。我是我机器上的本地管理员,当我使用 我的凭据可以正常工作。所以我继续将不工作的用户添加到我的管理员组,但它仍然不工作。返回的错误是 1 级。有人可以告诉我这里发生了什么或告诉我如何调试应用程序以获取有关导致问题的原因的更多信息吗?
public bool Execute(string BatchFilePath,string BatchFileArguments) { bool processExitCode = false;
try
{
using (var process = new Process())
{
process.StartInfo = new processstartinfo(BatchFilePath,BatchFileArguments)
{
RedirectStandardOutput = true,RedirectStandardError = true,UseShellExecute = false,CreateNowindow = true
};
process.OutputDataReceived += OutputHandler;
process.ErrorDataReceived += ErrorHandler;
process.Start();
process.BeginoutputReadLine();
process.WaitForExit();
return (process.ExitCode == 0) ? true : false;
}
}
catch (Exception ex)
{
LogWriter.AddLogEntry(ex.Message);
}
return processExitCode;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)