О разделе
Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.
Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.
Зачем этот раздел
Подборка по PowerShell в энциклопедии: синтаксис, первая программа и смежные темы. Выберите один язык для старта, пройдите маршрут до первой рабочей программы — затем переходите к следующему языку или стеку.
С чего начать
| Шаг | Материал | Зачем |
|---|---|---|
| 1 | Первая программа | Запуск и синтаксис |
| 2 | Практическая автоматизация — модель | Цель, триггеры, окупаемость — до больших скриптов |
| — | Опасные скрипты | Remove-Item, ExecutionPolicy, команды от ИИ-агента |
Частые ошибки при старте
| Ошибка | Что делать |
|---|---|
| Прыжки между языками | Закройте одну "первую программу", потом сравнивайте |
| Код без запуска | Выполните пример локально |
| Сразу большой фреймворк | Сначала база раздела, потом REST/UI |
Что попробовать
- Шаг 1 из таблицы.
- Три непонятных термина — найдите статьи в оглавлении раздела.
- Другой язык — только после своей рабочей первой программы.
Play ITЗагрузка интерактивного демо…
Раздел посвящён PowerShell — оболочке и языку сценариев для автоматизации Windows, Linux и macOS. Материалы идут от истории и установки к синтаксису, объектному конвейеру, ошибкам и практическим скриптам.
Две линейки, о которых важно помнить
| Windows PowerShell 5.1 | PowerShell 7+ (pwsh) | |
|---|---|---|
| Платформа | .NET Framework | .NET (Core / современный) |
| Где встречается | Встроен в Windows | Устанавливается отдельно |
| Кроссплатформа | Нет | Да |
| ISE | Есть (устаревает) | Нет; VS Code + расширение PowerShell |
| Модули | Часть старых модулей только под 5.1 | Az, Graph и др. обычно под 7 |
Проверка версии в сессии: $PSVersionTable.PSVersion.
Рекомендуемый порядок чтения
- История PowerShell — зачем появился объектный pipeline.
- Экосистема автоматизации — установка, модули, облако.
- Основы языка и синтаксис.
- Ключевые слова (шпаргалка + ссылки), условия и циклы (углублённо).
- Обработка ошибок — terminating/non-terminating,
$ErrorActionPreference. - Рекомендации по скриптам, первая программа.
- Практическая автоматизация — модель и окупаемость — цель, триггеры, действия, обслуживание; когда скрипт окупается.
- Стандартные блоки и модули — функции,
.psm1, переиспользование. - Триггеры — расписание и наблюдатели — планировщик, cron, watcher.
- Секреты и безопасная автоматизация — SecretManagement, УЗ службы, least privilege.
- Конфигурация и адаптивные скрипты — JSON, data-driven, идемпотентность.
- Справочник — таблицы команд и операторов.
Практическая автоматизация (продакшен)
После синтаксиса — инженерный слой: проектирование системы, которую можно сопровождать годами.
Ключевые идеи раздела
- Командлет — узкая команда в формате
Verb-Noun(Get-Process,Set-Location). - Провайдеры (
FileSystem,Registry,Cert:) — одни командлеты для файлов, реестра и сертификатов; см. основы. - Потоки вывода (Success, Error, Warning, …) — не всё попадает в конвейер
|; там же. - Конвейер (
|) передаёт объекты, а не текст; фильтрация —Where-Object, выборка —Select-Object. - Модуль расширяет оболочку (
Import-Module, PowerShell Gallery). - Политика выполнения ограничивает запуск файлов
.ps1, а не "блокирует все команды".
Интерактивные вставки в статьях (тренажёр PowerShell Shell, демо операторов и ошибок) дополняют текст, но не заменяют пробу команд в своей среде.
Официальная документация Microsoft
Теория в энциклопедии — на русском и с интерактивом. При споре о синтаксисе, установке, cmdlet или модулях опирайтесь на документацию PowerShell на Microsoft Learn (актуальная ветка — PowerShell 7.x). Тексты модулей Learn в статьи не копируем — только ссылки (Catalog API FAQ).
| Ресурс | Зачем открывать |
|---|---|
| Документация PowerShell (хаб) | Точка входа: установка, примеры, ссылка на галерею, браузер модулей |
| Что такое PowerShell? | Оболочка, язык сценариев и платформа управления в одном обзоре |
| Установка PowerShell | Windows, Linux, macOS; pwsh и встроенный 5.1 |
| Примеры скриптов для администрирования | Готовые сценарии: службы, события, реестр, сеть |
| Windows PowerShell ISE | Legacy-среда под 5.1; для новых проектов — VS Code |
| PowerShell Gallery | Публикация и установка модулей (Install-Module, Find-Module) |
| Браузер модулей | Справочник по cmdlet в установленных и сторонних модулях |
См. также раздел 2.05 Терминал (CMD, Bash, автоматизация в Windows) и подборку документации.
История PowerShell
История PowerShell - эволюция платформы от Windows-оболочки до кроссплатформенного языка автоматизации.
Простые приложения на PowerShell
Простые приложения на PowerShell — скрипты Windows, файлы, JSON и REST.
Экосистема автоматизации на PowerShell
Экосистема автоматизации на PowerShell - установка, окружение и типовые инструменты для системных задач.
Рекомендации по написанию PowerShell-скриптов
Набор советов, правил, принципов и обычаев в разработке на этом языке.
Основы языка PowerShell
Основы языка PowerShell - синтаксис, объектный пайплайн и базовые подходы к автоматизации администрирования.
Синтаксис и операторы PowerShell
PowerShell представляет собой среду командной строки и скриптовый язык, построенный на базе платформы .NET.
Ключевые слова и управляющие конструкции
$this — переменная, указывающая на текущий объект в методах классов. В PowerShell переменная $this используется внутри методов для обращения к свойствам и методам текущего экземпляра класса.
Командлеты и встроенные функции PowerShell
Командлеты и встроенные функции PowerShell - устройство, принципы использования и расширение возможностей оболочки.
Типы данных и работа с переменными
Типизация, набор правил определения типа данных значений языка.
Условные выражения и циклы
Условные выражения и циклы в PowerShell - ветвление сценариев и управление повторяющимися операциями.
Функции и продвинутые параметры
Функции и продвинутые параметры в PowerShell - переиспользование кода, валидация аргументов и удобство CLI.
Объектная модель и конвейерная обработка
Для динамического добавления свойств используется cmdlet Add-Member. Это позволяет расширять функциональность объектов без изменения их исходного кода.
Обработка ошибок и стратегии отладки
Обработка ошибок и отладка в PowerShell - исключения, диагностика сбоев и практики повышения надежности скриптов.
Популярные модули и примеры скриптов
Популярные модули PowerShell и примеры скриптов для администрирования, автоматизации и работы с инфраструктурой.
Первая программа на PowerShell
Гайд по установке и настройке с написанием первой программы и её запуском.
Справочник по PowerShell
Справочник по PowerShell - команды, пайплайны, скрипты и практики автоматизации администрирования.
Практическая автоматизация — модель и окупаемость
Модель системы автоматизации на PowerShell: цель, триггеры, действия, обслуживание; когда окупается скрипт и как выбрать инструмент.
Стандартные блоки и модули PowerShell
Стандартные блоки автоматизации: переиспользуемые функции, CmdletBinding, сборка скрипта и оформление модуля .psm1.
Триггеры — расписание и наблюдатели
Запуск PowerShell по графику: планировщик Windows, cron, скрипты-наблюдатели, контекст выполнения и зависимости.
Секреты и безопасная автоматизация
Безопасная автоматизация PowerShell: SecretManagement, учётные записи служб, минимальные привилегии и хранение секретов вне скриптов.
Конфигурация и адаптивные скрипты
Data-driven PowerShell: JSON-конфиги, классы, управление поведением скрипта данными без правки кода.
PowerShell — итоги
Краткие итоги раздела PowerShell — cmdlet, конвейер, модули и типичные ошибки новичка.
PowerShell — о разделе
Раздел посвящён PowerShell — оболочке и языку сценариев для автоматизации Windows, Linux и macOS.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Бэкенд и серверная разработка — Bash — о разделе, 1С — о разделе, Julia — о разделе, R — о разделе, Dart — о разделе, Nim — о разделе.