Использование конвейера PowerShell
Этот совет был предоставлен в нашем информационном бюллетене WServerNews Эшли Макглоун, ведущим специалистом по эксплуатации в Microsoft.
Знаете ли вы, что PowerShell общедоступен и используется уже около семи лет? Звучит уже не так «по-новому», не так ли? Если вы все еще ждете изучения PowerShell, вам следует начать немедленно. Это ключевой набор навыков, который должен знать каждый ИТ-специалист. Это станет для вас карьерным отличием.
Изучая PowerShell, вы обнаружите, что «конвейер» — одна из его самых мощных функций. Вы можете объединить несколько команд в однострочный шедевр (это может занять более 50 строк VBScript). Конвейеры используют символ вертикальной черты ( | ) для отправки выходных данных команды слева в качестве входных данных для команды справа. Вы можете подключить столько командлетов, сколько захотите, вплотную друг к другу. Вот пример:
PS C:> Get-GPO -All | Where-Object {$_.ModificationTime -gt (Get-Date).AddDays(-30)} | Backup-GPO -Путь C:GPOBackups
Давайте разберем это:
- Получить список всех объектов групповой политики [PIPE]
- Отфильтровать те, которые были изменены за последние 30 дней [PIPE]
- Резервное копирование отфильтрованных объектов групповой политики в списке
Здесь важно помнить, что нужно структурировать команды в правильном порядке. Для этого я рекомендую поговорку старой школы информатики 101: Ввод | процесс | Выход. Начните с вашего вклада. Направьте к одному или нескольким командлетам обработки. Затем отправьте вывод в файл, на экран и т. д. НИКОГДА не помещайте команду Format-* в середину конвейера. Это как пересечь потоки. Это испортит всю строку. Разработчики PowerShell используют девиз «Фильтровать слева, форматировать справа».
Вот несколько примеров командлетов по этим трем категориям:
- Ввод — Получить-*, Импорт-*
- Процесс – Группировать-Объект, Где-Объект, Сортировать-Объект, Выбрать-Объект
- Вывод — Set-*, Export-*, Out-*, Format-*, Write-*, ConvertTo-*
Помните об этой концепции при создании однострочников PowerShell: Input | процесс | Выход. Это облегчит вам жизнь, и вы быстро станете рок-звездой PowerShell Pipeline. Наслаждаться!
Для получения дополнительной помощи по этой теме откройте консоль PowerShell и введите: «Справка about_Pipelines».
http://www.wservernews.com/subscribe.htm
http://www.mtit.com