问题描述
我用 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 (将#修改为@)