Книга рецептов Powershell Core 6.2
Copyright © 2019 Packt Publishing
|
Данный документ предоставляется по лицензии Creative Commons Attribution 3.0 License, за исключением разделов со специальными оговорками. |
Первая публикация на английском языке: Апрель 2019
Ссылка на продукт: 1170419
Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или передана в любой форме или любыми средствами без предварительного письменного разрешения издателя, за исключением случаев кратких цитат, встроенных в критические статьи и обзоры.
При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.
Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.
Опубликовано Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK
ISBN 978-1-78980-330-3
2019-05-28
- Автор
- Жан-Эндрик Питерс
- Редактор ввода в эксплуатацию
- Виджин Борича
- Редактор приобретения
- Рохит Раджкумар
- Редактор разработки содержимого
- Ронн Куриен
- Технический редактор
- Прачи Савант
- Литературный редактор
- Safis Editing
- Координатор проекта
- Джагдиш Прабху
- Корректор
- Safis Editing
- Составитель указателя
- Приянка Дхадке
- Графика
- Том Скэйриа
- Координатор производства
- Сэйли Кэйл
Данная поваренная книга является основанным на рецептах подходом в плане обучения и применения PowerShell Core в вашей организации. Вне зависимости от того, применяете ли вы Windows, Linux или macOS, вы можете устанавливать и применять PowerShell Core.
Данная книга имеет целью показать вам типичные сценарии администрирования инфраструктурой посредством коротких и лаконичных рецептов. В последующих главах вы изучите всё, от автоматизации контейнеров выпуска до управления системами Linux при помощи PowerShell.
После намеченного на май 2019 выпуска PowerShrell 7, данная книга останется по- прежнему точной и поможет вам в повседневных задачах.
Эта книга предназначена для системных администраторов, которые желают расширить свои навыки сценариев PowerShell. Вы любите автоматизировать повторяющиеся задачи? Тогда эта книга точно предназначена для вас. Вы управляете системами Windows и Linux, но вам не хватает общего языка программирования для задач автоматизации? Тогда больше ничего и не ищите. Хотите больше работать с помощью REST API, но не знаете с чего начать? Прочитайте эту книгу.
Для извлечения максимальной пользы от этой книги вы уже должны быть знакомы с основными терминами PowerShell. При необходимости прочтите книгу Learn PowerShell Core 6.0 Дэвида дас Нивса и Жан-Эндрик Питерса. {Прим. пер.: рекомендуем также наш перевод 2 издания Полного руководства Windows Server 2019 Джордана Краузе.}
Глава 1. Введение в PowerShell Core служит неким введением и рассматривает самые первые шаги PowerShell Core.
Глава 2. Считывание и запись вывода рассматривает как работать с данными и поставщиками.
Глава 3. Работа с объектами является неким введением в объектно- ориентированное программирование, а также показывает вам преимущества применения объектов в вашем коде.
Глава 4. Усвоение конвейеров целиком посвящена конвейерам и показывает как действенно работать с большими объёмами данных в конвейерах.
Глава 5. Импорт, применение и экспорт данных целиком посвящена удержанию и считыванию данных от XML до JSON и от REST до SQL.
Глава 6. Администрирование Windows и Linux сопоставляет различные типовые задачи администрирования в Linux и Microsof, а также демонстрирует в этих ситуациях преимущества PowerShell Core.
Глава 7. Администрирование Windows Server рассматривает имеющиеся ловушки и преимущества использования PowerShell Core в чистых средах Windows. Вы настроите S2D, Docker, Active Directory Domain Services и многое другое.
Глава 8. Удалённое и Просто достаточное администрирование вводит удалённую отладку, Просто достаточное администрирование и общие информационные модели.
Глава 9. Применение PowerShell для управления Hyper-V и Azure Stack
Глава 10. Использование PowerShell для Azure и Google Cloud сосредоточена на вашем частном облачном решении и показывает как управлять Hyper-V, развёртывать Стек Azure и сопровождать рабочие нагрузки вашей инфраструктуры с помощью PowerShell Core.
Глава 11. Доступ к веб службам это всё про REST. Данная глава не только покажет вам можно выполнять доступ к различным реальным API REST; она также заставит вас создать ваш собственный!
Глава 12. Сценарии высокой производительности обсуждает все важные понятия, относящиеся к вопросам производительности ваших сценариев. Вы изучите реальное распараллеливание, действенную фильтрацию и многое другое.
Для получения максимальных преимуществ от данной книги я рекомендую развернуть лабораторную среду этой книги, которая состоит из следующего:
-
Контроллера домена/ Маршрутизатора/ Центра авторизации (рецептам требуется Active Directory)
-
Три файловых сервера (рецепты SOFS и S2D)
-
Два хоста Hyper-V (Hyper-V и рецепты построения кластера)
-
Некий веб сервер (рецепты IIS) и SQL
-
Узел CentOS 7.4 (рецепты Linux)
Если вы решите применять свою собственную инфраструтктуру, будбьте так любезны, изменяйте предлагаемые названия серверов во всех рецептах!
Для развёртывания лаборатории под всю книгу целиком вам потребуется хост Hyper-V (рекомендуется), либо некая подписка Azure (предостерижение: развёртывание такой лаборатории потребует солидных затрат если вы не освободите эти машины!) Требования для вашего хоста Hyper-V таковы:
-
Windows 10/ Server 2016 {/2019}
-
Современный процессор с поддержкой виртуализации (i5 или аналогичный)
-
По крайней мере 20 ГБ ОЗУ когда подняты и запущены все машины
-
По крайней мере 50 ГБ свободного пространства на неком SSD (не на шпиндельных дисках)
-
Сама развёрнутая с помощью Windows PowerShell лаборатория
-
Необходимо включить свойства Hyper-V (требует перезагрузки)
-
Один файл ISO Windows Server 2016 {/2019} DataCenter
-
Один файл ISO SQL Server 2017 (Standard или DataCenter)
-
Один файл ISO CentOS 7.4; рекомендуется образ DVD, так как некий сетевой образ потребует интернет- подключения хоста!
Развёртывание этой лаборатории выгрузит необходимый модуль PowerShell, AutomatedLab, который используется для быстрого
развёртывания лаборатории. Вся лаборатория целиком будет построена на лету. Когда вы закончите с этой лабораторией и
пожелаете удалить её, откройте некий сеанс PowerShell с правами администратора и исполните
Remove-Lab -Name PSCookBook
.
Сам сценарий развёртывания данной лаборатории можно найти в репозитории данной книги.
Чтобы следовать всем рецептам этой книги, я рекомендую следующее:
-
Зарегистрировать некую бесплатную учётную запись Azure DevOps для прохождения рецептов Azure DevOps.
-
Зарегистрировать некую бесплатную учётную запись Microsoft Azure для прохождения рецептов Microsoft Azure.
-
Зарегистрировать некую бесплатную учётную запись Google Cloud для прохождения рецептов Google Cloud.
Весь код можно найти в GitHub.
Старайтесь не выполнять сценарии целиком. В каждый сценарий рецепта я добавил оператор throw чтобы вы не выполнили его полностью.
Вы можете загрузить файлы примеров кода по адресу из своей учётной записи: http://www.packtpub.com. Если вы приобрели книгу где- либо ещё, вы можете посетить http://www.packtpub.com/support и зарегистрироваться для получения этих файлов по электронной почте непосредственно на свой адрес.
Вы можете загрузить эти файлы с кодом выполнив следующие шаги:
-
Зарегистрируйтесь на нашем вебсайте при помощи своего адреса электронной почты и пароля.
-
Переместите указатель мыши на закладку SUPPORT в верхней части.
-
Кликните по Code Downloads & Errata.
-
Введите название книги в блок Search.
-
Выберите книгу для которой вы ищете для загрузки файлы исходного кода.
-
В ниспадающем меню выберите где вы приобрели эту книгу.
-
Кликните по Code Download.
После загрузки убедитесь, пожалуйста, что вы раззиповали или раскрыли эту папку при помощи самой последней версии:
-
WinRAR / 7-Zip для Windows
-
Zipeg / iZip / UnRarX для Mac
-
7-Zip / PeaZip для Linux
Весь код в единой упаковке также размещён на GitHub. В случае обновления этого кода, он также будет обновлён и в обозначенном репозитории GitHub.
У нас также имеются и прочие упаковки кодов из нашего богатого каталога книг и видео- материалов , доступными в GitHub. Ознакомьтесь с ним!
Мы дополнительно снабжаем вас файлом PDF, который содержит цветные изображения экранных снимков/ схем, использованных в данной книге. Цветные изображения помогут вам лучше понять изменения в выводе. Вы можете загрузить этот файл по адресу: https://www.packtpub.com/sites/default/files/downloads/9781789803303_ColorImages.pdf {Прим. пер.: на текущий момент ссылка не работает, запросили издательство.}.
В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.
Кодовые слова
в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов,
имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter представлены следующим образом:
"Смонтируйте выгруженный файл образа диска WebStorm-10*.dmg
как другой диск
в вашей системе".
Блок кода записываются следующим образом:
public Car(string make, string model, ConsoleColor color)
{
Color = color;
Make = make;
Model = model;
}
Когда мы желаем привлечь ваше внимание к определённой части кода в блоке, соответствующие строки или элементы выделяются жирным шрифтом:
From https://docs.microsoft.com/en-us/dotnet/api/system.boolean.tryparse?view=netcore-2.2:
public static bool TryParse (string value, out bool result);
Всякая командная строка ввода или вывода отображается так:
$car = New-Object -TypeName Vehicle.Car
Жирным шрифтом отображаются новые термины или важные слова, которые вы видите на экране. Например, появляющиеся в тексте слова в меню или блоках диалогов. Вот некий пример: "Выберите System info в имеющейся панели Administration".
Замечание | |
---|---|
Предостережения или важные замечания появляются в блоках подобных этому. |
Совет | |
---|---|
Советы и ловкие приёмы возникают таким образом. |
В этой книге вы будете находить отдельные часто повторяющиеся заголовки (Приготовление, Как это сделать..., Как это работает..., Также ознакомьтесь... и Дополнительно). Чтобы получить чёткие инструкции как выполнить определённый рецепт, применяйте эти разделы следующим образом:
Этот раздел сообщит вам что ожидает данный раздел и описывает как настроить всё необходимое для данного репцепта и выполнить предварительные настройки.
Данный раздел содержит все шаги, которые следует осуществить в нём.
Этот раздел обычно размещает подробное объяснение того что происходило в предыдущем разделе.
В этом разделе содержится дополнительная информация о данном рецепте чтобы вы получили больше сведений о самом рецепте.
Данный раздел предоставляет полезные ссылки на прочую полезную для обсуждаемого рецепта информацию.
Обращения наших читателей всегда приветствуются. Дайте нам знать что вы думаете об этой книге - что вам нравится или не нравится. Обратная связь с читателями важна нам, так как помогает нам разрабатывать издания, от которых вы на самом деле получите максимальную пользу.
Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.
Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.
Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.
Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.
Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.
Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно. Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста, предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры. {Прим. пер.: Согласно закону об авторском праве РФ, авторские права на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений, готовы к тесному сотрудничеству.}
Пожалуйста, обратитесь по адресу copyright@packtpub.com со ссылкой на материалы содержащие признаки нарушения авторских прав.
Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас имеющего ценность содержимого.
Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.
- Предисловие
- Глава 1. Введение в PowerShell Core
- Глава 2. Считывание и запись вывода
- Технические требования
- Работа с выводом
- Сохранение данных
- Доступные только на чтение переменные и константы
- Область действия переменных
- Шесть потоков
- Перенаправление потоков
- Работа с поставщиком файловой системы
- Работа с поставщиком реестра
- Работа с поставщиком сертификатов
- Создание вашего собственного поставщика
- Альтернативные потоки данных NTFS
- Глава 3. Работа с объектами
- Глава 4. Усвоение конвейеров
- Глава 5. Импорт, применение и экспорт данных
- Глава 6. Администрирование Windows и Linux
- Технические требования
- Включение свойств Windows
- Установка групп пакетов Linux
- Создание учётных записей Windows
- Создание учётных записей Linux
- Изменение реестра Windows
- Изменение файлов настроек Linux
- Регистрация новой службы Windows
- Включение нового демона Linux
- Планирование расписания Windows
- Планирование заданий Cron Linux
- Создание пула хранения Windows
- Создание программного RAID устройства Linux
- Доступ к журналу событий Windows
- Работа с системными журналами в Linux
- Глава 7. Администрирование Windows Server
- Технические требования
- Управление файловыми службами
- Управление службами домена
- Управление IIS - развёртывание и настройка
- Управление IIS - создание вебсайта
- Настройка Непосредвенно управляемых Пространств хранения (S2D)
- Применение Docker с контейнерами Hyper-V
- Развёртывание RDS
- Интеграция настройки DSC в образ Windows Server
- Глава 8. Удалённое и Просто достаточное администрирование
- Технические требования
- Включение удалённого PowerShell из Linux
- Настройка удалённого PowerShell
- Безопасное подключение к удалённым оконечным точкам
- Удалённая выборка данных
- Отладка сценариев удалённой работы
- Создание роли JEA
- Создание настройки сеанса JEA
- Подключение к оконечным точкам при помощи различных настрое сеансов
- Применение CIM (Общей информационной модели)
- Применение PowerShell Direct в PowerShell Core
- Глава 9. Применение PowerShell для управления Hyper-V и Azure Stack
- Технические требования
- Настройка Hyper-V
- Настройка стека Azure
- Виртуальные сети в Hyper-V
- Виртуальные сети в стеке Azure
- Предоставление хранилищ в Hyper-V
- Предоставление хранилищ в стеке Azure
- Предоставление ресурсов вычислений в Hyper-V
- Предоставление ресурсов вычислений в стеке Azure
- Создание вычислительго кластера при помощи DSC
- Настройка гостей при помощи DSC в Hyper-V
- Настройка гостей при помощи DSC в стеке Azure
- Глава 10. Использование PowerShell для Azure и Google Cloud
- Технические требования
- Подключение к Azure
- Подключение к Google
- Выявление групп ресурсов Azure
- Выявление проектов облака Gogle
- Развёртывание шаблонов групп ресурсов
- Развёртывание шаблонов облака Google
- Применение реестра контейнеров Azure
- Применение реестра контейнеров облака Google
- Контейнеры в Azure
- Контейнеры в облаке Google
- SQL в Azure
- SQL в облаке Google
- Глава 11. Доступ к веб службам
- Технические требования
- Исследование служб REST
- Доступ к DevOps Azure через REST
- Создание новых групп ресурсов Azure через REST
- Вызов книг запуска Azure через веб точки входа
- Предоставление веб служб RESTful через PowerShell
- Создание новой команды проекта в DevOps Azure
- Создание нового определения сборки в DevOps Azure
- Глава 12. Сценарии высокой производительности
- Технические требования
- Распараллеливание с фоновыми заданиями
- Эффективные запросы к журналу событий
- Сопоставление Where-Object и метода Where
- Применение cmdlets Active Directory в плане производительности
- Распараллеливание через пулы запуска
- Обмен переменными при помощи пространств исполнения
- Операции ввода/ вывода большого масштаба
- Таблицы хэширования, словари и производительность
- Указатель