使用C#代码从管理员帐户执行Windows 10 IOT cmd命令

时间:2019-06-26 10:23:47

标签: c# cmd windows-10-iot-enterprise

Windows10 IOT企业版具有保护驱动器上的写访问的功能。此功能称为UWF“统一写过滤器”。我启用此功能并保护C驱动器上的写访问。现在,我正在寻找通过C#代码禁用它的功能。禁用它的Cmd命令是“ uwfmgr filter disable”。我实现了下面的代码来执行此命令。

  System.Diagnostics.Process process = new System.Diagnostics.Process();
                System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                startInfo.RedirectStandardError = true;
                startInfo.Verb = "runas";
                startInfo.FileName = "cmd.exe";
                startInfo.Arguments = "/C uwfmgr filter disable";
                startInfo.UserName = "Administrator";
                startInfo.Password = class1.ConvertToSecureString("SRPedm");
                startInfo.UseShellExecute = false;               
                process.StartInfo = startInfo;
                process.Start();
                string output = process.StandardError.ReadToEnd();
                process.WaitForExit();
                Process.Start("shutdown", "/r /t 0");

我的操作系统有两个用户-管理员和标准用户。上面的代码对于管理员用户来说是正常的,但是对于标准用户来说,它不能正常工作,它不会抛出任何错误,而且不能执行cmd命令。我添加了这一行startInfo.Verb = "runas";,因此它以admin身份执行cmd命令,但并没有获得预期的输出

0 个答案:

没有答案