如何运行PowerShell脚本?

我有一个名为myscript.ps1的脚本 我已经安装了所有必要的框架 我设置了执行策略 我已经按照MSDN帮助页上的说明进行了操作 我试着这样运行它: powershell.exe“C: \ my_path \ yada_yada \ run_import_script。Ps1 '(有或没有——没有出口)

除了文件名是output之外,它什么也不返回。

没有错误,没有消息,什么都没有。哦,当我添加-noexit时,同样的事情发生了,但我仍然在PowerShell中,必须手动退出。

.ps1文件应该运行一个程序,并根据该程序的输出返回错误级别。但我很确定我还没到那一步。

我做错了什么?


当前回答

我刚刚找到了微软的方法,当我们右键单击ps1脚本,然后单击“使用PowerShell运行”:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & 'C:\Users\USERNAME\Desktop\MYSCRIPT.ps1'"

其他回答

非常容易的。右键单击Windows中的.ps1文件,然后在shell菜单中单击“使用PowerShell运行”。

一个简单的方法是使用PowerShell ISE,打开脚本,运行和调用你的脚本,函数…

先决条件:

您需要能够以管理员身份运行PowerShell 您需要将PowerShell执行策略设置为允许值,或者能够绕过它

步骤:

以管理员身份启动Windows PowerShell,并等待PS>提示符出现 在PowerShell中导航到脚本所在的目录: PS> cd C:\my_path\yada_yada\ (enter) 执行脚本: PS >。\ run_import_script。ps1(输入)

或者:您可以从命令提示符(cmd.exe)运行PowerShell脚本,如下所示:

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

根据Kirk Munro从cmd.exe(或Start | Run)调用PowerShell脚本。

或者,您甚至可以从c#应用程序异步运行PowerShell脚本。

我刚刚找到了微软的方法,当我们右键单击ps1脚本,然后单击“使用PowerShell运行”:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & 'C:\Users\USERNAME\Desktop\MYSCRIPT.ps1'"

以管理员模式打开PowerShell 执行命令set-executionpolicy unrestricted 打开一个常规的PowerShell窗口并运行脚本。

我通过错误消息中给出的关于执行策略的链接找到了这个解决方案

一旦完成,请确保运行set-ExecutionPolicy default,否则将面临安全风险。