在同一PowerShell环境中的C#Cmdlet中执行PowerShell命令
我已经用C#编写了一个PowerShell Cmdlet。在此Cmdlet中,我需要另一个PowerShell命令的输出。但是,无法从默认PowerShell窗口访问此PowerShell命令,需要导入其模块 假设此命令的名称为“New Token”,并且只能在组织在远程计算机上提供给我的特殊PowerShell窗口中访问。我的C#Cmdlet需要调用此命令并获取输出 我使用以下代码段来运行此命令在同一PowerShell环境中的C#Cmdlet中执行PowerShell命令,c#,powershell,cmdlets,C#,Powershell,Cmdlets,我已经用C#编写了一个PowerShell Cmdlet。在此Cmdlet中,我需要另一个PowerShell命令的输出。但是,无法从默认PowerShell窗口访问此PowerShell命令,需要导入其模块 假设此命令的名称为“New Token”,并且只能在组织在远程计算机上提供给我的特殊PowerShell窗口中访问。我的C#Cmdlet需要调用此命令并获取输出 我使用以下代码段来运行此命令 Runspace runSpace = RunspaceFactory.
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);
Runspace Runspace=RunspaceFactory.CreateRunspace();
Open();
Pipeline Pipeline=runSpace.CreatePipeline();
Command cmd=新命令(“新令牌”);
pipeline.Commands.Add(cmd);
集合输出=pipeline.Invoke();
写入对象(输出);
当我在导入新令牌的PowerShell窗口上运行它时,会出现以下错误:
术语“新令牌”无法识别为cmdlet、函数、脚本文件或脚本的名称
可操作程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试
再一次。
如何使C#cmdlet在调用它的同一个Powershell窗口中执行Powershell命令