我试图通过psexec工具启动远程命令,它在命令提示符下运行成功。然而,在C#中,我得到以下输出错误:Psexec在c#代码中返回访问被拒绝错误
Access is denied
。 这里是我的命令:
psexec \servername -u xxxxxxx -p xxxxxxxxxx -h -w "E:\" cmd /C "(dir)" ^> file.txt
这里是我的C#源:
ProcessStartInfo PSI = new ProcessStartInfo();
PSI.FileName = "cmd.exe";
PSI.RedirectStandardInput = true;
PSI.RedirectStandardOutput = true;
PSI.RedirectStandardError = true;
PSI.UseShellExecute = false;
PSI.CreateNoWindow = true;
PSI.WindowStyle = ProcessWindowStyle.Hidden;
PSI.Arguments = "psexec " + @"\\servername -u xxxxxx -p xxxxxxxxx -h -w "+"\"E:\\\\\" "+"cmd /C " +"\""+"(dir)"+ "\" " +"^> file.txt" ;
p.Start();
p.WaitForExit();
output = p.StandardOutput.ReadToEnd().ToString();
error = p.StandardError.ReadToEnd().ToString();
尝试使用psexec开关“-s”,这将运行在系统帐户下的命令,这与运行它提升相同。 –
感谢您的帮助,但即使通过添加-s,问题仍然存在。 –