【问题标题】:Automatically call a function when the PowerShell script window closes the X button当 PowerShell 脚本窗口关闭 X 按钮时自动调用函数
【发布时间】:2022-01-26 13:14:06
【问题描述】:

我希望我的 powershell 脚本在通过关闭窗口按钮 (X) 关闭脚本时调用特定函数。

这可能吗?

我将分享我的尝试:

Register-EngineEvent PowerShell.Exiting -Action {FunctionName}

但它根本不起作用。 (当我从“X”关闭窗口时不调用该函数)

【问题讨论】:

    标签: powershell


    【解决方案1】:

    不幸的是,由于一个长期存在的错误 - 请参阅GitHub issue #8000 - PowerShell.Exiting 事件不会触发当会话退出时通过关闭控制台窗口从 PowerShell 7.1 开始(而不是 PowerShell 本身退出会话,例如通过 exit)。

    两旁:

    • 即使事件确实触发了,-Action { FunctionName } 也只有在函数定义在 global 范围内(或在调用之前在 -Action 脚本块本身内)时才有效,因为脚本块在动态模块中运行

    • 脚本块在除Microsoft.PowerShell.Utility 之外的所有 PowerShell 模块已被卸载时执行,这严重限制了您可以执行的操作。

    更多信息请参见this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 2012-05-14
      • 2012-11-01
      • 2021-03-28
      • 1970-01-01
      相关资源
      最近更新 更多