如何从 Windows 10 中删除旧的 Powershell?

如何从 Windows 10 中删除旧的 Powershell?

向所有经验丰富的 Windows 超级用户致以敬意,

我正在摆弄 PowerShell。我不明白为什么 Windows 不让我们完全替换安装时附带的旧版 PowerShell,这让事情变得困难。

我认为它停留在版本 5,无法更新、删除等等。我目前正在使用 PowerShell 7,但当旧版本不断出现在各个地方时,我会感到烦恼。例如,快捷键 + X键等等。

我可以完全摆脱旧版 PowerShell 吗?还是某些功能需要它?

答案1

“我可以完全摆脱旧版本的 PowerShell 吗?”

简而言之,您不能,它是操作系统的一部分,意味着已完整打包在 .Net 中。几乎所有 Windows 都使用它,没有它您就无法管理其他 Windows 解决方案。好吧,您可以,但只能通过 GUI。然而,几个方面只能通过 PowerShell 来完成。

Powershell.exe,powershell_ise.exe,不是 PowerShell,它们只是允许 PowerShell 运行或创建和使用/执行代码(交互式/脚本等)的 shell。

我不需要(powpershell.exe/powershell_ise.exe)来运行 PowerShell 代码。任何人都可以通过直接调用 Powershell.exe/PowerShell_ise.exe 所依赖/基于的 .Net 库来编写自己的 PowerShell/shell 主机。

例如:

https://bank-security.medium.com/how-to-running-powershell-commands-without-powershell-exe-a6a19595f628

要获取 Windows PowerShell 的最新版本,您必须安装与之捆绑的 .Net 包。Windows 需要 .Net,因此,我这样说。

根据 Microsoft 公告/文档,在可预见的未来,WinPS 将像 cmd.exe/wscript.exe/cscript.exe/wmic.exe 一样成为操作系统的一部分;尽管 WinPS 不会得到任何未来的工作。它现在的样子将永远是那样。

所有工作都集中在 .Net Core/Powershell 核心上,由于它是 OSS 和跨平台的,因此它不会成为操作系统的一部分。因此,相对于 WinPS,它始终在 Windows 上并行安装。

您只能在从先前版本升级的系统上卸载版本。

Powershell 版本历史记录

.NetCore(PSCore)不是 WinPS 的升级,它是一个新事物、一个新领域。

最后,由于几乎每个主要的网络硬件、系统管理、安全供应商等都包含 PowerShell 模块来自动化其工作,因此尝试放弃它意味着您将遇到更多问题。并非所有供应商都已更新以利用 PowerShell Core/.Net Core。

所以,如果你真的说,你真的想删除旧版 WinPS,这意味着彻底删除与其相关的所有 .Net 库,但这显然不行,因为它实际上会破坏整个 Windows。

最后,我能用 PS 做的任何事,我都能用 VBS/WMIC 做,这是在 PowerShell 出现之前所做的事(原为 Monad) 曾经存在过。

适当的风险管理/安全(如果这是您发帖的原因)包括适当的日志记录、审计、主动响应、使用限制、边界控制等。

但是嘿,你必须这样做,因为只有你必须承担你决定的后果。

相关内容