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

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

作者:精品下载站 日期:2024-12-14 08:08:01 浏览:14 分类:玩电脑

周五与 PSQuizzes 一起享受乐趣


[玩转系统] 周五与 PSQuizzes 一起享受乐趣

是时候回到博客了。我一直在处理积压的项目。这些是我开始编写或更新但后来被推到最后的东西。其中一个项目是我作为教学工具编写的 PowerShell 模块。我们的想法是创建有关 PowerShell 主题的简短测验,供其他人在 PowerShell 会话中进行。我的想法是创建有关 PowerShell 主题的测验,但您可以创建有关任何内容的测验。如果您想尝试一下,请从 PowerShell 库安装 PSQuizMaster 模块:https://github.com/jdhitsolutions/PSQuizMaster 。该模块将在 Windows PowerShell 和 PowerShell 7 中运行,包括跨平台。

参加测验

我已经编写了一些随模块附带的示例测验。使用 Get-PSQuiz 命令来显示它们,

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

该模块定义了一个变量来指示您保存测验的位置。默认为示例测验文件夹。

PS C:\> $PSQuizPath
C:\Program Files\WindowsPowerShell\Modules\PSQuizMaster.0.0\quizzes

您很可能想要创建自己的目录。您可以运行 Set-PSQuizPath 来更新变量。

PS C:\> mkdir c:\quizzes


    Directory: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         8/25/2023   5:39 AM                quizzes


PS C:\> Set-PSQuizPath -Path c:\quizzes
PS C:\>

这将在 $HOME 下创建一个小的 JSON 文件。

PS C:\> dir $home\.psquizsettings.json


    Directory: C:\Users\artd


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         8/25/2023   5:39 AM            226 .psquizsettings.json


PS C:\> dir $home\.psquizsettings.json | get-content
{
    "PSQuizPath":  "c:\quizzes",
    "Updated":  "8/25/2023 5:39:27 AM",
    "Computername":  "WIN10"
}

从现在开始,当您导入模块时,$PSQuizPath将指向您指定的文件夹。如果需要,您可以将示例测验复制到这个新位置。

PS C:\> Copy-PSSampleQuiz -Path C:\quizzes\


    Directory: C:\quizzes


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          8/7/2023   2:47 PM           3206 Aliases.quiz.json
-a----          8/6/2023  10:31 PM           6266 demo.quiz.json
-a----          8/7/2023   2:47 PM           4032 pshelp.quiz.json
-a----          8/7/2023   2:47 PM           4688 remoting.quiz.json

要参加测验,请运行 Invoke-PSQuiz。您可以按 Tab 键完成测验文件。

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

一些测验问题可能有附加评论。测验的最后是您的成绩。

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

创建测验

测验存储在 JSON 文件中。

{
  "$schema": "https://raw.githubusercontent.com/jdhitsolutions/PSQuizMaster/main/psquiz.schema.json",
  "metadata": {
    "name": "PowerShell Aliases",
    "author": "Jeff Hicks",
    "description": "A short quiz on using aliases in PowerShell.",
    "version": "0.2.3",
    "id": "68d30b11-971e-4104-9d76-d862bcef6a37",
    "updated": "2023-08-06 23:55:09Z"
  },
  "questions": [
    {
      "question": "What command will display currently defined PowerShell aliases?",
      "answer": "Get-Alias",
      "distractors": [
        "Show-Alias",
        "$PSAlias",
        "Get-AliasDefinition",
        "Find-PSAlias"
      ],
      "note": ""
    },
    {
      "question": "What PSDrive shows PowerShell aliases?",
      "answer": "Alias",
      "distractors": [
        "A:",
        "$Alias",
        "psalias",
        "$PSAliasDrive"
      ],
      "note": "The drive name, does not include the colon (:)."
    },
    {
      "question": "What command do you use to create a custom alias?",
      "answer": "New-Alias",
      "distractors": [
        "Get-Alias",
        "Add-Alias",
        "New-PSDrive",
        "Import-Alias"
      ],
      "note": "You could use Import-Alias to recreate aliases exported with Export-Alias."
    },
    {
      "question": "How can you protect an alias from being overwritten?",
      "answer": "Set an option of ReadOnly or Constant",
      "distractors": [
        "You can't protect it",
        "Set the scope to private",
        "Set the scope to global"
      ],
      "note": ""
    }
  ]
}

我创建了一个 JSON 架构,以便您可以直接在 VS Code 中创建测验文件。该模块具有用于创建新测验文件和问题的命令,但最好的方法是运行 New-PSQuiz 并按照提示进行操作。

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

测验文件中的答案以纯文本形式存储。我添加了一个选项来掩盖答案。

Get-PSQuiz -Name *filtering* | Protect-PSQuizFile

我用来掩盖答案的技术并不复杂,而且很容易撤销。

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

其目的是阻止随意的“骗子”。

我很想知道您如何使用这个模块。我的一个想法是,您可以为用户组会议创建一个测试。或者您可以将其用于私人内部培训课程。

PS快速测验

该模块还有一个名为 Invoke-PSQuickQuiz 的命令。该函数将根据PowerShell命令动态创建测试。默认是使用计算机上的所有模块。但您可以排除或指定一个模块。

Invoke-PSQuickQuiz -ModuleName Microsoft.Powershell.*

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

完成后,您将获得成绩。

[玩转系统] 周五与 PSQuizzes 一起享受乐趣

我还有一些其他想法来增强此模块,但我很想听听您的意见。您可以访问项目的存储库并发布问题或开始讨论。

享受并度过一个愉快的周末。

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

取消回复欢迎 发表评论:

关灯