Символы перенаправления вывода | и > теперь передают не текст, а объекты. Вывод любого коммандлета можно отфильтровать через форматтеры, конвертеры и сортировщики, выдающие объект в нужном виде полностью или частично:
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 и т.д.
Еще примеры работы в командной строке и ее возможностей — здесь.
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 и т.д.
Еще примеры работы в командной строке и ее возможностей — здесь.