我有一个我在PowerShell ISE中编写的脚本,可以很好地工作。 如果我将其复制并粘贴到常规PowerShell中,它甚至可以工作。然而,当我使用普通的PowerShell运行它,并将它作为默认程序打开它时,然后双击它,它会打开,显示一些红色文本,然后关闭。PowerShell退出
有没有办法阻止它关闭,所以我可以查看红色文本或这是一个可以很容易修复的常见问题?
我有一个我在PowerShell ISE中编写的脚本,可以很好地工作。 如果我将其复制并粘贴到常规PowerShell中,它甚至可以工作。然而,当我使用普通的PowerShell运行它,并将它作为默认程序打开它时,然后双击它,它会打开,显示一些红色文本,然后关闭。PowerShell退出
有没有办法阻止它关闭,所以我可以查看红色文本或这是一个可以很容易修复的常见问题?
尝试从命令提示符运行使用:
powershell -noexit <path to the script>
此外,我认为错误的脚本可以从执行阻止脚本抛出可能是由于政策执行你的机器上。否则成绩单将起作用。确保使用Set-ExecutionPolicy
cmdlet正确设置执行策略。
出于安全原因,设置PowerShell脚本双击时运行的做法是highly discouraged。请确保您在继续之前了解所涉及的风险。
您不能简单地通过Windows资源管理器界面“将Powershell作为默认程序”。使用PowerShell上下文菜单选项运行使用下面的命令:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"
“最安全”的方式(铭记上述警告)做你正在努力实现的是使用Default Programs Editor设置使用Powershell上下文菜单选项作为默认选项运行。
一个简单的方法,无论如何都是一个很好的做法,就是在脚本的开头附近使用start-transcript命令,以便将输出记录到文件中。 –
.psq脚本不应该由PowerShell打开。例如,您可以通过名称在PowerShell中运行它。 \ script.ps1。 – Alexan
开始成绩单。我扔在那里,没有输出。在正常的PS中没有文件,但是在ISE中没有文件。所以没有帮助。 – Captor