我从C#.NET程序设置本地审核策略,该程序从文件读取设置,然后使用Process.Start()和' cmd'执行命令这种方式过去曾用于我需要做的所有事情(包括这种情况),但最近它开始神秘地未能制定政策。
这里是代码:(命令的形式为" auditpol / set / subcategory:" blah" / success:enable")
ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.RedirectStandardError = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.Start();
proc.WaitForExit();
string result = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();
在VS2013的调试中,它正好应用策略,甚至在完整的.exe上的同一台计算机上它应用得很好,但当它被转移到另一台计算机时它将不会设置auditpol命令中的策略。任何人都有什么想法会发生什么?