Термин "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.

Кто-нибудь знает, что не так в коде?

0 ответов

Другие вопросы по тегам