如何运行没有ps1扩展名的powershell脚本

时间:2014-08-20 08:03:29

标签: powershell rundeck

我正在使用允许执行任意脚本的ops工具Rundeck。我在Web应用程序窗口小部件中输入脚本文本,并在执行时,Rundeck将其保存到临时文件并调用解释器。问题是临时文件没有ps1扩展名,而Powershell拒绝执行它。

有没有办法设置Powershell来忽略扩展?

===编辑2018 ===

Rundeck现在在作业定义中有一个选项。

1 个答案:

答案 0 :(得分:4)

我知道我并没有严格回答有关设置PowerShell以忽略扩展的问题,但这是从文本文件执行代码的一种方法:

Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Get-Content .\file.txt)))

在使用Invoke-Command执行它之前,它会读取file.txt的内容并将其转换为scriptblock。