在同一个 PowerShell 环境中在 C# Cmdlet 中执行 PowerShell 命令

问题描述

我用 C# 编写了一个 PowerShell Cmdlet。在这个 Cmdlet 中,我需要另一个 PowerShell 命令的输出。但是,无法从认 PowerShell 窗口访问此 PowerShell 命令,需要导入其模块。

假设此命令的名称是“New-Token”,并且只能在我的组织在远程计算机上提供给我的特殊 PowerShell 窗口中访问它。我的 C# Cmdlet 需要调用此命令并获取输出

我使用以下代码片段来运行此命令


            Runspace runSpace = RunspaceFactory.CreateRunspace();
            runSpace.open();
            Pipeline pipeline = runSpace.CreatePipeline();
            Command cmd = new Command("New-Token");
            pipeline.Commands.Add(cmd);
            Collection<PSObject> output = pipeline.Invoke();
            WriteObject(output);

当我在导入 New-Token 的 PowerShell 窗口上运行它时,出现错误

术语“New-Token”未被识别为 cmdlet、函数、脚本文件或 可运行的程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 再次。

如何让 C# cmdlet 在调用它的同一个 PowerShell 窗口中执行 Powershell 命令?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...