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

[玩转系统] 最大化 PowerShell Core 中的提示

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

最大化 PowerShell Core 中的提示


昨天,我写了一篇文章,讲述了我打算让在 Windows 10 上运行的 PowerShell Core 成为我的“日常驱动程序”。我最近还撰写了有关使用 PowerShell 提示功能提供广泛信息的文章。因此,我决定将两者结合起来,再加上其他 PowerShell 工具的一些功能,创建一个 PowerShell 控制台,一切都触手可及。我将引导您完成复制提示的过程,尽管您可以选择跳过某些功能。在此过程中,我将指出您需要从 PowerShell 库安装哪些模块。这些项目也都在 GitHub 上,因此您可以在安装之前查看它们。我的 PowerShell 提示功能的代码确实很复杂,如果您想自定义它,您需要一些 PowerShell 脚本编写经验。或者也许您想复制我的经历。无论哪种情况,让我们深入研究一下。

我的日常 PowerShell

在我完成这些步骤之前,我想您可能想看看成品。

[玩转系统] 最大化 PowerShell Core 中的提示

显示屏显示计算机名称以及当前日期和时间。即将发生的事件列表、突出显示事件日期的日历和一些系统信息:正常运行时间、C: 上的可用空间百分比、可用内存百分比和正在运行的进程总数。我应该指出,完成的提示也将在 Windows PowerShell 上运行。我只是碰巧将它与 PowerShell Core 一起使用。还有兴趣吗?您需要设置一些额外的工具。

我的挠痒痒

我有一个模块,用于跟踪即将发生的事件,例如电话、会议或其他我想确保不会忘记的项目。该模块提供了一个提示系统来帮助我记忆。您可以在 GitHub 存储库上阅读有关它的所有内容。该模块需要某种 SQL Server 后端。我建议您安装免费的 SQL Server Express 版本。使用默认设置进行安装,实例名称为 SQLExpress。这是使用该模块阻力最小的路径。否则,请通读帮助以了解如何自定义。使用c:命令进行设置。

然后,您可以使用 Add-TickleEvent 定义一些提醒。我的提示功能将显示未来 10 天内到期的事件。一天或更短时间内到期的将显示为红色。如果在 48 小时内到期,则会显示为黄色,否则提醒会显示为绿色。未来 30 天内到期的事件将用于填充日历。

PS日历

接下来,您需要我的 PSCalendar 模块,至少版本 1.5.0。 Show-Calendar 命令将在函数中使用来显示彩色月份。接下来 30 天的 Tickle 事件将用作日历的亮点日期。当然,该模块还有您可能喜欢使用的其他日历命令。

自定义 PowerShell 核心窗口

我假设您已经在 Windows 桌面上下载并安装了 PowerShell Core。您可以使用我的 PSReleaseTools 模块来简化此过程。

get-psreleaseasset -Family Windows -Only64Bit | where format -eq msi | 
Save-PSReleaseAsset -Path C:\PS6 -Passthru | foreach { invoke-item $_.fullname}

安装后,启动 PowerShell Core。我倾向于总是在高级会话中运行它,但我在家工作,没有需要担心的关键生产网络。我修改了窗口以增加字体大小 (24)、字体 (Consolas)、窗口/缓冲区大小 (120×35) 并设置不透明度 (75%)。我保留了默认的配色方案。您可以在系统设置中设置所有这些内容。

[玩转系统] 最大化 PowerShell Core 中的提示

提示功能

最后一个难题是提示功能本身。完整的提示功能我已经放到了Github上。

dailyprompt.ps1:

#requires -version 5.1

' * ($nestedPromptLevel + 1)) "

}

下载副本并根据需要进行编辑。我尝试插入评论来帮助您删除您可能不想使用的功能。要自动加载提示,请编辑或创建当前用户当前主机的配置文件脚本,并点源提示功能的路径。为了完全复制我正在做的事情,您可能还需要添加一些附加功能。

import-module myTickle
import-module PSCalendar

$PSDefaultParameterValues.Add("Get-Calendar:Highlightdate", (Get-TickleEvent -days 30).date.toshortdatestring())
$PSDefaultParameterValues.Add("Show-Calendar:Highlightdate", (Get-TickleEvent -days 30).date.toshortdatestring())
. c:\scripts\dailyprompt.ps1

function Test-IsAdministrator {  
    $user = [Security.Principal.WindowsIdentity]::GetCurrent();
    (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)  
}


if (Test-IsAdministrator) {
    $n = "Administrator"
}
else {
    $n = "Non-Admin"
}
[console]::Title = "$($n): PowerShell $($psversiontable.psedition) $(([regex]"\d+\.\d+.\d+").match($psversiontable.psversion).value)"

Set-Location C:\

为了简化操作,我设置了一些默认参数值,以便日历默认突出显示我的痒痒事件。我还有一些设置窗口标题栏的代码。如果一切顺利,当我启动 PowerShell Core 时,我应该会看到我的显示。尽管我应该指出,第一次加载时会有一些后台工作,因此在再次按 Enter 之前,您将在一分钟左右的时间内看不到性能统计数据。预计您可能需要调整一些设置。

PowerShell 你的生活

我承认,将 PowerShell 融入我的生活可能有点过头了。你可能没有那么疯狂!尽管如此,构建这一切的过程仍然是一个很好的学习机会。我希望它适合你。花点时间浏览一下模块和功能。看看我如何整合不同的部分。我希望它能让您更好地了解 PowerShell 的工作原理以及如何构建自己的工具来帮助 PowerShell 管理您的生活。

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

取消回复欢迎 发表评论:

关灯