我有一个非常短的PowerShell脚本,它连接到服务器并导入AD模块。我想通过双击来运行脚本,但我担心窗口会在最后一行后立即关闭。
我该如何解决这个问题?
答案 0 :(得分:75)
您基本上有3个选项可以阻止PowerShell控制台窗口关闭,我描述了in more detail on my blog post。
PowerShell -NoExit "C:\SomeFolder\SomeScript.ps1"
Read-Host -Prompt "Press Enter to exit"
有关要修改的注册表项的详细信息,请参阅我的博客。
答案 1 :(得分:17)
... Errr 我应该知道:
powershell -noexit <path\script>
这就是它的全部内容:)
答案 2 :(得分:0)
下面的解决方案可以防止脚本在运行Powershell ISE时关闭,否则可以关闭脚本。
# If running in the console, wait for input before closing.
if ($Host.Name -eq "ConsoleHost")
{
Write-Host "Press any key to continue..."
$Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp") > $null
}
答案 3 :(得分:0)
在我自己的情况下,我想在Windows 7的上下文菜单中添加powershell。即,右键单击文件夹或文件夹内以获取菜单来启动Powershell窗口,而无需在启动后关闭它。这里的答案帮助我做到了这一点,我想在这里分享它,以防它对其他人有帮助。
要使右键单击在文件夹内起作用,即右键单击文件夹内的空白区域,请重复上述步骤,但是这次,注册表位置为:
HKEY_CLASSES_ROOT \ Directory \ shell
命令是:
C:\ Windows \ system32 \ WindowsPowerShell \ v1.0 \ PowerShell.exe -noexit
在Windows 7 Ultimate sp1上进行了测试,但我认为我也可以在更高版本的Windows上使用
答案 4 :(得分:0)
只需在脚本底部的新行上添加暂停,就像在批处理文件中一样。
答案 5 :(得分:0)
如果您只想让窗口保持打开状态,您可以在脚本的末尾添加 pause
,或者如果您希望之后能够运行命令,您可以添加 powershell
(显然不要如果其他人会使用您的代码,请不要执行第二个选项)。