从C#运行powershell

时间:2015-10-13 15:06:26

标签: c# powershell

嘿伙计们我对C#很新。我知道powershell。我试图弄清楚如何从c#程序运行powershell脚本。我有以下工作作为自己的测试程序。然而,当我尝试并放入更复杂的脚本时,可能包含应该弹出的GUI窗口似乎没有运行。我是否正确地想出这个问题?我还注意到需要在每行之后的半冒号才能在C#中正确运行脚本。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using System.Collections.ObjectModel;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {


            using (PowerShell PS = PowerShell.Create())
            {
                PS.AddScript("$file = \"C:\\test\\csharp.txt\";"+
                "Set-Content -path $file -value \"testc\";");
                PS.Invoke();
            }



        }//end of main
 }//end of class
}//end of namespace

1 个答案:

答案 0 :(得分:0)

只有UI线程才能执行UI操作。从我所看到的,你的PS.Invoke()创建了自己的线程,我找不到任何允许你将它推广到UI线程的东西。