C# 从C在powershell中运行RemoteDesktop命令时出错#
我曾尝试使用C#在powershell中执行RemoteDesktop命令 以下是我的节目:C# 从C在powershell中运行RemoteDesktop命令时出错#,c#,powershell,remote-desktop,remoteapp,C#,Powershell,Remote Desktop,Remoteapp,我曾尝试使用C#在powershell中执行RemoteDesktop命令 以下是我的节目: static void Main(string[] args) { using (var powershell = PowerShell.Create()) { powershell.Commands.AddCommand("Import-Module").AddArgument("remotedesktop
static void Main(string[] args)
{
using (var powershell = PowerShell.Create())
{
powershell.Commands.AddCommand("Import-Module").AddArgument("remotedesktop");
powershell.Invoke();
powershell.Commands.Clear();
powershell.AddCommand(@"Get-RDRemoteApp");
powershell.AddCommand(@"out-string");
foreach (var result in powershell.Invoke())
{
Console.WriteLine(result);
}
}
}
调用命令时,会出现错误System.Management.Automation.CommandNotFoundException:术语“Get-RDRemoteApp”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。
如何实现调用RemoteDesktop Commandlet
我解决了这个问题。我将运行模式从任何CPU更改为x64。您需要为所有命令设置一个持久运行空间。按照现在的代码方式,每个命令都在其自己的独立运行空间中执行。添加以下代码:
var runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
powershell.Runspace = runspace;
到
的开头,使用
块应该可以解决您的问题。是否已安装此模块并可供运行C#代码的用户使用?您可以尝试使用包含模块的文件夹的完整路径导入模块。是,此模块已安装。使用powershell控制台导入此模块时,未报告任何错误