Сценарию Powershell не удается загрузить модули, когда он запускается с использованием System.Diagnostics.Process.Start в c #? - PullRequest
0 голосов
/ 08 февраля 2019

При запуске сценария PS с использованием System.Diagnostics.Process.Start модули PowerShell не загружаются, следовательно, сценарий завершается ошибкой, но тот же сценарий успешно выполняется при выполнении вручную на сервере, ниже приведен мой фрагмент кода C #,

string ExecPath = @"C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe";
System.Diagnostics.Process exeProcess =
    new System.Diagnostics.Process
    {
        StartInfo =
        {
            UseShellExecute = false,
            CreateNoWindow = true,
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            FileName = ExecPath
        }
    };
exeProcess.StartInfo.Arguments = string.Format(" -NoLogo -Sta -NoProfile -NonInteractive -executionpolicy RemoteSigned -File D:\MyPowerShell.ps1");
exeProcess.Start();

Ниже приведено исключение:

Import-Module : The specified module 'ServerManager' was not loaded 
because no valid module file was found in any module directory.
At D:\MyPowerShell.ps1:9 char:1
+ Import-Module ServerManager
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (ServerManager:String) , FileNot 
   FoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

Я попытался импортировать модуль с полным путем, но произошел сбой с тем же исключением.Что нужно сделать, чтобы скрипт работал так же, как и сценарий, выполняемый вручную?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...