我一直在尝试从批处理文件中启动一个简单的PowerShell脚本。在查看了网上的建议后,我需要使用Set-ExecutionPolicy来设置策略。
我已经这样做了,并且使用Get-ExecutionPolicy检查策略已经更改。
然而,运行此批处理文件会导致出现“打开方式”对话框,而不是执行脚本。
批处理文件:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe ^&'./script.psl'
Powershell:
Write-Host "This is a message"
我在Windows 7和Server 2008 R2上都进行了取样。结果相同。我错过了什么?
cmd
中是不行的。PowerShell的解析规则仅适用于shell内部,而不适用于使用参数调用它时。 - Joey.ps1
的脚本,你将会得到failed because the file does not have a '.ps1' extension
的错误。在这种情况下,两个条件都成立。请注意,在你的问题中并传递给这个答案的脚本扩展名是.psl
而不是.ps1
(最后一个字符是小写的L
,而不是数字1
)。 - Lance U. Matthews