Термин "Set-MpPreference" не распознается как имя командлета при запуске через C#
Я пытаюсь установить предпочтение DisableRealtimeMonitoring
в false
со следующим пространством выполнения:
try
{
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
Command setMp = new Command("Set-MpPreference");
string paramRT = "DisableRealtimeMonitoring";
bool pF = Convert.ToBoolean(Convert.ToInt32("0"));
setMp.Parameters.Add(paramRT, pF);
pipeline.Commands.Add(setMp);
runspace.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Это пространство выполнения должно быть эквивалентно следующей команде PS:
Set-MpPreference -DisableRealtimeMonitoring 0
Команда PS работает как шарм, в то время как приведенный выше код пробега не работает, даже если UAC отключен. В целях устранения неполадок я выполнил некоторые модификации кода для отлова ошибки, а именно:
The term 'Set-MpPreference' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Кто-нибудь знает, что не так в коде?