gpt4 book ai didi

c# - 在 dot net 核心应用程序中托管 PowerShell 核心远程处理?有人成功了吗?

转载 作者:太空狗 更新时间:2023-10-29 19:47:40 26 4
gpt4 key购买 nike

一个月来,我一直在尝试在 dot net 核心应用程序中托管 powershell 核心远程处理脚本,该脚本使用 SSH 协议(protocol)进行远程处理,但到目前为止没有任何效果。我的主要问题之一是,当 block 中有 Powershell 远程脚本时,系统管理自动化的 AddScript 方法似乎完全没有做任何事情。

我想知道是否有人真正尝试过在 dot net core C# 应用程序中成功托管远程处理脚本?

我实际上在 PowerShell github 页面上提出了一个问题,但没有人对此感兴趣,因此评论为零。

https://github.com/PowerShell/PowerShell/issues/7984

感谢您的帮助。

最佳答案

我可能找到了一个我已经测试过并且有效的简单解决方法。

基本上,不是要求 don net 应用程序通过 .AddScript 方法调用远程脚本,而是要求 dot net 应用程序调用执行远程脚本的本地 powershell 进程。脚本文件应该位于您正在执行应用程序的服务器上的某个位置。为了将其显示为代码,我使用了以下内容。

string script  = "start-process pwsh-preview" -argument "path to script file"
using (Runspace runspace = RunspaceFactory.CreateRunspace())
using (Powershell powershell = Powershell.Create())
{
runspace.Open();
PSCommand command = new PSCommand();
command.AddScript(script);
powershell.Commands = command;
powerhell.Runspace = runspace;
Collection<PSObject> results = new Collection<PSObject>();
results = powershell.Invoke();

我还没有测试用参数调用脚本(不确定如何做,也许这里有人可以提供帮助)。以及在 docker 容器中托管整个东西。很可能需要在 docker 镜像中安装 PowerShell 核心以及 dot net 核心才能工作。

希望这对您有所帮助。

我仍在等待 GitHub PowerShell 人员查看此问题。一旦我在 docker 中测试托管它,我将在此处发布更多信息。

关于c# - 在 dot net 核心应用程序中托管 PowerShell 核心远程处理?有人成功了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52932613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com