繁体   English   中英

找不到在C#错误cmdlet中运行基本的PowerShell命令

[英]Running basic PowerShell commands in C# error cmdlet not found

我有一个C#控制台程序,并且我想运行PowerShell命令NOT SCRIPTS,但是无论我尝试在PowerShell运行空间中运行什么命令,都会收到一条错误消息,指出未找到cmdlet。 它可以很简单,如下所示:

static void Main(string[] args)
{
    try
    {
        using (Runspace runspace = RunspaceFactory.CreateRunspace())
        {
            runspace.Open();
            PowerShell ps = PowerShell.Create();
            ps.Runspace = runspace;
            ps.AddCommand("(Get-Date).AddDays(1)");
            var result = ps.Invoke();

            Console.WriteLine(result);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine("Error: " + ex.ToString());
    }
}

我可以在PowerShell命令行中键入此命令,它运行得很好。 我不必添加任何模块即可运行它。 我想念什么?

一个命令将仅是Get-Date 当您使用AddCommand时,这就是您所期望的。 例如,

ps.AddCommand("Get-Date").AddParameter("Format", "u").Invoke();

参见AddCommand(String)

您有一个脚本,并且它不容易放入AddCommand(因为它不是一个)。 改用Tty AddScript:

ps.AddScript("(Get-Date).AddDays(1)").Invoke();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM