如何删除 Windows 终端中的 powershell 广告和更新检查?
How to remove powershell ads and update checks in the Windows Terminal?
当我启动 Windows 终端时,我得到以下信息:
如何取消版权和版本通知、帮助 URL 和更新检查?我只想进入命令行。
我在 settings.json 中的 powershell 配置文件(Windows 终端的配置文件)是这样的:
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"hidden": false,
"name": "PowerShell",
"source": "Windows.Terminal.PowershellCore",
"fontFace": "Cascadia Code PL",
"startingDirectory": "C:\Users\user1\desktop\"
}
我见过 -nologo 等标志,但我没有命令行可以将其传递给。
在Windows终端的settings.json
文件中创建一个自定义profile如下(里面profiles.list
数组 属性):
至少从 PowerShell 7.2.1 开始,-nologo
也会停用更新通知:谢谢,Maximilian Hils。
{
// no strict need for a GUID; create a *new* one, if needed.
"hidden": false,
"name": "PowerShell - no logo, no update notification",
"commandline": "pwsh.exe -nologo"
// ... other properties omitted.
},
在早期版本中,您可能需要环境变量POWERSHELL_UPDATECHECK
来禁用更新通知:
{
// no strict need for a GUID; create a *new* one, if needed.
"hidden": false,
"name": "PowerShell - no logo, no update notification",
"commandline": "cmd /c set POWERSHELL_UPDATECHECK=Off & pwsh.exe -nologo"
// ... other properties omitted.
},
如果需要,从问题中显示的 dynamic 配置文件中复制 startingDirectory
和 fontFace
属性。 (Dynamic profiles 由 Windows 终端本身自动生成,具体取决于发现要安装的 shell;它们有一个 source
属性,其值以 Windows.Terminal
,如您问题中显示的条目。
在这种情况下并不严格需要 guid
属性(通常,名称和 GUID 可以互换使用以标识配置文件);如果您确实使用了一个,请创建一个 new GUID(例如 New-Guid
)。
- 如果您想使用与动态 PowerShell Core 配置文件相同的
name
值,最好 隐藏 后者,方法是设置其 hidden
属性 到 true
.
自定义配置文件使用 commandline
属性 来定义生成具有此配置文件的选项卡时要执行的命令。上面的值假定 PowerShell 的可执行文件 pwsh.exe
在您的路径中;如果不是,因此您需要指定完整路径,请确保 double \
个字符。 (例如 \"C:\Program Files\PowerShell\7\pwsh.exe\"
)或使用 /
代替(例如 \"C:/Program Files/PowerShell/7/pwsh.exe\"
)
7.2.1 之前的 PowerShell 版本可能需要:
cmd /c set POWERSHELL_UPDATECHECK=Off
定义相关环境变量关闭PowerShell的更新通知,然后启动PowerShell。
- 这意味着您的 PowerShell 实例将有一个
cmd.exe
父进程,但这应该不是问题。
您也可以通过注册表永久定义此环境变量,在这种情况下不再需要cmd.exe
。
将 -nologo
传递给 PowerShell's CLI 会抑制“徽标”,即版权信息和帮助提示。
- 至少从 PowerShell 7.2.1 开始,
-nologo
也会自动停用更新通知 - 可能,它一直以这种方式工作。
当我启动 Windows 终端时,我得到以下信息:
如何取消版权和版本通知、帮助 URL 和更新检查?我只想进入命令行。
我在 settings.json 中的 powershell 配置文件(Windows 终端的配置文件)是这样的:
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"hidden": false,
"name": "PowerShell",
"source": "Windows.Terminal.PowershellCore",
"fontFace": "Cascadia Code PL",
"startingDirectory": "C:\Users\user1\desktop\"
}
我见过 -nologo 等标志,但我没有命令行可以将其传递给。
在Windows终端的settings.json
文件中创建一个自定义profile如下(里面profiles.list
数组 属性):
至少从 PowerShell 7.2.1 开始,-nologo
也会停用更新通知:谢谢,Maximilian Hils。
{
// no strict need for a GUID; create a *new* one, if needed.
"hidden": false,
"name": "PowerShell - no logo, no update notification",
"commandline": "pwsh.exe -nologo"
// ... other properties omitted.
},
在早期版本中,您可能需要环境变量POWERSHELL_UPDATECHECK
来禁用更新通知:
{
// no strict need for a GUID; create a *new* one, if needed.
"hidden": false,
"name": "PowerShell - no logo, no update notification",
"commandline": "cmd /c set POWERSHELL_UPDATECHECK=Off & pwsh.exe -nologo"
// ... other properties omitted.
},
如果需要,从问题中显示的 dynamic 配置文件中复制
startingDirectory
和fontFace
属性。 (Dynamic profiles 由 Windows 终端本身自动生成,具体取决于发现要安装的 shell;它们有一个source
属性,其值以Windows.Terminal
,如您问题中显示的条目。在这种情况下并不严格需要
guid
属性(通常,名称和 GUID 可以互换使用以标识配置文件);如果您确实使用了一个,请创建一个 new GUID(例如New-Guid
)。- 如果您想使用与动态 PowerShell Core 配置文件相同的
name
值,最好 隐藏 后者,方法是设置其hidden
属性 到true
.
- 如果您想使用与动态 PowerShell Core 配置文件相同的
自定义配置文件使用
commandline
属性 来定义生成具有此配置文件的选项卡时要执行的命令。上面的值假定 PowerShell 的可执行文件pwsh.exe
在您的路径中;如果不是,因此您需要指定完整路径,请确保 double\
个字符。 (例如\"C:\Program Files\PowerShell\7\pwsh.exe\"
)或使用/
代替(例如\"C:/Program Files/PowerShell/7/pwsh.exe\"
)7.2.1 之前的 PowerShell 版本可能需要:
cmd /c set POWERSHELL_UPDATECHECK=Off
定义相关环境变量关闭PowerShell的更新通知,然后启动PowerShell。- 这意味着您的 PowerShell 实例将有一个
cmd.exe
父进程,但这应该不是问题。
- 这意味着您的 PowerShell 实例将有一个
您也可以通过注册表永久定义此环境变量,在这种情况下不再需要
cmd.exe
。
将
-nologo
传递给 PowerShell's CLI 会抑制“徽标”,即版权信息和帮助提示。- 至少从 PowerShell 7.2.1 开始,
-nologo
也会自动停用更新通知 - 可能,它一直以这种方式工作。
- 至少从 PowerShell 7.2.1 开始,