Рассматривается новая объектно-ориентированная оболочка командной строки Microsoft Windows PowerShell и ее возможности для автоматизации повседневных задач администрирования. Описываются основные элементы и конструкции языка PowerShell. Приводятся примеры использования объектов .NET, WMI, ADSI и COM. Обсуждаются вопросы совместного использования PowerShell, командных файлов интерпретатора cmd.exe и сценариев Windows Script Host. Даются примеры решения с помощью PowerShell задач администратора Windows.
Для администраторов, программистов и опытных пользователей Windows.
Author(s): Попов А
Series: Системный администратор [14]
Publisher: БХВ-Петербург
Year: 2009
Language: Russian
Pages: 462
City: Петербург
Введение 1
Что это за книга и для кого она предназначена 2
Структура книги 3
Принятые в книге соглашения 5
Часть I. Изучаем PowerShell 7
Глава 1. Windows PowerShell — результат развития технологий автоматизации 9
Предшественники PowerShell в мире Windows 9
Оболочка командной строки command.com/cmd.exe 12
Сервер сценариев Windows Script Host (WSH) 14
Оболочка WMI Command-line (WMIC) 17
Причины и цели создания оболочки PowerShell 18
Отличие PowerShell от других оболочек — ориентация на объекты 22
Глава 2. Первые шаги в PowerShell. Основные понятия 25
Загрузка и установка PowerShell 25
Запуск оболочки 26
Работают ли знакомые команды? 26
Вычисление выражений 28
Типы команд PowerShell 29
Командлеты 30
Функции 35
Сценарии 36
Внешние исполняемые файлы 36
Псевдонимы команд 36
Диски PowerShell 40
Провайдеры PowerShell 41
Навигация по дискам PowerShell 43
Просмотр содержимого дисков и каталогов 44
Создание дисков 46
Глава 3. Приемы работы в оболочке 48
Редактирование в командном окне PowerShell 48
Автоматическое завершение команд 50
Справочная система PowerShell 52
Получение справки о командлетах 53
Справочная информация, не связанная с командлетами 55
История команд в сеансе работы 58
Протоколирование действий в сеансе работы 62
Глава 4. Настройка оболочки 65
Настройка ярлыка PowerShell 65
Программное изменение свойств консоли PowerShell 67
Цвета текста и фона 68
Заголовок командного окна 68
Размеры командного окна 69
Приглашение командной строки 70
Настройка пользовательских профилей 72
Политики выполнения сценариев 75
Глава 5. Работа с объектами 78
Конвейеризация объектов в PowerShell 78
Просмотр структуры объектов (командлет Get-Member) 80
Фильтрация объектов (командлет Where-Object) 82
Сортировка объектов (командлет Sort-Object) 85
Выделение объектов и свойств (командлет Select-Object) 87
Выполнение произвольных действий над объектами в конвейере
(командлет ForEach-Object) 90
Группировка объектов (командлет Group-Object) 91
Измерение характеристик объектов (командлет Measure-Object) 92
Вызов статических методов 93
Управление выводом команд в PowerShell 95
Форматирование выводимой информации 96
Перенаправление выводимой информации 99
Глава 6. Переменные, массивы и хэш-таблицы 102
Числовые и символьные литералы 102
Числовые литералы 102
Символьные строки 103
Переменные PowerShell 107
Переменные оболочки PowerShell 108
Пользовательские переменные. Типы переменных 111
Переменные среды Windows 115
Массивы в PowerShell 117
Обращение к элементам массива 117
Операции с массивом 118
Хэш-таблицы (ассоциативные массивы) 121
Операции с хэш-таблицей 124
Глава 7. Операторы и управляющие инструкции 126
Арифметические операторы 126
Оператор сложения 127
Оператор умножения 129
Операторы вычитания, деления и остатка от деления 130
Операторы присваивания 131
Операторы сравнения 133
Операторы проверки на соответствие шаблону 135
Логические операторы 138
Управляющие инструкции языка PowerShell 139
Инструкция If … ElseIf … Else 139
Цикл While 140
Цикл Do … While 141
Цикл For 141
Цикл ForEach 142
Метки циклов, инструкции Break и Continue 145
Инструкция Switch 146
Глава 8. Функции, фильтры и сценарии 152
Функции в PowerShell 152
Обработка аргументов функций с помощью переменной $Args 153
Формальные параметры функций 155
Возвращаемые значения 160
Функции внутри конвейера команд 162
Фильтры в PowerShell 163
Функции в качестве командлетов 164
Сценарии PowerShell 166
Создание и запуск сценариев PowerShell 167
Передача аргументов в сценарии 169
Выход из сценариев 170
Оформление сценариев. Комментарии 171
Глава 9. Обработка ошибок и отладка 175
Обработка ошибок 175
Объект ErrorRecord и поток ошибок 176
Сохранение объектов, соответствующих ошибкам 179
Мониторинг возникновения ошибок 182
Режимы обработок ошибок 183
Обработка "критических" ошибок (исключений) 185
Отладка сценариев 187
Вывод диагностических сообщений 187
Командлет Set-PSDebug 188
Трассировка выполнения команд 189
Пошаговое выполнение команд 191
Вложенная командная строка и точки прерывания 191
Часть II. Используем PowerShell 195
Глава 10. Доступ из PowerShell к внешним объектам (COM, WMI, .NET и ADSI) 197
Работа с COM-объектами 197
Внешние серверы автоматизации на примере Microsoft Office 202
Доступ к объектам WMI 208
Подключение к подсистеме WMI. Получение списка классов 209
Получение объектов WMI 211
Выполнение WQL-запросов 214
Использование объектов .NET 215
Доступ к службе каталогов ADSI 218
Глава 11. Работа с файловой системой 222
Навигация в файловой системе 222
Получение списка файлов и каталогов 223
Определение размера каталогов 227
Создание файлов и каталогов 228
Чтение и просмотр содержимого файлов 229
Запись файлов 230
Копирование файлов и каталогов 232
Переименование и перемещение файлов и каталогов 235
Удаление файлов и каталогов 236
Поиск текста в файлах 237
Замена текста в файлах 241
Глава 12. Управление процессами и службами 243
Управление процессами 243
Просмотр списка процессов 245
Определение библиотек, используемых процессом 250
Остановка процессов 252
Запуск процессов, изменение приоритетов выполнения 253
Завершение неотвечающих процессов 255
Управление службами 255
Просмотр списка служб 256
Остановка и приостановка служб 258
Запуск и перезапуск служб 259
Изменение параметров службы 259
Глава 13. Работа с системным реестром 261
Структура реестра 261
Просмотр локального реестра 263
Просмотр удаленного реестра 265
Модификация реестра 268
Создание нового раздела 269
Копирование разделов 269
Переименование раздела 270
Удаление раздела 270
Создание параметра 270
Изменение значения параметра 271
Переименование параметра 272
Копирование параметров 272
Очистка значения параметра 273
Удаление параметра 273
Глава 14. Работа с журналами событий 275
Инструменты для обработки журналов событий 277
Список журналов событий на локальном компьютере 279
Список журналов событий на удаленном компьютере 281
Просмотр событий из локального журнала 282
Вывод событий определенного типа 285
Отбор событий по идентификатору 286
Отбор событий по датам 287
Группировка событий по источнику возникновения 288
Просмотр событий из удаленного журнала 289
Настройка журналов событий 292
Установка максимального размера журналов 292
Установка режима хранения журналов 292
Очистка журнала 293
Глава 15. Управление рабочими станциями. Получение и анализ системной информации 295
Завершение сеанса пользователя 295
Перезагрузка и выключение компьютера 297
Получение информации о BIOS 298
Вывод списка команд, выполняемых при загрузке системы 299
Вывод свойств операционной системы 301
Вывод списка установленных программных продуктов 303
Вывод списка установленных обновлений операционной системы 306
Глава 16. Инвентаризация оборудования 309
Получение информации о физической памяти 309
Преобразование отчета в формат HTML 311
Получение информации о процессорах 313
Получение списка устройств Plug-and-Play 316
Получение информации о звуковой карте 319
Получение информации о видеокарте 320
Получение информации о сетевых адаптерах 323
Глава 17. Настройка сетевых параметров. Работа с электронной почтой 325
Получение и настройка сетевых параметров 325
Получение списка IP-адресов компьютера 326
Вывод параметров протокола TCP/IP 327
Настройка DHCP 332
Отправка сообщений по электронной почте 338
Глава 18. PowerShell, сmd.exe и VBScript: совместное использование 341
Сравнение языков PowerShell и cmd.exe 342
Различия в синтаксисе команд 342
Работа с переменными 344
Использование циклов 346
Вывод текста и запуск программ 347
Запуск команд cmd.exe из PowerShell 347
Сравнение языков PowerShell и VBScript 349
Обращение к функциям, командам и методам 349
Работа с переменными, массивами и объектами 351
Использование символьных строк 351
Прочие замечания по синтаксису 352
Аналоги PowerShell для функций VBScript 353
Математические функции 353
Символьные функции 355
Функции для работы с датами и временем 361
Использование из PowerShell кода VBScript 368
Использование из PowerShell кода JScript 370
Заключение 371
П Р И Л О Ж Е Н И Я 373
Приложение 1. Объектная модель WMI 375
Общая структура WMI 376
Ядро WMI 377
Провайдеры WMI 378
Менеджер объектов CIM 379
Репозиторий CIM. Пространства имен 381
Путь к классам и объектам CIM 384
Безопасность при работе с WMI 385
Структура классов WMI 389
Основные типы классов CIM 389
Свойства классов WMI 391
Методы классов WMI 397
Квалификаторы классов, свойств и методов 399
Интерактивная работа с объектами WMI 403
Тестер WMI (WBEMTest) 403
Административные утилиты WMI (WMI Tools) 404
Приложение 2. Полезные COM-объекты и примеры их использования 411
Управление проводником Windows с помощью объекта Shell.Application 411
Отображение специальных окон Проводника 413
Вызов элементов панели управления 418
Управление открытыми окнами 420
Использование объектов Windows Script Host 423
Работа с ресурсами локальной сети (объект WScript.Network) 423
Вывод информационного окна (объект WScript.Shell) 428
Переключение между приложениями, имитация нажатий клавиш (объект WScript.Shell) 430
Доступ к специальным папкам Windows (объект WScript.Shell) 436
Удаление некорректных ярлыков (объект WScript.Shell) 438
Ссылки на ресурсы Интернета 441
Сайты компании Microsoft 441
Другие сайты 441
Группы новостей 442
Блоги 442
Список литературы 443
Предметный указатель 445