将变量从Script范围中分解出来,以便在控制台会话中可访问

red*_*888 1 powershell scope

出于调试目的,我想知道是否有办法让"脚本"范围中的变量可以在执行脚本的控制台中访问.

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

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

mjo*_*nor 5

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

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

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

&test -debug
Run Code Online (Sandbox Code Playgroud)

这将使您进入嵌套提示符,其中所有变量都可供检查.输入"退出"以从嵌套提示符返回.