Как установить ToString() по умолчанию для локально созданного PSObject?

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

new-object psobject -property @{ name = 'bob'; job = 'janitor' }

, который в настоящее время выводит это:

name  job
----  ---
bob   janitor

, вместо этого выводил это:

name  job
----  ---
bob   he is a janitor, he is

Т.е. прикрепите блок скрипта к ToString() объекта PSObject, который просто делает следующее:

{ 'he is a {0}, he is' -f $job }

Мне не нужно добавлять типс помощью C# для типа, не так ли? Надеюсь нет. Я делаю много локальных psobjects и хотел бы разбросать по ним to-strings, чтобы сделать их вывод более приятным, но если это много кода, это, вероятно, не будет стоить того.

8
задан scobi 28 March 2012 в 18:39
поделиться