将变量打破脚本范围以在控制台会话中访问

Breaking variables out of Script scope to be accessible in a console session

出于调试目的,我想知道是否有一种方法可以在执行脚本的控制台中访问 "Script" 范围内的变量。

这样我就可以 运行 我正在控制台中测试的脚本,并且在脚本 运行 可以访问 $Some_Var_Defined_In_The_Script.

之后

这可能吗?我当然只希望它用于调试目的,所以我正在寻找一个可以打开和关闭的开关。

您可以 运行 来自 shell 的脚本,如下所示:

。 .\myscript.ps1

完成后变量应该可用。

如果你想要一些可以通过开关参数控制的东西,你可以使用嵌套提示:

$test = {
param ([switch]$debug = $false)

  $x = Get-Process
  if ($debug) {$host.EnterNestedPrompt()}
}

&test -debug

这会将您带入一个嵌套的提示中,所有变量都可以在其中进行检查。从嵌套提示输入 'Exit' 到 return。