Я разрабатываю командлет Powershell с использованием C #, и мне было интересно, есть ли способ управления форматированием объектов, которые я пишу в Powershell, в самом командлете.По сути, у меня есть объекты со слишком большим количеством свойств, чтобы их можно было легко отобразить на экране, и мой командлет отправляет их в Powershell с WriteObject()
. Я бы хотел, чтобы пользователи моих командлетов могли их запускать и, вв консоли Powershell считайте возвращенные данные, как если бы они делали это, используя командную строку.К сожалению, количество свойств, которые Powershell пытается поместить в столбцы, означает, что большинство из них усечены, и когда я добавляю больше, оно присваивает каждому свойству собственную строку, что хуже.
Я видел вещи, которые позволяют пользователюформатировать данные соответствующим образом, но ничего, что позволяет разработчику установить значение по умолчанию.По сути, мне нужно что-то вроде атрибута, который я могу применить к каждому свойству объектов, перекачиваемых в Powershell, который сообщает Powershell, отображать ли каждое свойство или нет (при условии, что пользователь не установил другие параметры форматирования).
(Я тоже пытался сделать их открытыми полями вместо свойств, и Powershell все еще показывает их)