是否可以要求 Powershell 在 Windows 终端而不是新的 Window 中启动进程

Is it possible to ask Powershell to start-process in Windows Terminal instead of a new Window

如果我 运行 在 Windows 终端 PowerShell 选项卡中:

start-process Powershell -Verb runas

它将创建一个新的 window。有没有办法在 Windows 终端中创建标签?

您必须使用 Windows 终端 CLI,wt.exe, as the target executable for Start-Process, and pass it the PowerShell CLI (powershell.exe for Windows PowerShell, pwsh.exe 对于 PowerShell (Core) 7+) 作为参数;例如,powershell.exe:

Start-Process -Verb RunAs wt.exe powershell.exe

请注意,如果将 PowerShell 用作您的 默认 Windows 终端配置文件,则根本不需要为 wt.exe 指定参数。

如果您为 PowerShell 定义了 Windows 终端配置文件(默认情况下至少应为 Windows PowerShell),您可以通过 nameGUID,通过 -p 选项。配置文件 name 必须完整指定,大小写与定义的完全一样,(否则将被忽略并使用默认配置文件);例如:

Start-Process -Verb RunAs wt.exe '-p "Windows PowerShell"'

注:

  • 第一个提升的Windows终端进程总是在新window中打开.

  • 如果至少已经存在一个这样的进程,您可以请求将其他提升的进程作为 tabs 打开,其中 window with -w 0 作为第一个选项;例如:

    Start-Process -Verb RunAs wt.exe '-w 0 -p "Windows PowerShell"'