Скачать бесплатную русскую книгу о PowerShell


Мы приготовили для всех любителей Powershell новогодний подарок. В свободном доступе появилась русская книга “Введение в технологии языка сценариев для пользователей без базовых знаний”. Думаю она будет полезна для всех, кто желает быстро изучить этот замечательный язык, облегчающий жизнь любому ИТ профессионалу. Согласитесь на родном языке читать гораздо легче и приятнее.  Внутри книги вы найдете следующие полезные сведения:


 


Первое впечатление о Windows PowerShell ………………………………………………………5
Расширенные возможности вывода: конвейеры ………………………………………………..7
Вводные упражнения с объектами Windows PowerShell ………………………………………..8
Работа с процессами ……………………………………………………………………………….8
Вывод в файлы формата TXT, CSV или XML ………………………………………………………9
Вывод в цвете ………………………………………………………………………………………10
Проверка условий с помощью командлета if ……………………………………………………11
Вывод в виде HTML …………………………………………………………………………………12
Работа с файлами …………………………………………………………………………………..15
Поиск информации об объектах с помощью Get-Member ……………………………………. 16
Удаление файлов …………………………………………………………………………………  18
Создание папок …………………………………………………………………………………….19
Если у вас есть время … ……………………………………………………………………………21
Windows PowerShell как машина обработки произвольных объектов ………………………. 23
Объекты WMI………………………………………………………………………………………. 23
Работа с объектами .NET и XML…………………………………………………………………. 25
Работа с COM-объектами ………………………………………………………………………… 26
Работа с журналами сообщений …………………………………………………………………29
Сценарии-решения к упражнениям в этой книге ………………………………………………30
Примеры к Windows PowerShell – от простых к сложным ……………………………………. 33
Теоретические принципы Windows PowerShell ……………………………………………….. 35
Windows PowerShell – краткое введение ……………………………………………………….. 35
Цели разработки Windows PowerShell ………………………………………………………….. 35
О тексте, разборе текста и объектах …………………………………………………………… 35
Новый язык сценариев …………………………………………………………………………… 36
Команды Windows и служебные программы ………………………………………………….. 37
Интерактивная среда …………………………………………………………………………….. 37
Поддержка сценариев …………………………………………………………………………… 37
CMD, WScript или PowerShell? Что выбрать? …………………………………………………… 37
Windows PowerShell 1.0 …………………………………………………………………………..38
Безопасность при использовании сценариев …………………………………………………..39


Остается только начать эффективно применять полученные знания. О первой и второй книгах Френка Коха из этой серии я уже писал ранее. К сожалению на тот момент они были доступны только на английском языке. А теперь благодаря переводу Виктора Горбункова и редактуре Василия Гусева появилась русская версия первой книги. Коллеги сделали практически всю работу самостоятельно, мне оставалось лишь координировать их усилия и не давать им сражаться за терминологию слишком яростно. 🙂  Хочу сказать им огромное спасибо за это. Надеюсь сообщество пользователей Powershell еще не раз вспомнит их добрым словом.


Сейчас мы думаем над переводом второй книги так что следите за новостями, а лучше подпишитесь на RSS чтобы не пропустить анонс.  Скачивайте книгу и вперед, к мастерству написания сценариев. 🙂

Comments (31)

  1. Anonymous says:

    Реально полезное дело, всем, кто принимал в этом участие, огромное спасибо.

  2. Anonymous says:

    > Спасибо, благо что оба архива забрал. Названия с точьностью до наоборот 🙂

    Спасибо что сообщили. Названия я поправил.

  3. Anonymous says:

    Перед Новым Годом в свободном доступе появились книги "Understanding Microsoft Virtualization Solutions

  4. Anonymous says:

    Только что проверил у себя выполнение команды man man

    В результате получаем

    PS C:Usersabeshkov> man man

    NAME

       Get-Help

    SYNOPSIS

       Displays information about Windows PowerShell commands and concepts.

    SYNTAX

       Get-Help [-Full] [[-Name] <string>] [-Category <string[]>] [-Component <string[]>] [-Functionality <string[]>] [-On

       line] [-Path <string>] [-Role <string[]>] [<CommonParameters>]

    Как виидите все работает. Есть подозрение, что у вас в системе что-то повреждено.

  5. Anonymous says:

    Перед Новым Годом в свободном доступе появились книги "Understanding Microsoft Virtualization Solutions

  6. Anonymous says:

    Salt если пишите о том что продукт X лучше чем Y аргументируйте почему вы думаете именно так. Иначе это бесполезно и воспринимается как банальный троллионг.

  7. xAiLx says:

    спасибо за книгу!

  8. Anonymous says:

    В powershell традиционно мало кто использует консоль для разработки скриптов.

    Я думаю вам нужно посмотреть на Powershell ISE http://xaegr.wordpress.com/2009/04/26/powershell-ise/

    Или на Quest PowerGui

    http://xaegr.wordpress.com/2008/01/28/powergui-1013-%d0%bd%d0%b0-%d1%80%d1%83%d1%81%d1%81%d0%ba%d0%be%d0%bc/

  9. Anonymous says:

    подписался на блог. жаль поздновато на него наткнулся. отличный материал. большое спасибо.

  10. Anonymous says:

    Для того чтобы Powershell умел работать с такими знаками вам нужно научиться экранировать символы.

    http://www.osp.ru/…/5560256

    http://www.osp.ru/…/13002795

  11. Nice says:

    Спасибо. Книга нужная. Благодарность всем кто над ней работал, как авторам, так и переводчикам.

  12. Игорь Лыгин says:

    Спасибо, благо что оба архива забрал. Названия с точьностью до наоборот 🙂

  13. Rus says:

    Вот спасибо!

    Именно то, что нужно! И как вовремя.

  14. Василий says:

    Спасибо) Качнул ее как только  узнал) Помогает)

  15. Akuling says:

    Хорошо написано. Всё-таки инет штука сильная..вот сидиш дома, пишеш в свой блог, а его читают сотни-тысячи людей..и всё это не выходя из дома…В интересное время живём. Удачи вам.

  16. Sashkam says:

    Полезный блог, добавил в букмарки. 😉

  17. Wall2 says:

    Спасибо за книгу! PowerShell супер!

  18. fat.hamster says:

    40 лет как космические корабли бороздят просторы вселенной и садятся на луну – а shell виндовый так и не умеет вставить скопированный текст в командную строку (Ctrl-V или Shift-Ins имеется в виду конечно, мышка не в счет)

    не идиотизм ли это?..

  19. fat.hamster says:

    я все-таки надеялся, что это я идиот, начал читать книгу..

    Чтобы получить первое впечатление, запустите одновременно Windows PowerShell и классическую командную строку CMD из меню Start. На первый взгляд обе командные оболочки выглядят очень похоже – за исключением разного цвета:

    Ничего неожиданного в этом нет, поскольку обе командные оболочки используют один и тот же механизм командной строки. К сожалению, это также означает, что Windows PowerShell страдает такой же плохой реализацией операций копирования/вставки, как и CMD. Поэтому будут небесполезны следующие советы:  

    •  Выберите нужный текст с помощью мыши

    •  Нажмите правую кнопку мыши (= копирование)  

    •  Поместите курсор в нужное место

    •  Нажмите правую кнопку мыши (= вставка)  

    Привыкайте к этим упражнениям с кнопками мыши, позднее вам придется часто их использовать.  

    ппц…

  20. Noname says:

    читаю книгу..

    "… В Windows PowerShell также включены псевдонимы многих известных команд. Это упростит вам знакомство и использование Windows PowerShell. Пример:

    Команды help (классический стиль Windows) и man (классический стиль Unix) …"

    "О! Класс!Надо попробовать!"Думаю я и набираю man man

    PS C:UsersAdministrator> man man

    Get-Help : Не удается найти справку для раздела "man".

    В строка:94 знак:26

    +                  get-help  <<<< $Name -Category $Category  | more.com

  21. Andrey says:

    Как виидите все работает. Есть подозрение, что у вас в системе что-то повреждено.

    У меня та же ошибка что и в предпоследнем комменте, ед. зацепка что у меня русский PS, а вы проверяли как я понял на английской версии.

  22. Илья says:

    Доброго дня!

    Подозреваю, что корни проблемы те же, но результат чутка позамысловатее:

    Первое же "практическое задание" –

    Get-Help * | Get-Help -Detailed > C:PowerShell-Help.txt

    В исходном варианте работает прекрасно.

    однако же, подмена ПЕРВОЙ в конвейере команды алиасом (help или man) порождает многоэкранный error-list, а подмена ВТОРОГО (только) – дает в результате не полную справку по командам PS, а практически полную копию результата команды Get-Help > c:PowerShell-Help4.txt

    для наглядности приведу строки с подменой:

    Help * | Get-Help -Detailed > c:PowerShell-Help2.txt

    Get-Help * | Help -Detailed > c:PowerShell-Help3.txt

    Сравнение проводилось на системе WinXP SP3 Eng с установленным, но не "активным" MUI.

  23. Илья says:

    Еще одна мелкая, но досадная недоработка (или непонятка): "автоматическое завершение ввода" по <Tab> срабатывает ДАЛЕКО не всегда.

    1. в части командлетов НЕ завершаются параметры (например, в Convertto-Html)

    2. При постановке команд в конвейер (|) так же, зачастую не срабатывает. Не предсказуемо :-/

  24. Black Diamond says:

    Спасибо! Действительно полезная и нужная книжка для сис админа.

  25. Paul says:

    Блин! С первой же моей задачей PowerShell не справился! Похоже, он не умеет работать с папками, содержащими символ [ (открывающая квадратная скобка). Я очень удивился, когда вместо папки e:test[a] скрипт стал обрабатывать файлы, начиная с корня C: ! Хорошо, что это было только тестирование. Интересно, на каких ещё папках/файлах PS сподкнётся?

  26. Paul says:

    А причём сдесь экранирование символов?

    Запускаю cmd. Текущая папка, скажем E:TempA

    Запускаю powershel -c dir *

    Вижу содержимое папки E:TempA

    Теперь делаю тоже самое из папки E:Temp[A]

    Вижу содержимое корня диска C:

    Какой символ в команде "powershel -c dir *" надо экранировать?

  27. Xaegr says:

    Paul, попробуйте так:

    dir -literalpath '.test[A]'

    Get-Help dir -Parameter literalpath

  28. Paul says:

    Xaegr

    "- Доктор, меня никто не слушает!"

    "- Что вы говорите?"

    Типа, анекдот 🙂

    Ещё раз.

    Допустим, есть папка C:Test

    Создаю коммандный файл test1.cmd

    @echo off

    cd /d c:test

    md aaa

    cd aaa

    echo. > file1.txt

    echo. > file2.txt

    echo ====================== CMD ===========================

    dir

    pause

    echo ====================== PS ============================

    powershell /c dir

    pause

    Запускаю. Получаю содержимое папки c:testaaa два раза

    Создаю коммандный файл test2.cmd

    @echo off

    cd /d c:test

    md [a]

    cd [a]

    echo. > file1.txt

    echo. > file2.txt

    echo ====================== CMD ===========================

    dir

    pause

    echo ====================== PS ============================

    powershell /c dir

    pause

    Запускаю. Первый вывод (тот что делаем dir из cmd) показывает содержимое папки c:test[a]. Т.е., пока всё нормально, папка создалась, файлы на месте. Но вот PS выводит содержимое корня диска C:

    Я бы с удовольствием заэкранировал какие-нибудь символы, но строка "powershell /c dir", НИКАКИХ специальных символов не содержит.

  29. Paul says:

    Вообще, похоже, беда с этими спецсимволами у PS. Вот две команды в скрипте на PS:

    md "[B]"

    cd "[B]"

    Первая выполняется нормально, никакого экранирования символов не требует. Вторая не работает. Конечно, работает такой вариант

    cd '`[B`]'

    Но тогда почему первой команде пофигу спецсимволы? Кроме того, эта команда противоречит тому, что написано в статье, ссылку на которую любезно предоставил abeshkov. А написано там следующее:

    "одинарные кавычки всегда представляют строку как литерал, тогда как двойные кавычки дают возможность экранировать специальные символы внутри текста".

    Получается же сточностью до наоборот. То ли статья не актуальна (версия PS уже давно не та), то ли автор ошибся, да и не читал ту статью никто, что ошибку не нашли (ибо теперь как и у меня, у других тоже появились сомнения в правильности тех статей).

  30. salt says:

    *nix – всё равно лучше 😉