При запуске сценария 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
Я попытался импортировать модуль с полным путем, но произошел сбой с тем же исключением.Что нужно сделать, чтобы скрипт работал так же, как и сценарий, выполняемый вручную?