Изменение распределения занятий по аудиториям с PowerShell — практический проект для тех, кто уже знает основы PowerShell. Помогите организатору мастер-классов перенести только разрешённые занятия в подходящие аудитории. Составьте полный план изменений, просмотрите его и подтвердите весь план один раз перед сохранением нового расписания.
Две пошаговые лабораторные работы сначала устанавливают точные связи между занятиями и аудиториями, а затем делают так, чтобы встроенные предпросмотр и подтверждение управляли реальной записью. Одно самостоятельное задание меняет ID, разрешения и вместимость, сохраняя те же механизмы. Каждая работа начинается с собственного расписания и плана; файлы между средами не переносятся.
Чему вы научитесь
После завершения курса вы сможете:
- связывать занятия и аудитории по точным ID, даже если их отображаемые названия совпадают;
- проверять каждое запрошенное занятие, разрешение на перенос и вместимость аудитории до любых изменений;
- описывать полный план с прежними и новыми назначениями аудиторий;
- использовать
SupportsShouldProcess,ShouldProcess,-WhatIfи-Confirmдля одного общего разрешения; - делать так, чтобы предпросмотр и ответ No сохраняли оригиналы и не создавали выходных или временных файлов;
- сохранять и повторно читать полное новое расписание JSON, сохраняя занятия вне плана изменений, вложенные метаданные, исходные файлы и заметки.
Для кого этот курс
Курс предназначен для изучающих PowerShell, которые хотят контролируемо изменять данные с достоверным предпросмотром и чёткой границей разрешения.
Предварительные требования: Пройдите PowerShell for Beginners или получите сопоставимый опыт работы с объектами, JSON, фильтрацией, параметрами функций и обработкой ошибок. Пошаговые работы объясняют используемые здесь проверки разрешений и вместимости, а также встроенное подтверждение. Два проекта Bash проходить не требуется.
Учебная среда: LabEx предоставляет Linux в браузере с подготовленными PowerShell и синтетическими данными события. Читайте и редактируйте скрипты в WebIDE; используйте PowerShell в Terminal, чтобы запускать их, отвечать на запросы подтверждения и читать сохранённый результат. Локальная установка, администрирование Windows и учётная запись настоящего сервиса встреч не нужны. Названия элементов терминала и вывод команд остаются на английском.
Часто задаваемые вопросы
Когда запрошенный перенос в другую аудиторию допустим?
Занятие с точным ID должно существовать и иметь разрешение на перенос. Целевая аудитория должна существовать и вмещать участников. Вместимость, точно равная числу участников, допустима. Все запросы проверяются до записи. Целевые временные интервалы уже свободны; вы не создаёте механизм разрешения календарных конфликтов.
Что происходит при предпросмотре или отказе?
-WhatIf и No во встроенном запросе подтверждения не изменяют файлы курса и не создают выходных или временных файлов. Yes один раз разрешает весь проверенный план. Существующие выходные объекты отклоняются; вы сохраняете новый файл JSON в уже существующем родительском каталоге. Одно общее подтверждение не гарантирует восстановление после сбоев или одновременной записи.
Отбрасывается ли при сохранении информация, которую сценарий не распознаёт?
Вы работаете с предоставленным корректным JSON в UTF-8 с документированной структурой и сохраняете его прочие значения: вложенные метаданные, порядок массивов, логические значения и похожие на даты строки с исходными часовыми смещениями. Порядок свойств и пробелы могут измениться. Результат — полное расписание, где изменены только разрешённые назначения аудиторий.

