如何运行PowerShell脚本?
我有一个名为myscript.ps1的脚本
我已经安装了所有必要的框架
我设置了执行策略的东西
我已按照此MSDN帮助页面上的说明进行操作,并尝试按以下方式运行: powershell.exe 'C:\\my_path\\yada_yada\\run_import_script.ps1' (带或不带--noexit )
除了输出文件名外,它什么都不返回。
没有错误,没有消息,没有。 哦,当我添加-noexit ,同样的事情发生了,但我仍然在PowerShell中并且必须手动退出。
.ps1文件应该运行程序并返回依赖于该程序输出的错误级别。 但我很确定我还没有到达那里。
我究竟做错了什么?
#1楼
给出脚本的路径,即cmd的路径设置:
$> . c:\\program file\\prog.ps1
运行PowerShell的入口点功能:
例如, $> add or entry_func or main
#2楼
启动Windows PowerShell,稍等片刻即可显示PS命令提示符
导航到脚本所在的目录PS> cd C:\\my_path\\yada_yada\\ (enter)
执行脚本:PS> .\\run_import_script.ps1 (enter)
我错过了什么?
或者:您可以从cmd.exe运行PowerShell脚本,如下所示:
powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)
根据这篇博客文章
或者您甚至可以从C#app运行Powershell脚本:-)
#3楼
如果您使用PowerShell 2.0,请使用PowerShell.exe的-File参数从其他环境(如cmd.exe)调用脚本,例如:
Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
#4楼
我遇到了同样的问题,我尝试过并试过......最后我使用了:
powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"
并将此行放在批处理文件中,这是有效的。
#5楼
使用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
如果您需要以管理员身份运行 :
创建一个指向命令提示符的快捷方式(我将其命名为Administrative Command Prompt)
打开快捷方式的属性,然后转到“兼容性”选项卡
在“权限级别”部分下,确保选中“以管理员身份运行此程序”旁边的复选框