Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C在powershell中运行RemoteDesktop命令时出错#_C#_Powershell_Remote Desktop_Remoteapp - Fatal编程技术网

C# 从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

我曾尝试使用C#在powershell中执行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控制台导入此模块时,未报告任何错误