You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本双击运行窗口闪退,手动执行正常的问题求助

解决PowerShell脚本双击运行窗口立即关闭的问题

问题分析

手动粘贴脚本到PowerShell窗口能正常运行,但双击执行时窗口立刻关闭,大概率是脚本执行过程中出现了未被捕获的错误(比如输入非数字导致日期计算失败)——双击运行的PowerShell进程在脚本终止后会直接退出,你看不到错误信息;而手动粘贴是在已打开的窗口中执行,错误会显示且窗口不会自动关闭。

修改后的脚本

$ErrorActionPreference = "Continue"
try {
    $daysSinceLast = Read-Host "请输入上次检查至今的天数"
    # 验证输入是否为有效数字
    if (-not [int]::TryParse($daysSinceLast, [ref]$null)) {
        throw "输入必须是有效的数字,请重新运行脚本"
    }
    $startDate = (Get-Date).AddDays(-[int]$daysSinceLast)

    Get-WinEvent -FilterHashtable @{
        StartTime = $startDate
        LogName = 'System'
        Level = 1, 2
    } | Select-Object ProviderName, ID | Sort-Object ProviderName –Unique | Format-Table -AutoSize
}
catch {
    Write-Host "执行出错:$_" -ForegroundColor Red
}
finally {
    Read-Host "按回车键退出..."
}

关键改动说明

  • 加入try/catch块:捕获脚本执行过程中的所有错误,并以红色字体显示错误信息,让你能明确问题所在。
  • 输入验证:检查用户输入是否为有效数字,避免因非数字输入导致的日期计算错误。
  • finally块:不管脚本执行成功还是失败,都会等待你按下回车键后再关闭窗口,确保你能完整查看结果或错误信息。

额外调试方法

右键点击脚本文件,选择用PowerShell ISE运行,ISE会保留窗口并显示详细的错误堆栈信息,方便排查更复杂的问题。

内容的提问来源于stack exchange,提问作者Brandon Bronkhorst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:49:59