如何运行PowerShell脚本?

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

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

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

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

我做错了什么?


当前回答

如果你的脚本是以.ps1扩展名命名的,并且你在一个PowerShell窗口中,你只需要运行./myscript。Ps1(假设文件在您的工作目录中)。

对于我来说,在Windows 10的PowerShell 5.1版本上是这样的,我不认为我做了任何事情来使它成为可能。

其他回答

我也遇到过同样的问题,我试了又试……最后我用了:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

把这一行放到批处理文件中,就可以了。

如果你的脚本是以.ps1扩展名命名的,并且你在一个PowerShell窗口中,你只需要运行./myscript。Ps1(假设文件在您的工作目录中)。

对于我来说,在Windows 10的PowerShell 5.1版本上是这样的,我不认为我做了任何事情来使它成为可能。

如果你想在Windows任务调度程序中运行PowerShell脚本,请遵循以下步骤:

创建任务 “程序/脚本”设置为“Powershell.exe” 设置参数为-File "C:\xxx.ps1"

这是从另一个答案,我如何执行一个PowerShell脚本自动使用Windows任务调度?

如果你只有PowerShell 1.0,这似乎做得很好:

powershell -command - < c:\mypath\myscript.ps1

它将脚本文件输送到PowerShell命令行。

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

C:\my_path\yada_yada\run_import_script.ps1

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

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