我有一个 C# 应用程序,它在将它们作为字符串从数据库中读取后运行 PowerShell 脚本。假设script1
和是从数据库读取的脚本script2
。utilityfunctions
var rs = RunspaceFactory.CreateRunspace();
rs.Open();
var ps = PowerShell.Create();
ps.Runspace = rs;
ps.AddScript(utilityFunctions);
ps.AddScript(script1);
无论如何我可以调用函数utilityFuntions
fromscript1
吗?我尝试过使用$MyInvocation
并查看它的属性,但没有发现任何有用的东西。在浏览ps.Commands
属性时,我当然可以看到两个项目,但是在浏览脚本中的命令时,我无法访问utilityFunctions
. 我想我可以读取所有脚本并将它们连接为字符串并且只传递一个脚本,但我只是想知道是否有一种方法可以在没有字符串连接的情况下做到这一点。