- Как легко начать писать на PowerShell или несложная автоматизация для управления Active Directory
- Изучить основы PowerShell
- Кодирование с помощью PowerShell
- Выполнение Команд
- Как найти команды PowerShell
- Синтаксис команд в PowerShell
- Одна Длинная Строка против Объекта
- Встроенная помощь
- Помочь по Командлетам
- Помощь с примерами на PowerShell
- Оставаясь в курсе
- Курс 10961С: Автоматизация административных задач при помощи Windows PowerShell
- Описание курса
- Вы научитесь
- Предварительная подготовка
- Программа курса
- Расписание групп обучения
- Стоимость обучения
- Документы об окончании
Как легко начать писать на PowerShell или несложная автоматизация для управления Active Directory
Изучить основы PowerShell
Данная статья представляет собой текстовую версию урока из нашего бесплатного видеокурса PowerShell и Основы Active Directory (для получения полного доступа используйте секретное слово «blog»).
Данный видеокурс оказался необычайно популярным по всему миру и он проведет вас по всем ступеням для создания полного набора инструментов по управлению службой каталогов Active Directory начиная с самых азов.
Кодирование с помощью PowerShell
Выполнение Команд
Консоль PowerShell – это интерактивная среда, которая позволяет запускать различные команды в реальном времени. Здесь не нужно сперва редактировать скрипт в блокноте и лишь затем запускать его в командной строке, что также значительно съэкономит ваше время.
Если вы сейчас работаете в какой-либо организации, которая при этом существует не один день, то у вас уже наверняка есть несколько маленьких скриптов на каждый день, которые вы запускаете из командной строки cmd.exe. И это отличная новость! Значит вы так же легко сможете выполнять все это и из PowerShell. Это было поистине мудрое дизайнерское решение со стороны Microsoft, так они сделали переход на новое решение более легким для администораторов.
По внешнему виду, редактор PowerShell выглядит и функционирует точно также, как и окружение командной строки cmd.exe. Приемы и навыки, которыми вы уже владеете, будут работать без изменений и в PowerShell. А если вы к тому же хотите повысить свою квалификацию и работаете над переходом от выполнения одноразовых задач, к тому чтобы обеспечивать более автоматизированное администрирование, то привычка запускать PowerShell, а не командную строку является отличным способом для начала.
Все ваши часто используемые утилиты, такие как ping, ipconfig, nslookup, и т. п. будут работать именно так, как вы ожидаете.
Как найти команды PowerShell
Люди любят PowerShell, потому что это так, ну, мощно! Но эта сила исходит от совершенно безумного количества встроенных возможностей. Это просто не возможно, да наверное и не практично, чтобы кто-то запомнил всевозможные команды, командлеты, флаги, фильтры и другие способы сказать PowerShell что и как сделать.
К счастью, прямо в редакторе встроено несколько инструментов, чтобы помочь вам справиться с этим.
Авто-завершение команд по нажатию Tab
Нет необходимости запоминать различные команды или точное написание команды. Наберите
Теперь нажимая на клавишу Tab – вы сможете перебрать все доступные команды, начинающиеся с тех символов, что вы уже ввели. Причем это работает в любой части тела команды, на которую вы пытаетесь сослаться: в именах и флагах команд и даже при автозавершении полных путей на файловой системе.
Несмотря на то, что автодополнение по Tab работает превосходно, что произойдет, если Вы не знаете правильное имя команды, которая вам нужна? В этом случае можно использовать команду чтобы найти другие доступные команды: Get-Command.
В поиске имени команды, важно иметь в виду, что есть синтаксис для них: Глагол-Существительное. Как правило, Глаголы такие как – Get (Получить), Set (Установить), Add (Добавить), Clear (Очистить), Read (Читать) и Write (Писать) и Существительные – файлы, серверы или другими сущности в вашей сети и приложениях.
Get-Command – это инструмент для поиска и изучения команд, доступных на вашем компьютере.
Синтаксис команд в PowerShell
Кто-то когда-то описал язык скриптов Perl, как “шум из исполняемых строк кода” (ориг. “executable line noise”) – невероятно полезный инструмент, с дико непрозрачным синтаксисом и соответственно с высоким порогом входа для его изучения.
Хотя если разобраться то и традиционная командная строка в Windows не так уж далеко от этого ушла. Рассмотрим общую задачу как найти все файлы в каталоге, имена которых начинаются с ‘foo’.
FOR и DO указывают на то, что это цикл.
Флаг /D указывает, что это цикл по всем папкам
Флаг /R указывает, что нужно включать все файлы и папки, включая подкаталоги
Шаблон поиска, который определяет интересующий нас набор файлов, обозначается с помощью “IN”
ECHO указывает, что сценарий должен вывести на экран результат каждого цикла и, наконец,
%G – это “вынужденный параметр” и выбран потому, что ранее программисты Microsoft уже использовали при разработке буквы A, D, F, N, P, S, T, и X. Поэтому, начинать с G, является хорошим тоном, т.к. это дает вам самый большой набор неиспользованных букв для форматов путей возвращенных переменных (G, H, I, J, K, L, M) – другими словами, это лайфхак.
Сравните теперь эквивалент на PowerShell:
Результат – тот же, но даже на таком достаточно тривиальном примере, будет намного легче понять, что происходит. Сразу становится очевидно, что делает каждый элемент в команде и как можно их изменить. Ну разве что подстановочный знак ‘*’ используемый в обоих примерах, но я думаю что вы и так прекрасно знаете, что он означает – что все элементы должны начинаться с ‘Foo’ и в конце еще что-нибудь.
Чувствуете как ваше настроение постепенно улучшается? А теперь, что если вы захотите узнать, как выбрать только файлы (а не папки) в пути? Вы можете покопаться в мануалах, или ваш лучший друг Google вам в помощь или может попытаться разобраться из командной строки? Маленькая подсказка: если вы находитесь в PowerShell, введите “-” и нажмите клавишу Tab, пройдитесь по нужным флагам, пока очевидное решение не появится.
Одна Длинная Строка против Объекта
Сайты никому не нужны, если они не в онлайне. Именно поэтому люди тратят огромное количество времени, притворяясь, что они операторы сонара на подводной лодке и «пингуют» доступность своих серверов (да-да, именно поэтому он так называется).
Несмотря на то что вывод команды Ping полезен (и вы можете использовать ping с тем же успехом и в консоли PowerShell), в конце концов это просто большая и длинная строка – ряд букв и цифр с некоторыми перерывами между ними.
В PowerShell есть команда, которая похожа на Ping, но возвращает данные в структурированном виде. Это команда Test-Connection.
Ниже приведен результат работы этой команды по обмену пакетами с сервером ‘DC’ в совершенно ином полностью структурированном виде:
Не говоря уже о том, что это намного легче читать, но главное то, что теперь вы можете передать эту информацию на вход в другую команду, придать ей еще большую полезность (наш полный видеокурс для этого и предназначен) или просто настроить ее так, чтобы в ней появилось больше смысла.
Встроенная помощь
До этого момента мы были сосредоточены на выполнении определенных команд, используя дополнение по Tab, но как только вы начнете работать с PowerShell все больше и больше команды становятся все более сложными c еще более сложными параметрами. В то время как синтаксис Глагол-Существительное (Verb-Noun) помогает, но еще больше помогает наличие под рукой:
1. Актуальной документации
2. Обилие примеров
Помочь по Командлетам
На практике, следует комбинировать команду Get-Command (чтобы найти то, что следует использовать), а затем использовать Get-Help чтобы узнать, как пользоваться этой конкретной командой.
Практический пример, как это сделать: допустим, вам нужно определить, все запущенные службы Windows на компьютере.
Для начала можно поискать команды для взаимодействия со службами:
Которая сообщит вам сразу, что вы на правильном пути. Обдумывая вернуться в стандартный синтаксис команд PowerShell Глагол-Существительное, вы бы хотели выяснить, как правильно использовать команду ‘Get-Service’.
Документация Microsoft по команде Get-Service
Для этого стоит использовать команду ‘Get-Help’. Начните печатать
“Get-Help -” и затем нажмите клавишу Tab
Вы быстро обнаружите доступные опции, наиболее явно подходит один “Name”, так что стоит попробовать:
Тут же вы получите полный синтаксис команды (и что из опций вы можете включить или исключить на базе фильтров).
Если вы захотите исследовать команду глубже и детализировать ее вплоть до каждого параметра, то наберите:
Помощь с примерами на PowerShell
Все мы люди и, без обид бот Google, у нас всех имеются свои психологические препоны, которые нам надо предодолеть при изучении чего-то незнакомого и привести это к понятной нам форме для того, чтобы выполнить то, что нам нужно.
Введя “-examples” или добавив флаг “-detail” к команде “Get-Help”, вам будет предоставлен набор примеров для использования команды.
Вот, к примеру, вывод для команды:
Оставаясь в курсе
Что может быть более ужасным, чем неработающий пример, или пример с ошибкой в документации. Часто это бывает либо из-за устаревшей документации, либо из-за неверных примеров или же из-за обновленных библиотек.
Чтобы обойти эти проблемы и заодно получить новые примеры и исправления введите:
и начнется процесс загрузки обновленной контекстной помощи.
Курс 10961С: Автоматизация административных задач при помощи Windows PowerShell
Course 10961C: Automating Administration with Windows PowerShell
Код курса: М10961-А
PowerShell – средство автоматизации, позволяющее упростить решение большинства административных задач. Этот курс предоставляет фундаментальные знания и навыки по использованию Windows PowerShell необходимые для администрирования и автоматизации администрирования серверов Windows.
Ближайшая группа
ежедневно:
10:00 — 17:10
Стоимость для физ. лиц
Преподаватели
Чернов Дмитрий Михайлович
Самородов Федор Анатольевич
Описание курса
PowerShell – средство автоматизации, позволяющее упростить решение большинства административных задач.
Этот курс предоставляет фундаментальные знания и навыки по использованию Windows PowerShell необходимые для администрирования и автоматизации администрирования серверов Windows.
Этот курс предназначен для ИТ-специалистов, имеющих опыт администрирование и поддержки клиентов и серверов Microsoft и желающих приобрести знания и навыки в вопросах автоматизации задач администрирования.
Вам необходима усиленная практика? Готовитесь к сдаче сертификационных экзаменов Microsoft? Приобретите доступ к Labs Online – виртуальным лабораторным работам по авторизованным курсам Microsoft – в течение всего курса и двух недель по окончании обучения! Услуга уникальна и доступна только в Центре «Специалист»
Вы научитесь
- использовать команды PowerShell;
- работать с конвейером;
- понимать работу конвейера;
- использовать PSProviders и PSDrives;
- форматировать вывод;
- разрабатывать сценарии, функции и модули;
- использовать программные возможности PowerShell;
- выполнять задачи на удалённых компьютерах;
- использовать фоновые задания и запланированные задачи.
Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы.
Большинство выпускников наших курсов делают успешную карьеру и пользуются уважением работодателей.
Предварительная подготовка
Требуемая подготовка: Знание и практический опыт администрирования клиентов и серверов семейства Windows «Английский язык. Уровень 2. Elementary, часть 2», или эквивалентная подготовка. Определить уровень владения языком Вам поможет тест: http://www.specialist.ru/test/599
Программа курса
- Обзор технологии PowerShell
- Подготовка к работе
- Поиск команд
- Основы синтаксиса
Лабораторная работа
- Настройка консольного приложения
- Настройка ISE-приложения
Лабораторная работа
- Поиск команд
- Запуск команд
- Работа со справочными файлами
- Команды администрирования Active Directory
- Команды для администрирования сети
- Команды для администрирования сервера
Лабораторная работа
- Создание и управление объектами Active Directory
- Настройка сети сервера Windows
- Создание вебсайта
- Механизм конвейера
- Конвейеризованный запуск команд
- Сортировка, выборка объектов
- Передача объектов по конвейеру
- Работа со свойствами объектов
Лабораторная работа
- Сортировка объектов
- Преобразование объектов
- Экспорт в файл
- Импорт данных
- Конвертация, импорт, экспорт объектов
- Фильтрация
- Передача данных по конвейеру
- Расширенные возможности работы с конвейером.
Лабораторная работа
- Управление поведением конвейера
- Поставщики (PSProviders)
- Возможности поставщиков
- Диски (PSDrives)
Лабораторная работа
- Создание новой папки
- Подключение нового диска
- Создание ключа реестра
- Настройка параметров в реестре
- Основы WMI и CIM
- Получение данных при помощи WMI и CIM
- Внесение изменений через WMI и CIM
- Вызов методов
Лабораторная работа
- Получение информации через WMI
- Получение информации через CIM
- Вызов методов
- Использование переменных
- Использование массивов и хэш таблиц
Лабораторная работа
- Работа с переменными, массивами и хэш таблицами
- Введение в сценарий (scripting)
- Скриптовые конструкции
Лабораторная работа
- Оформление сценария
- Перебор ForEach
- Условие If
- Создание пользователей на основе CSV файла
- Документирования сценариев
- Решение проблем и обработка ошибок
- Функции и модули
Лабораторная работа
- Документирования сценариев
- Создание функции
- Преобразование функции в модуль
- Технология Windows PowerShell Remoting
- Расширенные возможности удаленного администрирования.
- Использование PSSessions
Лабораторная работа
- Включение удалённого выполнения на локальном компьютере
- Подключение один-к-одному
- Подключение один-ко-многим
- Использование удалённых сессий
- Неявное использование удалённого выполнения
- Управление набором компьютеров
- Использование фоновых заданий
- Использование запланированных заданий
Лабораторная работа
- Запуск и управление заданиями
- Создание запланированных заданий
- Создание профиля PowerShell
- Использование расширенных возможностей
Лабораторная работа
- Создание профиля PowerShell
- Настройка разрешений NTFS
- Получение информации о дисках
- Создание учётных записей пользователей из CSV файла
Аудиторная нагрузка в классе с преподавателем: 40 ак. ч. + 20 ак. ч. бесплатно
По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.
Преподаватели
Чернов Дмитрий Михайлович
Самородов Федор Анатольевич
Отзывы выпускников
Филиппов Илья Георгиевич
Знания полученные на курсе позволили структурировать мои знания
Полднев Дмитрий Владимирович
Доступная и полная подача материала. Много практических работ.
Шиндин Александр Васильевич
Давно программирую на Powershell. Пришёл на курс за бумажкой, но тем не менее открыл для себя некоторые новые аспекты языка. Курс мне понравился, я думаю, изучение языка для меня намного ускорилось, если бы я прослушал этот курс раньше.
Кочетков Пётр Юрьевич
Курс содержит обширную информацию по методологии применения PowerShell. Обозначены источники и области применения. Материал своевременный. Мне очень пригодится всё, что я узнал.
Макарушин Владимир Евгеньевич
Цель данного обучения была познакомиться с PowerShall и в случае необходимости его применять . полученных на курсе навыков хватит для того чтоб дальше продолжить изучать язык
Расписание групп обучения
Данный курс вы можете пройти как в очном формате, так и дистанционно в режиме онлайн . Чтобы записаться на онлайн-обучение, в корзине измените тип обучения на «онлайн» и выберите удобную для вас группу.
Сортировать:
19.04.2021
23.04.2021
ежедневно утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Бауманская
м.Авиамоторная
В группе осталось 2 места.
Успейте записаться на свободные места!
Стоимость для физ. лиц
22.05.2021
19.06.2021
суббота + 14.06 утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Бауманская
м.Авиамоторная
Стоимость для физ. лиц
28.06.2021
02.07.2021
ежедневно утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Бауманская
м.Авиамоторная
Стоимость для физ. лиц
02.08.2021
06.08.2021
ежедневно утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Бауманская
м.Авиамоторная
Стоимость для физ. лиц
13.09.2021
17.09.2021
ежедневно утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Бауманская
м.Авиамоторная
Стоимость для физ. лиц
22.11.2021
26.11.2021
ежедневно утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Белорусская
м.Савеловская
Стоимость для физ. лиц
27.11.2021
25.12.2021
суббота утро-день
10:00 — 17:10
ЧерновДмитрий
Михайлович
м.Бауманская
м.Авиамоторная
Стоимость для физ. лиц
13.12.2021
17.12.2021
ежедневно утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Белорусская
м.Савеловская
Стоимость для физ. лиц
06.02.2022
06.03.2022
воскресенье утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
07.02.2022
11.02.2022
ежедневно утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
28.02.2022
04.03.2022
ежедневно утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Белорусская
м.Савеловская
Стоимость для физ. лиц
28.03.2022
01.04.2022
ежедневно утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
03.04.2022
02.05.2022
воскресенье утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
04.04.2022
15.04.2022
ежедневно вечер
18:30 — 21:30
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
18.04.2022
22.04.2022
ежедневно утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
15.05.2022
13.06.2022
воскресенье утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
04.09.2022
02.10.2022
воскресенье утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
06.11.2022
04.12.2022
воскресенье утро-день
10:00 — 17:10
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
28.11.2022
09.12.2022
ежедневно вечер
18:30 — 21:30
СамородовФедор
Анатольевич
м.Бауманская
Стоимость для физ. лиц
* Данная скидка действительна при заказе и оплате онлайн обучения только сегодня. Запишитесь прямо сейчас со скидкой!
Стоимость обучения
Частным лицам
38 990 ₽
35 050 ₽ (-10%)
Обучение в кредит
От 2 081 руб./месяц
Организациям
39 990 ₽
35 990 ₽ (-10%)
Указана минимальная цена за индивидуальное обучение. Число часов работы с преподавателем в 2 раза меньше, чем при обучении в группе. Если Вам для полного усвоения материала курса потребуется больше часов работы с преподавателем, то они оплачиваются дополнительно. В случае занятий по индивидуальной программе расчёт стоимости обучения и количества необходимых часов производится отдельно.
Длительность индивидуального обучения — минимум 4 академических часа. Стоимость обучения в Москве уточняйте у менеджера. При выездном индивидуальном обучении устанавливается надбавка: +40% от стоимости заказанных часов при выезде в пределах МКАД, +40% от стоимости заказанных часов и + 1% от стоимости заказанных часов за каждый километр удаления от МКАД при выезде в пределах Московской области. Стоимость выезда за пределы Московской области рассчитывается индивидуально менеджерами по работе с корпоративными клиентами.
Для юридических лиц (организаций) указана цена, действующая при полной предоплате.
Документы об окончании
В зависимости от программы обучения выдаются следующие документы:
Международный сертификат Microsoft
Cертификат международного образца
Удостоверение *
Свидетельство
* Для получения удостоверения вам необходимо предоставить копию диплома о высшем или среднем профессиональном образовании.
Сертификаты международного образца выводятся после окончания курса в личном кабинете слушателя.
Больше знаний — меньше стоимость!
Данное предложение действует только для частных лиц.