使用PS Core 6.2.3从C#调用PS代码时,导入模块不起作用

时间:2019-11-28 16:46:37

标签: c# .net powershell sdk core

我有一个带有import-module psmod1.psm1语句的PS脚本。

在PS脚本中,我执行了get-module,然后将所有已加载模块的名称写入文本文件。

从CLI上的pwsh运行脚本时,脚本运行良好,并且我看到psmod1.psm1已写入文本文件

我正在从.NET CORE C#应用程序中调用脚本。这次脚本运行正常,但没有模块名称写入文本文件(我正在写其他一些文本,以确保文件本身已成功写入等,并且一切正常。)

因此,由于PS脚本中的import-module似乎无法正常工作,因此我将模块的加载添加到了C#代码中。这是通过使用InitialSessionsState.CreateDefault()然后使用ImportPSModule来完成的。

我仍然得到相同的结果,似乎对于通过RunSpaceFactory.CreateRunspace从C#内部调用的PS代码,无法在PS代码文件内或从C#内部导入模块。我已经在Windows 2008R2和Windows 2012R2上对此进行了测试。

0 个答案:

没有答案