C# 在.NET c中执行命令行命令时发出#
试图从C#可执行文件运行ntdsutil,但遇到错误。如果有人想知道,这是作为托管服务提供商的一部分的自动审计过程,而不是试图创建特洛伊木马/恶意软件 命令是:ntdsutil“ac i ntds”“ifm”“create full c:\audit”q 这是特定于Windows服务器的,我在Windows 2016上运行 我正在使用System.Diagnostics.Process,并尝试了各种属性组合,但得到了相同的结果。以下是一个示例,有一个标准输出重定向,因此可以查看执行结果:C# 在.NET c中执行命令行命令时发出#,c#,.net,C#,.net,试图从C#可执行文件运行ntdsutil,但遇到错误。如果有人想知道,这是作为托管服务提供商的一部分的自动审计过程,而不是试图创建特洛伊木马/恶意软件 命令是:ntdsutil“ac i ntds”“ifm”“create full c:\audit”q 这是特定于Windows服务器的,我在Windows 2016上运行 我正在使用System.Diagnostics.Process,并尝试了各种属性组合,但得到了相同的结果。以下是一个示例,有一个标准输出重定向,因此可以查看执行结果: Pro
Process process = new System.Diagnostics.Process();
ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
startInfo.FileName = @"C:\Windows\System32\ntdsutil.exe";
startInfo.Arguments = "\"ac i ntds\" \"ifm\" \"create full c:\\audit\" q q";
//Set output of program to be written to process output stream
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError= true;
startInfo.UseShellExecute = false;
process.StartInfo = startInfo;
process.Start();
// Get program output
string strOutput = process.StandardOutput.ReadToEnd();
//Wait for process to finish
process.WaitForExit();
File.WriteAllText("out.txt", strOutput);
输出如下所示:
C:\Windows\System32\ntdsutil.exe:ifm
ifm:创建完整的c:\audit
错误0x80042302(卷影复制服务组件遇到意外错误。有关详细信息,请查看应用程序事件日志。)
ifm:q
C:\Windows\System32\ntdsutil.exe:q
如前所述检查了事件日志(没有明显的内容),并对错误进行了各种搜索,但没有显示任何有用的内容。在命令行上运行命令可以正常工作
它正在运行管理员级别的用户。是否可能与app.manifest privileges相关
非常感谢您的帮助。请提供一个链接,指向
ntdsutil
@mjwills的文档。问题本身可能更有用。