使用C#从批处理文件运行PowerShell脚本

时间:2013-01-09 08:11:37

标签: c# powershell process batch-file

我有一个powershell脚本文件和一个bat文件,bat文件运行脚本,所以当我双击
时 脚本执行的bat文件。
在我的代码中,我执行以下操作:

 ProcessStartInfo info = new ProcessStartInfo(@batchfilename + ".bat");  
            Process processToStart = new Process();  
            processToStart.StartInfo = info;  
            processToStart.Start();  

批处理被执行并且powershell脚本启动,但它崩溃告诉我有关政策问题的事情 我的政策是不妥协的,有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您需要将执行政策设置为不受限制的MSDN

执行政策(来自上述MSDN链接)

  
      
  • 受限制 - 无法运行任何脚本。 Windows PowerShell只能在交互模式下使用。
  •   
  • AllSigned - 只能运行由受信任的发布者签名的脚本。
  •   
  • RemoteSigned - 下载的脚本必须由受信任的发布者签名才能运行。
  •   
  • 不受限制 - 没有限制;可以运行所有Windows PowerShell脚本。
  •   

对于64位系统,需要分别为x86和x64设置。

PowerShell 32 and 64 bit have different execution policy settings

答案 1 :(得分:0)

powershell.exe c:\FULL_PATH\send.ps1