0

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

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

批处理被执行并且powershell脚本启动,但它崩溃告诉我一些关于策略问题的事情。
尽管我的政策不受限制,有什么想法吗?

4

2 回答 2

3

您需要将 Execution Policy 设置为不受限制的MSDN

执行策略(来自上面的 MSDN 链接)

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

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

PowerShell 32 和 64 位具有不同的执行策略设置

于 2013-01-09T08:13:21.087 回答
0
powershell.exe c:\FULL_PATH\send.ps1
于 2013-01-09T08:17:47.713 回答