Основные сведения о конвейере Windows PowerShell — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Основные сведения о конвейере Windows PowerShell

2022-10-28 23
Основные сведения о конвейере Windows PowerShell 0.00 из 5.00 0 оценок
Заказать работу

Конвейеризация работает фактически везде в оболочке Windows PowerShell. Хотя на экране виден текст, Windows PowerShell не пропускает текст конвейером между командами. На самом деле оболочка пропускает по конвейеру объекты.

Форма записи конвейеров сходна с формой, используемой в других оболочках, так что на первый взгляд не очевидно, что тут Windows PowerShell вводит что-то новое. Например, при использовании командлета Out-Host для постраничного отображения вывода другой команды вывод выглядит как обычный текст, отображаемый на экране и разбитый на страницы:

PS> Get-ChildItem -Path C:\WINDOWS\System32 | Out-Host -Paging Directory: Microsoft.Windows PowerShell.Core\FileSystem::C:\WINDOWS\system32   Mode           LastWriteTime Length Name ----           ------------- ------ ---- -a---   2005-10-22 11:04 PM   315 $winnt$.inf -a---   2004-08-04 8:00 AM 68608 access.cpl -a---   2004-08-04 8:00 AM 64512 acctres.dll -a---   2004-08-04 8:00 AM 183808 accwiz.exe -a---   2004-08-04 8:00 AM 61952 acelpdec.ax -a---   2004-08-04 8:00 AM 129536 acledit.dll -a---   2004-08-04 8:00 AM 114688 aclui.dll -a---   2004-08-04 8:00 AM 194048 activeds.dll -a---   2004-08-04 8:00 AM 111104 activeds.tlb -a---   2004-08-04 8:00 AM  4096 actmovie.exe -a---   2004-08-04 8:00 AM 101888 actxprxy.dll -a---   2003-02-21 6:50 PM 143150 admgmt.msc -a---   2006-01-25 3:35 PM 53760 admparse.dll <SPACE> next page; <CR> next line; Q quit ...

 

Команда Out-Host -Paging является полезным элементом конвейера там, где необходимо медленно отобразить большой объем данных. Она особенно полезна при очень большой загрузке ЦП. Так как обработка передается командлету Out-Host, когда в нем имеется полная, готовая к отображению страница, командлеты, стоящие в конвейере ранее, останавливают свою работу, пока не будет подготовлена следующая страница вывода. Это можно наблюдать при использовании диспетчера задач Windows для контроля использования ЦП и памяти оболочкой Windows PowerShell.

Выполните следующую команду: Get-ChildItem C:\Windows -Recurse. Сравните использование ЦП и памяти с аналогичными показателями следующей команды: Get-ChildItem C:\Windows -Recurse | Out-Host -Paging. На экране виден текст, но этот текст виден потому, что в окне консоли объекты необходимо представить в виде текста. Это является представлением того, что действительно происходит в оболочке Windows PowerShell. Например, рассмотрим командлет Get-Location. Если Get-Location будет введено, если текущим положением является корень диска С, можно будет видеть следующие данные:

PS> Get-Location   Path ---- C:\

 

Если оболочка Windows PowerShell пропускает по конвейеру текст, выполняя такую команду как Get-Location | Out-Host, из Get-Location в Out-Host будет передан набор знаков, в порядке, в котором они отображаются на экране. Другими словами, если пропустить данные заголовка, Out-Host вначале получит знак «С», затем знак «:», а затем знак «\». Командлет Out-Host не может определить, какой смысл связан с выходными знаками, выводимыми командлетом Get-Location.

Вместо использования текста для связи команд в конвейере Windows PowerShell использует объекты. С точки зрения пользователя, объекты упаковывают связанную информацию в форму, в которой информацией можно легче манипулировать как единым блоком, и они при необходимости извлекают оттуда определенные элементы.

Команда Get-Location не возвращает текст, содержащий текущий путь. Она возвращает пакет информации, называемый объектом PathInfo, содержащий текущий путь вместе с некоторой другой информацией. Затем командлет Out-Host пересылает этот объект PathInfo на экран, и оболочка Windows PowerShell решает, какую информацию следует отобразазить, и как ее надо отобразить на основании ее правил форматирования.

Фактически вывод информации заголовка командлета Get-Location добавляется только в конце процесса, как часть процесса форматирования данных, выводимых на экран. На экране видна сводные данные, а не полное представление выходного объекта.

Если выводом команды Windows PowerShell является большее количество информации, чем может быть отражено в окне консоли, каким образом можно извлечь невидимые элементы? Каким образом можно видеть дополнительные данные? И что делать в случае, если необходимо просмотреть данные в формате, отличном от формата, обычно используемого в оболочке Windows PowerShell?

В оставшейся части этой главы рассматривается, каким образом можно исследовать структуру определенных объектов Windows PowerShell, выбирая определенные элементы и форматируя их для более удобного отображения, и как послать эту информацию в альтернативные места вывода, такие как файлы и принтеры.


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.006 с.