Сводка

Завершено

В этом модуле вы узнали, как интерфейс командной строки Windows PowerShell передает объекты из одной команды в другую в конвейере. Приведем основные выводы:

  • При подключении двух команд в конвейере привязка параметра конвейера принимает выходные данные первой команды и самостоятельно определяет, что с ним делать. Процесс выберет один из параметров второй команды для получения этих выходных данных. Windows PowerShell предлагает два метода, используемые для принятия этого решения. Первый метод — тот, который Windows PowerShell всегда пытается использовать первым — называется ByValue. Второй метод, ByPropertyName, используется только в случае сбоя ByValue.
  • В полном разделе помощи по команде вы можете увидеть возможности ввода через конвейер для каждого параметра и список техник, поддерживаемых этим параметром.
  • При передаче данных с помощью ByValue параметр может принимать полные объекты из конвейера, если эти объекты имеют тип, принимаемый параметром. В одной команде может быть несколько параметров, принимающих входные данные конвейера ByValue, но каждый параметр должен принимать свой тип объекта.
  • Если Windows PowerShell не может привязать входные данные конвейера с помощью метода ByValue, он пытается использовать метод ByPropertyName. Если Windows PowerShell использует метод ByPropertyName, он пытается сопоставить свойство объекта, переданное параметру команды, которой был передан объект.
  • Как и в случае с параметрами ByValue, вы можете просмотреть параметры, принимающие входные данные конвейера, используя метод ByPropertyName и изучив полную справку по команде.
  • Каждый раз, когда вы вручную вводите параметр для команды, вы переопределяете любые входные данные конвейера, которые мог бы принять этот параметр. Вы не вынуждаете Windows PowerShell выбрать другой параметр для привязки параметров конвейера.
  • Еще одним вариантом передачи результатов одной команды в параметры другой является использование команд, заключенные в круглые скобки. Круглые скобки сообщают Windows PowerShell, что заключенную в скобки команду следует выполнить в первую очередь. Команда со скобками выполняется, и на ее место вставляются ее результаты.
  • Параметр –ExpandProperty принимает только одно имя свойства. При использовании этого параметра в Select-Object выводится только содержимое указанного свойства. Некоторые пользователи называют эту возможность извлечением содержимого свойств. Официальное описание функции представляет собой развертывание содержимого свойств.