我正在使用允许执行任意脚本的ops工具Rundeck。我在Web应用程序窗口小部件中输入脚本文本,并在执行时,Rundeck将其保存到临时文件并调用解释器。问题是临时文件没有ps1扩展名,而Powershell拒绝执行它。
有没有办法设置Powershell来忽略扩展?
===编辑2018 ===
Rundeck现在在作业定义中有一个选项。
答案 0 :(得分:4)
我知道我并没有严格回答有关设置PowerShell以忽略扩展的问题,但这是从文本文件执行代码的一种方法:
Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Get-Content .\file.txt)))
在使用Invoke-Command执行它之前,它会读取file.txt的内容并将其转换为scriptblock。