yms: (Default)
Michael Yutsis ([personal profile] yms) wrote2004-08-11 02:44 pm

еще о msh

Символы перенаправления вывода | и > теперь передают не текст, а объекты. Вывод любого коммандлета можно отфильтровать через форматтеры, конвертеры и сортировщики, выдающие объект в нужном виде полностью или частично:

dir | convert-path
get-service | convert-xml
get-process | sort id | format-table processname:20,id:6,workingset:12

По умолчанию, если вывод идет на консоль или в файл, действует конвертер convert-string. (Файл, кстати, выдается в юникоде, в нем же и консоль работает.)
Проперти может, в свою очередь, быть контейнером и тоже форматироваться по-разному.

Дефолтовое форматирование некоторых объектов задано в конфигурационном файле display.xml.

Команды типа dir возвращают массив объектов, который можно индексировать, поэтому можно сказать прямо в комстроке (dir)[5] и получить одну строчку листинга каталога, а можно сказать

dir[5].ToString().ToUpper()
или
foreach ($a in dir) {$a.ToString().ToUpper()}

с очевидным результатом.

update:
Возможностей выводить конечный результат (не предназначенный для преобразования) — море. Фильтр out-grid выводит результат команды прямо в гуевую таблицу, есть выводители в html, Excel, e-mail и т.д.


Еще примеры работы в командной строке и ее возможностей — здесь.

[identity profile] homebrewer.livejournal.com 2004-08-14 06:40 am (UTC)(link)
А реально где-нибудь скачать MSH без регистрации в бэтатестеры MS'а?

[identity profile] yms.livejournal.com 2004-08-14 10:21 am (UTC)(link)
Осликом разве что...

[identity profile] yms.livejournal.com 2004-08-18 03:46 am (UTC)(link)
а тут вроде в BitTorrent выложили, но я им не пользуюсь.