在脚本中将PowerShell执行模式更改为-NonInteractive?

时间:2017-04-26 10:55:35

标签: powershell

为避免交互或停止脚本执行,PowerShell中的输入必须在非交互模式下运行。如:

powershell.exe -NonInteractive

我想在脚本'runtime'中更改此执行模式,而无需重新启动或使用其他PowerShell控制台。或许是一种强迫“非互动”的方式。

这可能吗?

1 个答案:

答案 0 :(得分:0)

为什么不在运行时隐藏控制台,并在完成后再次显示控制台。

Add-Type -Name Window -Namespace Console -MemberDefinition '
[DllImport("Kernel32.dll")]
public static extern IntPtr GetConsoleWindow();

[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);
'

function Show-Console {
   $consolePtr = [Console.Window]::GetConsoleWindow()
  #5 show
 [Console.Window]::ShowWindow($consolePtr, 5)
}

function Hide-Console {
    $consolePtr = [Console.Window]::GetConsoleWindow()
  #0 hide
 [Console.Window]::ShowWindow($consolePtr, 0)
}