gpt4 book ai didi

c# - 尝试在 C# 中运行 Powershell 命令时出现 System.InvalidProgramException

转载 作者:行者123 更新时间:2023-11-30 22:04:36 25 4
gpt4 key购买 nike

我已经对程序进行了单步调试,但它在下一行崩溃了

Runspace runspace = RunspaceFactory.CreateRunspace();

出现如下错误

An unhandled exception of type 'System.InvalidProgramException' occurred in     PrimarySMTP_Fix.exe

Additional information: Common Language Runtime detected an invalid program.

这是我第一次通过 C# 使用 Power Shell,我在执行一些简单的代码时遇到了问题。该项目的重点是针对我们公司的交换服务器的常见问题自动进行简单修复。

完整代码如下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Management.Automation;
using System.Collections.ObjectModel;
using System.Management.Automation.Runspaces;


namespace PrimarySMTP_Fix
{

public partial class MainWindow : Window
{
//Variable Declarations
string userName = "";
string confirmUser = "";
string primarySMTP = "";
string confirmSMTP = "";


public MainWindow()
{
InitializeComponent();
}

private string RunScript(string scriptText)
{
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(scriptText);

pipeline.Commands.Add("Out-String");

Collection<PSObject> results = pipeline.Invoke();

runspace.Close();

StringBuilder stringBuilder = new StringBuilder();
foreach (PSObject obj in results)
{
stringBuilder.AppendLine(obj.ToString());
}
return stringBuilder.ToString();
}

private void Button_Click(object sender, RoutedEventArgs e)
{
userName = adUser.Text;
confirmUser = confirmAD.Text;
primarySMTP = mail.Text;
confirmSMTP = confirmMail.Text;

outPut.Text = RunScript(userName);


}
}
}

以上只是为了测试而设置的。现在它只获取用户名信息并将其作为命令直接运行。如果我能让它工作并输出信息,那么我就可以重写它来做我想做的事。

最佳答案

玩了一会儿后,我发现我需要重新安装 Windows Management Framework 才能让它工作。当我将调试版本放在服务器上并在那里运行测试并且它有效时,我发现了这一点。

关于c# - 尝试在 C# 中运行 Powershell 命令时出现 System.InvalidProgramException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25084610/

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