Выполните команду windows 10 IOT cmd из учетной записи администратора, используя код c # - PullRequest
0 голосов
/ 26 июня 2019

Windows10 IOT enterprise имеет функцию защиты доступа к записи на дисках.Эта функция известна как UWF "Унифицированный фильтр записи".Я включаю эту функцию и защищаю доступ для записи на диске C.Теперь я ищу функциональность, чтобы отключить его через мой код C #.Командой Cmd для его отключения является «отключение фильтра uwfmgr».Я реализовал код (ниже) для выполнения этой команды.

  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");

В моей ОС два пользователя - администратор и обычный пользователь.Приведенный выше код работает нормально для пользователя Admin, но для обычного пользователя он не работает должным образом, не выдает никакой ошибки, но также не выполняет команду cmd.Я добавил эту строку startInfo.Verb = "runas";, чтобы она выполняла команду cmd от имени администратора, но не получила ожидаемый результат

...