使用 PowerShell 调整教室安排是一门面向已掌握 PowerShell 基础的学习者的实践项目课程。你将帮助工作坊组织者,只把获准的场次调整到容量合适的教室。先构建完整变更计划并预演,再通过一次整体确认保存新的排程。
两个引导实验先建立精确的场次与教室关系,再让原生预演和确认真正控制写入。一个独立挑战会更换 ID、批准范围和容量,但使用相同机制。每个实验都有自己的排程与计划,不在不同环境之间继承文件。
你将学到什么
完成本课程后,你将能够:
- 根据精确 ID 关联场次与教室,即使显示名称相同也能区分;
- 在应用任何变更前,验证每项请求中的场次、批准资格与教室容量;
- 展示完整计划中变更前后的教室分配;
- 使用
SupportsShouldProcess、ShouldProcess、-WhatIf和-Confirm完成一次整体授权; - 让预演与 No 响应保持原件不变,并且不创建输出或临时文件;
- 保存并重新读取完整的新 JSON 排程,同时保留未请求变更的场次、嵌套元数据、原始输入和笔记。
本课程适合谁
本课程适合希望进行受控数据修改,并提供真实预演和清楚批准边界的 PowerShell 学习者。
前置要求: 完成 PowerShell for Beginners,或具备同等的对象、JSON、过滤、函数参数和错误处理经验。引导实验会解释本项目使用的批准资格、容量判断与原生确认机制。前面的两个 Bash 项目不是前置要求。
学习环境: LabEx 提供浏览器中的 Linux 环境,并准备好 PowerShell 和合成活动数据。你将在 WebIDE 中阅读和编辑脚本,在 Terminal 中使用 PowerShell 运行脚本、回答确认提示并读取保存的结果。无需本地安装、Windows 管理经验或真实会议服务账号。终端标签和命令输出保留英文。
常见问题
什么样的教室调整请求才有效?
指定 ID 的场次必须存在且已获批准,目标教室必须存在,容量也必须容纳参加人数。容量恰好等于人数是合法情况。写入前会检查所有请求。目标时段已经空闲,你无需实现日历冲突求解。
预演或拒绝确认时会发生什么?
-WhatIf 和原生确认提示中的 No 都保持课程文件不变,且不创建输出或临时文件。Yes 会一次授权整个已验证的计划。已有输出目标会被拒绝;结果保存为已有父目录下的新 JSON 文件。一次整体确认不代表能从崩溃或并发写入中恢复。
保存会丢弃脚本不认识的信息吗?
你将处理已提供、格式正确且结构有明确定义的 UTF-8 JSON,并保留其他值,包括嵌套元数据、数组顺序、布尔值以及保留原时区偏移的日期形字符串。属性顺序和空白可以变化。结果是一份完整排程,只有获准的教室分配发生改变。

