Rule 1: Определен ли формат? После того, как оболочка определила имя типа того элемента, который требуется отобразить, первым делом она проверяет, определен ли формат просмотра для данного типа Форматы просмотра указаны в специальных конфигурационных XML-файлах Файлы, название которых имеет расширение.format.ps1xml, содержат определенный формат просмотра Для нахождения этих файлов используйте команду: Dir $pshome
Rule 2: Какие свойства должны отображаться? Ести формат не определен Чтобы принять решение, оболочка проверяет, зарегистрирован ли тип расширения DefaultDisplayPropertySet для того имени, которое необходимо отобразить. Типы расширений хранятся в XML-файлах, так же, как и форматы просмотра Лежат там же: Не модифицируйте файлы форматов – они подписаны, создавайте свои Dir $pshome
Rule 3: Table или List? сколько свойств элемента необходимо показать – либо те, что определены в DefaultDisplayPropertySet, либо все. Если оболочке требуется отобразить не более четырех свойств, используется таблица. Если пять и более – используется список. Это правило гарантирует, что таблица поместится в стандартное окно консоли стандартного размера. После того, как оболочка определила, какую форму (таблицу или список) следует использовать, она начинает создавать эту форму. Для этого происходит внутреннее обращение к командлету Format-List или Format-Table, куда и передаются элементы, которые необходимо отформатировать и показать.
Out-Default. В конце каждого командного конвейера находится командлет Out-Default. Он всегда находится там, даже если вы не указали его в командной строке. Его работа заключается в том, чтобы принять окончательные выходные данные из конвейера и передать их командлету Out-Host, который отвечает за вывод информации на экран. Если вы наберете команды, то получите одинаковые результаты Вы не должны вызывать Out-Default. Однако Вы мажете вызвать другие командлеты для перенаправления вывода. Get-Process Get-Process | Out-Default Get-Process | Out-Host Get-Process Get-Process | Out-Default Get-Process | Out-Host
Различные форматы Get-Process | Format-List –view diagnostics Format-List : View name diagnostics cannot be found. Get-Process | Ft –view priority Все ОК Get-Process | Fl –view priority Format-List : View name priority cannot be found.
Дополнительные данные Для того чтобы добавить пользовательские свойства к объекту, используется команда Select-Object. Например, чтобы добавить атрибут ComputerName к элементу Computer, у которого уже есть атрибут Name, можно запустить команду: если вы хотите просто добавить свои собственные колонки в таблицу, вместо того, чтобы придавать новые свойства объекту, вы можете запустить команду: Get-ADComputer –filter * | Ft xpression={$_.Name}} Get-ADComputer –filter * | Select Get-ADComputer –filter * | Select
Создание HTML Иногда хочется смотреть данные в браузере Командлет ConvertTo-HTML Преобразует данные в HTML таблицу Не пишет данные в файл, а выкидывает на стандартный вывод Можнг передать конвейером в Out-File для создания файла, который можно будет просмотреть браузером Параметры ConvertTo-HTML позволяют изменить заголовки и прицепить CSS Get-EventLog Security –newest 20 | ConvertTo-HTML | Out-File events.htm