【问题标题】:Suppress "Try the new cross-platform PowerShell https://aka.ms/pscore6"禁止“尝试新的跨平台 PowerShell https://aka.ms/pscore6”
【发布时间】:2020-04-27 11:54:52
【问题描述】:

我不介意微软的营销,但是当我只想要一个干净的 PowerShell 提示符时,这很烦人。有没有人找到一种方法来在打开 PowerShell 时仅抑制 Try the new cross-platform PowerShell https://aka.ms/pscore6而不删除基本版权消息 Windows PowerShell, Copyright (C) Microsoft Corporation. All rights reserved.?我搜索了很多,但没有找到答案(我知道有一种方法可以抑制一切,但我只想摆脱那个 pscore6 广告)。

【问题讨论】:

  • 我只是打开一个窗口,然后输入clsClear-Host 删除所有内容。然后我得到一个只有PS C:\Users\user> 的干净外壳。当我可以清除窗口时,似乎要删除广告太费力了。
  • 您可以将clsClear-Host 粘贴到您的$PROFILE 中,但是如果您从CMD 提示符启动它并且仍然想查看显示的内容,这也可能很烦人。即使直接启动 Powershell 提示符,flash 也有点烦人。
  • 我知道我可以做到这一点,并为此感谢,但我只是希望不必这样做就可以打开 PowerShell。即像往常一样保留版权标志,但只需禁用烦人的微软营销。我完全理解你的意思,这可能看起来太费劲了,但我想/希望这里有人找到了让那个广告消失的魔术!
  • 有趣的是,我猜当 PS Core 7 完全发布时,他们会将广告更新为 pscore7 所以希望有一些方法可以调整它,除非他们将其嵌入到 powershell 中。 exe或类似的东西。 :-(
  • 这条消息非常烦人,因为我确实尝试了“新的跨平台 PowerShell”,但我一点也不喜欢它。事实上,我非常讨厌它,每次看到这条消息我都会想起我是多么不喜欢它,并将这种仇恨与微软缺乏品味联系起来。至少如果 Windows 以某种方式注意到我安装了它,尝试了它并且很少考虑它并停止发送垃圾邮件。我选择了 Eugene Kopichs 的回答:我宁愿放弃整个启动消息,也不愿继续看到 Microsoft 垃圾邮件。

标签: powershell console


【解决方案1】:

此消息是嵌入在 Microsoft.PowerShell.ConsoleHost 资源中 ManagedEntranceStrings.resources 的资源字符串的一部分。完整的消息是

版权所有 (C) Microsoft Corporation。保留所有权利。

试用新的跨平台 PowerShell https://aka.ms/pscore6

这是一个字符串,而不是两个字符串,并且没有选择不同横幅的逻辑。

因为字符串被读取为资源,理论上你可以创建一个新的资源程序集并将其放入C:\Windows\System32\WindowsPowerShell\v1.0\en-US。实际上你不能(即使你愿意将新文件放在系统目录中),因为主程序集是强名称并安装在 GAC 中,这意味着你不能生成一个附属程序集,它将加载,因为您没有签名所需的私钥。然而,它确实有效——我通过构建这样一个延迟签名的程序集来验证这一点,但显然这在生产系统上并不是一个真正可行的想法。

【讨论】:

  • 令人着迷。谢谢你的杰伦。因此,微软决定将这则广告深深嵌入。耻辱。当 PS 7 全面发布时,他们将对此进行更新更改以宣传 PS 7。我可以接受它吗?当然可以,但我并不是真正的明目张胆广告的忠实拥护者……遗憾的是,没有简单的方法可以清除这种毫无意义的微软广告。谢谢!
  • PS 6 还没有完成一半;如果是这样,我怀疑这个广告要么会被删除,要么改成 pscore,要么pscore6 链接实际上会转发到 PS 7,因为 MS 目前基本上已经停止了“经典”PowerShell 的主要开发( pre-Core),他们希望我们所有人都迁移。为这个字符串花费精力更新经典 PS just 并没有真正意义(除非它带有安全补丁或其他东西)。
  • 确实,是的,PS 5.1 当然是生命的尽头,而 PS 7 最终是未来(希望他们能够构建它,为我们提供 5.1 的所有功能尽快)。我不反对 MS 的发展方向(事实上,它在很多方面都非常令人兴奋)。当 PS Core 7 推出时,那个 pscore6 的广告会有点多余,但是,当 pscore7 推出一年或更长时间时,他们不能说 pscore6,这看起来有点傻,但我想他们已经得到了某种路径,当 7 可以覆盖所有内容时,后备 5.1 可能,但这会有点激烈......
【解决方案2】:

您可以通过在 cmd 中运行它来启动 powershell 来摆脱版权横幅:

Powershell.exe -NoLogo -NoExit

-NoExit 不是@Albin 所说的必要条件,您可以从中创建桌面快捷方式/批处理文件。

【讨论】:

  • 感谢您的帖子!在我的任务栏上的 PS 快捷方式中添加了-NoLogo -NoExit,它就像魔术一样工作! 1.将PS固定到任务栏 2.右击图标,右击Windows Powershell,点击Properties 3.在Target末尾添加-NoLogo -NoExit
  • 重要提示:-NoExit 不是必需的,-NoLogo 也删除了版权信息(OP 如何保持版权信息完整)
  • 这在 VS Code 中也适用于我,方法是将 "args": ["-NoLogo"] 添加到 settings.json 中的 powershell 条目
【解决方案3】:

此消息的意思是“您使用的是旧版本的 powershell”。您必须使用命令和软件对其进行更新。 当我更新 powershell 时,这条消息再也没有出现过。

【讨论】:

  • 不幸的是,即使在最新版本的 PowerShell 上,您也会收到垃圾邮件。当我安装 7 时,我还会收到 https://aka.ms/powershell Type 'help' to get help. 如果 Microsoft 给我们提供摆脱垃圾的选项,那就太好了。当他们向我们推送我们不需要看到的广告时,很难认真对待:-(
【解决方案4】:

由于Windows Terminal 1.0 已经发布,您可以使用它来代替。 在设置中添加标志-NoLogo,如下所示:

    "list": [
  {
    // Make changes here to the powershell.exe profile.
    "guid": "{61c54bd-c2c6-5271-96e7-009a87ff44bf}",
    "name": "Windows PowerShell",
    "commandline": "powershell.exe -NoLogo",
    "hidden": false
  },

【讨论】:

  • 这也会删除文本“Windows PowerShell,版权所有 (C) Microsoft Corporation。保留所有权利。”
  • 如果您不介意摆脱版权,整个命令是Powershell.exe -NoLogo(适用于不知道如何添加标志的用户)
  • 你能说一下,我们应该在设置中的哪里添加标志吗?
  • 对于其他找不到设置的人,您必须单击“新标签”按钮右侧的小向下箭头。
  • AMTK 所说的向下箭头,在左侧菜单的 Profiles 下选择 shell。从那里,您可以通过在主窗口中的字段输入字段中进行编辑(在本例中为命令行)或单击左侧菜单底部的“打开 JSON 文件”选项(即来自的视图)来添加编辑信息原始答案。
【解决方案5】:

将 settings.json 中的命令行参数替换为:

"commandline": "powershell.exe -NoLogo -NoExit -Command Write-Host Windows PowerShell`nCopyright `(C`) Microsoft Corporation. All rights reserved.`n",

它会禁用原始文本,并改为写入我们需要的内容。 如果您想写其他内容,请使用 `n 换行,不要忘记添加 ` 以转义保留符号,如括号。

不同语言示例:

"commandline": "powershell.exe -NoLogo -NoExit -Command Write-Host Windows PowerShell`n`(C`) Корпорация Майкрософт `(Microsoft Corporation`). Все права защищены.`n",

【讨论】:

  • 这种方法非常适合 Windows 终端。虽然目前还不是通用的,但希望 Windows Terminal 会在 Windows 11 发布时成为默认的 PowerShell 终端。
  • settings.json 在哪里?
  • @ChrisCrossCrash 老实说,这是一些“旧”信息。虽然您仍然可以通过 settings.json 更改它,但 Microsoft 现在已经添加了直接通过 UI 更改大多数设置的功能。只需更改 PowerShell 配置文件的“命令行”设置。如果您确实想查看settings.json,可以通过设置屏幕左下角的链接打开它 - “打开 JSON 文件”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-25
  • 2013-09-17
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
相关资源
最近更新 更多