当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 跨越到 PowerShell 核心

作者:精品下载站 日期:2024-12-14 07:54:04 浏览:15 分类:玩电脑

跨越到 PowerShell 核心


[玩转系统] 跨越到 PowerShell 核心

当我在 Twitter 上提到我正在转向 PowerShell Core 作为我的“日常驱动程序”时,我收到了一些反馈,询问原因或这与他们无关。但也可能不是。我没有需要管理的基于 Linux 的服务器。我运行的一切仍然是 Windows Server 2016。我也仍然运行 Windows 10 桌面。就我个人而言,我需要真正了解 PowerShell Core 中的新功能和不同之处,以便我可以教授它并开发内容。但我也知道 Windows PowerShell 5.1 功能齐全。微软不再开发它。 Windows PowerShell 不会消失,但未来显然是 PowerShell Core。您可以将 PowerShell Core 与 Windows PowerShell 并行运行,因此我不必放弃其中一个。

如果您需要管理非 Windows 服务器并且这些服务器可以运行 PowerShell Core,那么这是有意义的,并且实际上是在桌面上运行 PowerShell Core 的要求。尽管目前存在一些限制,但 PowerShell Core 和底层 .NET Core 仍在继续开发和更新。我还认为,您的下一份工作可能会在一个更加异构的环境中,您在 PowerShell Core 方面的经验将是有利的。

尽管我安装了 PowerShell Core,但我意识到我没有最新版本。我使用了 PSReleaseTools 模块中的命令。

[玩转系统] 跨越到 PowerShell 核心

然后我下载了适用于 Windows 的 msi 包。

Get-PSReleaseAsset -Family Windows | where {$_.format -eq 'msi' -And $_.filename -match 'x64'} | 
Save-PSReleaseAsset -Path D:\PS6\ -Passthru

运行该文件会在几分钟内安装 PowerShell Core,并且不需要重新启动。我将程序固定到任务栏上,然后就可以开始了。我不应该认为 PowerShell Core 中没有等效的 PowerShell ISE。但这并不重要,因为几年前我采用 VS Code 作为我的主要开发工具。如果我确实需要它,我仍然可以启动 PowerShell ISE。

因为我每天大部分时间都在 PowerShell 提示符下度过,正如您所期望的那样,我充分利用配置文件脚本来配置它。但是,当我启动 PowerShell Core 时,我当前的配置文件脚本均不适用。请记住,PowerShell Core 和 Windows PowerShell 可以并行运行。这意味着每个都有自己的一组配置文件脚本。

[玩转系统] 跨越到 PowerShell 核心

[玩转系统] 跨越到 PowerShell 核心

如您所见,PowerShell Core 路径完全不同。与 Windows PowerShell 一样,这些文件不存在。你需要创建它们。由于我想将尽可能多的 Windows PowerShell 体验重新创建到 PowerShell Core 中,因此我首先复制现有配置文件。在我的 Windows PowerShell 会话中,我将当前用户所有主机配置文件脚本复制到相应的 PowerShell Core 文件中。

copy $profile.CurrentUserAllHosts -Destination ~\documents\PowerShell\profile.ps1

此配置文件倾向于预加载模块并定义我的全局设置。然而,当我启动 PowerShell Core 时,大部分脚本没有运行或抛出错误。那是因为我试图加载 PowerShell Core 一无所知的模块。模块位置不同。

[玩转系统] 跨越到 PowerShell 核心

[玩转系统] 跨越到 PowerShell 核心

我可以在 PowerShell Core 中重新安装模块,但这需要大量工作和开销。更简单的解决方案是在 PowerShell Core 中安装 WindowsCompatibility 模块。在我的配置文件脚本中,我添加了命令 Add-WindowsPSModulePath。一旦我这样做了,PowerShell Core 就可以“看到”所有其他已安装的模块。

[玩转系统] 跨越到 PowerShell 核心

无法保证每个模块都能在 PowerShell Core 中运行。我已经知道,由于 .NET Framework 的限制,有些不会。我预计主要的内容(例如 Active Directory)最终将得到重构。另外,这也是转向 PowerShell Core 的原因之一。我想了解什么有效,什么无效(目前)。

我遵循类似的过程,将当前用户当前主机脚本从其 Windows PowerShell 位置复制到相应的 PowerShell Core 位置。如今,我的计算机上没有多个 PowerShell Core 主机,而且我是唯一的用户,因此从技术上讲,我应该能够将所有内容合并到当前用户当前主机脚本中。但现在我想出于概念目的我会保留单独的脚本。如果我添加一些引入另一个 PowerShell Core 主机的内容,那么我就准备好了。

我的最后一步是配置 PowerShell Core 窗口。因为我花了很多时间在里面,所以我需要让它舒服。我右键单击系统菜单以获取“属性”框。

[玩转系统] 跨越到 PowerShell 核心

我相信 PowerShell Core 的默认配色方案是黑色,所以我会保留它。如果我同时打开 Windows PowerShell,使用不同的颜色也会有所帮助。我决定通过设置不透明度级别使我的 PowerShell Core 窗口更加性感。我可以对 Windows 10 上的 Windows PowerShell 执行相同的操作,但从未感到有动力。

在“布局”选项卡上,我将窗口大小和屏幕缓冲区大小设置为 120×35。如果保持它们相同,您将避免水平滚动条。在“字体”选项卡上,因为我有 4K 显示器并且已经达到一定的成熟度,所以我将字体大小设置为 24。我更喜欢使用 Consolas。

下次我会和大家分享一下我为PowerShell Core工作开发的提示功能。在这一年里,我希望与大家分享我在 PowerShell Core 中工作和使用的经验。我希望你也能分享你的经历。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯