如何运行PowerShell脚本?

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

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

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

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

我做错了什么?


当前回答

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

其他回答

如果您希望在不修改默认脚本执行策略的情况下运行脚本,可以在启动Windows PowerShell时使用旁路开关。

powershell [-noexit] -executionpolicy bypass -File <Filename>

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

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

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

使用cmd (BAT)文件:

@echo off
color 1F
echo.

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"

:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL

如果需要以管理员身份运行:

创建一个指向命令提示符的快捷方式(我将其命名为 行政命令提示符) 打开快捷方式的属性,然后转到兼容性选项卡 在“特权级别”部分下,确保选中“以管理员身份运行此程序”旁边的复选框

给出脚本的路径,即通过cmd进行路径设置: $ >。c: \ \ prog.ps1程序文件 运行PowerShell的入口点函数: 例如,$> add或entry_func或main

使用适当的执行策略,您应该能够直接调用该文件,Windows将它与PowerShell关联

C:\my_path\yada_yada\run_import_script.ps1

这在论点上不太管用。你的问题的真正答案是你缺少&来表示“执行这个”

powershell.exe '& C:\my_path\yada_yada\run_import_script.ps1'