Что-то вроде atexit() в PowerShell
Я ищу способ запуска функции для очистки / освобождения ресурсов при выходе из скрипта PowerShell, например, atexit() Unix. Желательно, чтобы это работало примерно так:
# A module
function OnExit() {
# Release some resources, stop some background stuff...
}
Register-ExitFunction OnExit
Invoke-SomeStuffThatThrows
# Or
exit
# Or
# Return to importing script at EOF, then that script exits or dies
И тогда, независимо от того, какой выход произойдет, OnExit
будет вызван. Попытка / наконец не работает, потому что она не работает внутри модуля, где скрипт не завершается в EOF.
Очевидно, что это не должен быть один командлет, и я согласен с довольно хакерскими решениями. Я бы предпочел что-то, что работает на всех хостах (ISE, powershell.exe и т. Д.), Но если это невозможно, это нормально.