Изменить формат в командной строке с помощью powershell: Как изменить размер, цвет и форму курсора в командной строке или PowerShell
Содержание
Как изменить размер, цвет и форму курсора в командной строке или PowerShell
Главная » Как сделать
Автор Кирилл Соколов На чтение 3 мин. Просмотров 201 Опубликовано
Спустя долгое время Microsoft, наконец, сосредоточилась на консоли Windows. то есть командную строку и PowerShell, а также добавление новых параметров настройки. Недавно Microsoft добавила замечательную функцию, которая позволяет увеличивать и уменьшать масштаб в командной строке и PowerShell. Теперь появилось еще несколько новых параметров настройки, которые позволяют изменять размер, цвет и форму курсора в командной строке и PowerShell.
Когда вы объединяете эти новые параметры настройки с существующим фоном и параметры цвета шрифта, вы можете создать интересную на вид командную строку и PowerShell Windows.
Если вы регулярно используете командную строку, то эти параметры настройки помогут вам сделать окно консоли своим собственным с точки зрения внешнего вида. и чувствую. Итак, без лишних слов, позвольте мне показать вам, как изменить командную строку или размер курсора PowerShell, цвет курсора и форму курсора в Windows 10 .
Перед началом работы все эти параметры настройки доступны только в новейших сборках. Итак, убедитесь, что вы используете Windows 10 build 18323 или более поздней версии или Windows 10 версии 1903.
Примечание. Я показываю для командной строки, но те же шаги применимы к PowerShell
Содержание
- Изменить размер командной строки или PowerShell Cusor
- Изменить цвет командной строки или PowerShell Cusor
- Изменить командную строку или форму клика PowerShell
Изменить размер командной строки или PowerShell Cusor
- Найдите командную строку или PowerShell в меню «Пуск» и откройте его.
- Щелкните правой кнопкой мыши строку заголовка и выберите « Свойства ».
- Перейдите к « Параметры ».
- В разделе« Размер курсора »выберите нужный размер.
- Нажмите кнопку « Ok », чтобы сохранить изменения.
Вот и все. Вы успешно изменили командную строку или размер курсора PowerShell.
Изменить цвет командной строки или PowerShell Cusor
- Найдите командную строку или PowerShell в меню «Пуск» и откройте его.
- Щелкните правой кнопкой мыши строку заголовка и выберите « Свойства ».
- Перейдите в Вкладка « Терминал ».
- В разделе « Цвета курсора » выберите « Использовать цвет ».
- Введите значения RGB выбранного вами цвета. Чтобы получить значения RGB вашего любимого цвета, используйте этот веб-инструмент.
- Нажмите кнопку « Ok », чтобы сохранить изменения.
Вот и все. Вы изменили цвет курсора в командной строке или PowerShell.
Изменить командную строку или форму клика PowerShell
- Найдите командную строку или PowerShell в меню «Пуск» и откройте его.
- Щелкните правой кнопкой мыши строку заголовка и выберите « Свойства ».
- Перейти к вкладка « Терминал ».
- В разделе « Форма курсора » выберите нужный стиль курсора. Текущие стили:
- Использовать устаревший стиль
- Подчеркивание
- Вертикальная полоса
- Пустое поле
- Сплошной прямоугольник
- Нажмите кнопку « Ok », чтобы сохранить изменения.
Вот и все. Как только вы нажмете кнопку «ОК», изменения вступят в силу мгновенно, и вы увидите новую форму курсора в командной строке или в окне PowerShell.
Если вы хотите использовать команду командной строки или PowerShell, чтобы выполнить свою работу, вот некоторые вещи, которые вы можете сделать с помощью командной строки или PowerShell.
- Как отформатировать USB-накопитель с помощью командной строки
- Откройте приложение “Настройки” из командной строки или PowerShell.
- Как удалить файлы с помощью командной строки
- Просмотрите полные сведения об учетной записи пользователя с помощью командной строки или PowerShell
Все, что вы хотели знать о подстановке переменных в строках — PowerShell
-
Статья -
- Чтение занимает 7 мин
-
Переменные в строках можно использовать множеством способов. Я называю это подстановкой переменных, но подразумеваю все ситуации, когда необходимо отформатировать строку с учетом значений переменных. Мне часто приходится объяснять этот момент новичкам, изучающим создание скриптов.
Примечание
Оригинал этой статьи впервые был опубликован в блоге автора @KevinMarquette. Группа разработчиков PowerShell благодарит Кевина за то, что он поделился с нами этими материалами. Читайте его блог — PowerShellExplained.com.
Объединение
Первый класс методов можно называть объединением. По сути, они принимают несколько строк и объединяют их друг с другом. Объединение уже довольно давно используется для создания форматированных строк.
$name = 'Kevin Marquette' $message = 'Hello, ' + $name
Объединение отлично подходит для ситуаций, когда необходимо добавить всего несколько значений. Однако зачастую применять его довольно сложно.
$first = 'Kevin' $last = 'Marquette'
$message = 'Hello, ' + $first + ' ' + $last + '.'
Этот простой пример читать уже труднее.
Подстановка переменных
В PowerShell есть более простой вариант. Переменные можно задавать непосредственно в строках.
$message = "Hello, $first $last."
Многое зависит от типа кавычек, в которые заключена строка. Строка, заключенная в двойные кавычки, допускает подстановку, а строка с одинарными кавычками — нет. Вы можете выбрать подходящий вариант в зависимости от ситуации.
Подстановка команд
Если вы пытаетесь получить значения свойств в строку, ситуация немного усложняется. Многие новички испытывают с этим проблемы. Позвольте мне сначала показать, что, по их мнению, должно сработать (по идее, все выглядит логично).
$directory = Get-Item 'c:\windows' $message = "Time: $directory.CreationTime"
Казалось бы, вы должны получить CreationTime
из $directory
, но вместо этого вы получаете в качестве значения Time: c:\windows.CreationTime
. Причина в том, что подстановка такого типа распознает только базовую переменную. Она интерпретирует точку как часть строки, поэтому не сопоставляет значение на более глубоких уровнях.
Выходит так, что при помещении в строку этот объект предоставляет строку в качестве значения по умолчанию.
Некоторые объекты вместо этого предоставляют имя типа, например System.Collections.Hashtable
. Это то, на что нужно обратить внимание.
PowerShell позволяет выполнять команды внутри строки с помощью специального синтаксиса. Это позволяет получить свойства этих объектов и выполнить любую другую команду для получения значения.
$message = "Time: $($directory.CreationTime)"
Этот подход отлично подходит для определенных ситуаций, но в некоторых случаях может оказаться таким же неудобным, как объединение при наличии нескольких переменных.
Выполнение команды
Команды можно выполнять внутри строки. Хотя так можно делать, мне это не нравится. Код быстро становится перегруженным, и его трудно отлаживать. Я либо использую команду и сохраняю ее результат в переменную, либо использую строку форматирования.
$message = "Date: $(Get-Date)"
Строка форматирования
.NET позволяет отформатировать строки, с которыми довольно легко работать. Сначала позвольте продемонстрировать статический метод, после чего я покажу, как сделать то же самое с помощью ярлыка PowerShell.
# .NET string format string [string]::Format('Hello, {0} {1}.',$first,$last) # PowerShell format string 'Hello, {0} {1}.' -f $first, $last
В этом случае строка анализируется на наличие токенов {0}
и {1}
, а затем этот номер используется для выбора среди предоставленных значений. Если вы хотите повторить одно значение в строке, можно повторно использовать его номер.
При таком подходе чем сложнее строка, тем больше значений будет получено.
Форматирование значений в виде массивов
Если строка форматирования слишком длинная, можно сначала поместить значения в массив.
$values = @( "Kevin" "Marquette" ) 'Hello, {0} {1}.' -f $values
Это не сплаттинг, поскольку я передаю весь массив, но идея аналогична.
Расширенное форматирование
Я намеренно использовал для вызова .NET, так как для этой платформы уже хорошо задокументировано множество вариантов форматирования. Для различных типов данных предусмотрены встроенные возможности форматирования.
"{0:yyyyMMdd}" -f (Get-Date) "Population {0:N0}" -f 8175133
20211110 Population 8,175,133
Рассматривать я их не буду, лишь упомяну, что это очень эффективный механизм форматирования, который вы можете использовать при необходимости.
Объединение строк
Иногда требуется сцепить список значений вместе. Это можно сделать с помощью оператора -join
. Он даже позволяет указать символ для объединения строк.
$servers = @( 'server1' 'server2' 'server3' ) $servers -join ','
Если с помощью -join
необходимо объединить несколько строк без разделителя, необходимо указать пустую строку ''
.
Но если нужно сделать только это, существует более быстрый вариант.
[string]::Concat('server1','server2','server3') [string]::Concat($servers)
Также стоит отметить, что с помощью оператора -split
строки можно разделить.
Join-Path
Этот командлет часто бывает неудобен, но он отлично подходит для создания пути к файлу.
$folder = 'Temp' Join-Path -Path 'c:\windows' -ChildPath $folder
Самое замечательное в нем то, что он правильно обрабатывает обратные косые черты, когда собирает значение воедино. Это особенно важно, если вы принимаете значения от пользователей или файлов конфигурации.
Он также прекрасно работает с Split-Path
и Test-Path
. Я также рассказываю о нем в публикации о чтении и сохранении в файлы.
Строки как массивы
Прежде чем продолжить, я должен упомянуть о добавлении строк. Помните, что строка представляет собой обычный массив символов. При добавлении нескольких строк в одну каждый раз создается новый массив.
Взгляните на этот пример.
$message = "Numbers: " foreach($number in 1..10000) { $message += " $number" }
Он выглядит очень простым, но на самом деле при каждом добавлении строки в $message
создается полностью новая строка. Для этого выделяется память, в нее копируются данные, а старая строка удаляется.
Ничего особенного, если такая операция выполняется лишь несколько раз, но в случае цикла, подобного этому, это может быть проблемой.
StringBuilder
Класс StringBuilder также очень часто используется для создания больших строк из множества строк меньшего размера. Его популярность связана с тем, что он просто собирает все добавленные в него строки, а затем сцепляет их в конце при извлечении значения.
$stringBuilder = New-Object -TypeName "System.Text.StringBuilder" [void]$stringBuilder.Append("Numbers: ") foreach($number in 1..10000) { [void]$stringBuilder.Append(" $number") } $message = $stringBuilder.ToString()
Опять же, именно поэтому я использую . NET. Пользуюсь я им нечасто, но знать о его существовании будет не лишним.
Разграничение с помощью фигурных скобок
Этот метод используется для объединения суффикса с другими данными в строке. Иногда у переменной отсутствует четкая граница слова.
$test = "Bet" $tester = "Better" Write-Host "$test $tester ${test}ter"
Благодарю /u/real_parbold за эту идею.
Вот альтернатива данному подходу.
Write-Host "$test $tester $($test)ter" Write-Host "{0} {1} {0}ter" -f $test, $tester
Лично я использую для этого строку форматирования, но знать о такой возможности будет не лишним на тот случай, если вам она где-то встретится.
Токены для поиска и замены
Хотя большая часть этих функций призвана снизить потребность в развертывании собственного решения, их можно применять и в тех случаях, когда необходимо заменить строки в больших файлах шаблонов.
Предположим, что вы извлекли шаблон из файла, который содержит большой объем текста.
$letter = Get-Content -Path TemplateLetter.txt -RAW $letter = $letter -replace '#FULL_NAME#', 'Kevin Marquette'
У вас может быть много токенов для замены. Хитрость заключается в том, чтобы использовать особый токен, который легко найти и заменить. Я обычно использую специальный символ на обоих концах, чтобы его было проще отличить.
Недавно я обнаружил новый подход для решения этой задачи. Так как это довольно распространенная схема, я не стану вдаваться в дальнейшие подробности в этом разделе.
Замена нескольких токенов
Если у меня есть список токенов, которые нужно заменить, я использую более универсальный подход. Я помещаю их в хэш-таблицу и перебираю их методом итерации, чтобы выполнить замену.
$tokenList = @{ Full_Name = 'Kevin Marquette' Location = 'Orange County' State = 'CA' } $letter = Get-Content -Path TemplateLetter.txt -RAW foreach( $token in $tokenList.GetEnumerator() ) { $pattern = '#{0}#' -f $token.key $letter = $letter -replace $pattern, $token.Value }
При необходимости эти токены можно загрузить из файла JSON или CSV.
Метод ExpandString класса ExecutionContext
Существует отличный способ, который заключается в том, чтобы определить строку подстановки с помощью одинарных кавычек, а затем развернуть переменные. Взгляните на этот пример.
$message = 'Hello, $Name!' $name = 'Kevin Marquette' $string = $ExecutionContext.InvokeCommand.ExpandString($message)
При вызове .InvokeCommand.ExpandString
в текущем контексте выполнения для подстановки используются переменные в текущей области. Ключевым моментом здесь является то, что $message
можно определить заранее, когда переменные еще даже не существуют.
Немного дополнив этот код, можно обеспечить повторное выполнение этой замены для различных значений.
$message = 'Hello, $Name!' $nameList = 'Mark Kraus','Kevin Marquette','Lee Dailey' foreach($name in $nameList){ $ExecutionContext.InvokeCommand.ExpandString($message) }
Развивая эту идею, можно импортировать большой шаблон электронной почты из текстового файла. Я благодарю Марк Краус за это предложение.
Оптимальный вариант для конкретной ситуации
Мне нравится подход со строками форматирования. Я применяю его для более сложных строк или при наличии нескольких переменных. Но для коротких строк подойдет любой из описанных методов.
Другие возможности
Я лишь вкратце затронул эту тему. Я надеюсь, что вы сможете двигаться дальше, узнав для себя что-то новое.
Дополнительные сведения о методах и функциях, которые позволяют интерполировать строки, см. в следующем списке справочной документации.
- Объединение использует оператор сложения
- Подстановка переменных и команд соответствует правилам кавыкания
- При форматировании используется оператор format
- Для объединения строк используется оператор join и ссылки
Join-Path
, но вы также можете прочитать оJoin-String
- Массивы описаны в разделе Сведения о массивах
- StringBuilder — это класс .NET с собственной документацией.
- Фигурные скобки в строках также рассматриваются в правилах кавычки
- Для замены маркера используется оператор replace
- Метод
$ExecutionContext.InvokeCommand.ExpandString()
содержит справочную документацию по API .NET.
Использование команд форматирования для изменения представления вывода — PowerShell
- Статья
- 5 минут на чтение
В PowerShell есть набор командлетов, позволяющих управлять отображением свойств для
конкретные объекты. Имена всех командлетов начинаются с глагола Формат
. Они позволяют выбрать
какие свойства вы хотите показать.
Get-Command -Verb Format -Module Microsoft.PowerShell.Utility
CommandType Имя Версия Источник ----------- ---- ------- ------ Формат командлета — Пользовательский 6.1.0.0 Microsoft.PowerShell.Utility Командлет Format-Hex 6.1.0.0 Microsoft.PowerShell.Utility Cmdlet Format-List 6.1.0.0 Microsoft.PowerShell.Utility Таблица формата командлета 6.1.0.0 Microsoft.PowerShell.Utility Формат командлета 6.1.0.0 Microsoft.PowerShell.Utility
В этой статье описаны командлеты Format-Wide
, Format-List
и Format-Table
.
Каждый тип объекта в PowerShell имеет свойства по умолчанию, которые используются, если вы не укажете, какой
свойства для отображения. Каждый командлет также использует один и тот же параметр Property , чтобы указать, какой
свойства, которые вы хотите отобразить. Поскольку Format-Wide
показывает только одно свойство, его свойство
параметр принимает только одно значение, но параметры свойства Список форматов
и Таблица форматов
принять список имен свойств.
В этом примере выходные данные командлета Get-Process
по умолчанию показывают, что у нас есть два экземпляра
Internet Explorer работает.
Get-Process-имя iexplore
Формат по умолчанию для объектов Process отображает свойства, показанные здесь:
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- ----------- 32 25,52 10,25 13,11 12808 1 iизучить 52 11,46 26,46 3,55 21748 1 iизучить
Командлет Format-Wide
по умолчанию отображает только свойство объекта по умолчанию.
информация, связанная с каждым объектом, отображается в одном столбце:
Get-Command -Verb Format | Широкий формат
Формат — Пользовательский Формат — Шестнадцатеричный Список форматов Таблица форматов Широкий формат
Можно также указать свойство, отличное от значения по умолчанию:
Get-Command -Verb Format | Format-Wide -Свойство существительное
Пользовательский шестигранник Таблица списка Широкий
Управление широкоформатным отображением с помощью столбца
С помощью командлета Format-Wide
одновременно можно отображать только одно свойство. Это делает это
полезно для отображения больших списков в нескольких столбцах.
Формат команды Get-Command | Format-Wide -Свойство Существительное -Столбец 3
Пользовательский шестнадцатеричный список Широкий стол
Использование Format-List для представления списка
Командлет Format-List
отображает объект в виде списка, где каждое свойство помечено
и отображается отдельной строкой:
Get-Process -Name iexplore | Список форматов
Идентификатор: 12808 Ручки : 578 ЦП: 13.140625 СИ : 1 Название: iexplore Идентификатор: 21748 Ручки : 641 ЦП: 3.59375 СИ : 1 Название: iexplore
Вы можете указать столько свойств, сколько хотите:
Get-Process -Name iexplore | Format-List -Property ProcessName, FileVersion, StartTime, Id
Имя процесса: iexplore Версия файла: 11.00.18362.1 (WinBuild.160101.0800) Время начала: 22.10.201911:23:58 Идентификатор: 12808 Имя процесса: iexplore Версия файла: 11.00.18362.1 (WinBuild.160101.0800) Время начала: 22.10.2019 11:23:57 Идентификатор: 21748
Получение подробной информации с помощью Format-List с подстановочными знаками
Командлет Format-List
позволяет использовать подстановочный знак в качестве значения параметра Property . Этот
позволяет отображать подробную информацию. Часто объекты содержат больше информации, чем вам нужно, что
вот почему PowerShell по умолчанию не показывает все значения свойств. Чтобы показать все свойства
объект, используйте Format-List -Property *
команда. Следующая команда генерирует более 60
строки вывода для одного процесса:
Get-Process -Name iexplore | Формат-Список-Свойство *
Хотя команда Format-List
полезна для отображения деталей, если вам нужен обзор вывода
который включает много элементов, более простое табличное представление часто оказывается более полезным.
Использование Format-Table для табличного вывода
Если вы используете командлет Format-Table
без указания имен свойств для форматирования вывода
Get-Process
, вы получите точно такие же выходные данные, что и без командлета Format
. По
по умолчанию PowerShell отображает объектов Process в табличном формате.
Get-Service -Name win* | Таблица форматов
Имя состояния DisplayName ------ ---- ----------- Запуск антивирусной службы WinDefend Защитника Windows Запуск WinHttpAutoProx... Секрет автоматического обнаружения веб-прокси WinHTTP... Запуск инструментария управления Windows Winmgmt Запуск WinRM Windows Remote Management (WS-Manag...
Улучшение вывода таблицы форматов (AutoSize)
Хотя табличное представление полезно для отображения большого количества информации,
интерпретировать, если дисплей слишком узкий для данных. В предыдущем примере вывод
усеченный. Если указать параметр AutoSize при выполнении команды Format-Table
,
PowerShell вычисляет ширину столбцов на основе фактических отображаемых данных. Это делает столбцы
удобочитаемый.
Get-Service -Name win* | Формат-Таблица-AutoSize
Имя состояния DisplayName ------ ---- ----------- Запуск антивирусной службы WinDefend Защитника Windows Запуск службы автоматического обнаружения веб-прокси WinHttpAutoProxySvc WinHTTP Запуск инструментария управления Windows Winmgmt Запуск WinRM Windows Remote Management (WS-Management)
Командлет Format-Table
может усекать данные, но только в конце
экран. Свойствам, за исключением отображаемого последним, присваивается такой размер, который необходим для их отображения.
самый длинный элемент данных для правильного отображения.
Get-Service -Name win* | Format-Table - Имя свойства, Статус, StartType, DisplayName, DependentServices - AutoSize
Имя Статус StartType DisplayName DependentServi се ---- ------ --------- ----------- -------------- WinDefend запускает автоматическую антивирусную службу Защитника Windows {} WinHttpAutoProxySvc Запуск службы автоматического обнаружения веб-прокси WinHTTP вручную {NcaSvc, iphl… Winmgmt запускает инструментарий автоматического управления Windows {vmms, TPHKLO… WinRM Запуск автоматического удаленного управления Windows (WS-Management) {}
Команда Format-Table
предполагает, что свойства перечислены в порядке важности. Таким образом, он пытается
чтобы полностью отобразить свойства, ближайшие к началу. Если команда
Format-Table
не может отобразить
все свойства, он удаляет некоторые столбцы из отображения. Вы можете увидеть это поведение в
DependentServices свойство предыдущий пример.
Обтекание вывода таблицы форматов в столбцах (обтекание)
Вы можете принудительно использовать длинный формат Таблица форматирования
данные для переноса в столбец отображения с помощью переноса
параметр. Использование параметра Wrap может не дать ожидаемого результата, поскольку он использует
настройки по умолчанию, если вы также не укажете AutoSize :
Get-Service -Name win* | Format-Table - Имя свойства, Статус, StartType, DisplayName, DependentServices - Wrap
Имя Статус StartType DisplayName DependentServi се ---- ------ --------- ----------- -------------- WinDefend запускает автоматическую антивирусную службу Защитника Windows {} WinHttpAutoProxySvc Выполнение вручную службы автоматического обнаружения веб-прокси WinHTTP {NcaSvc, iphlpsvc} Winmgmt Запуск автоматического инструментария управления Windows {vmms, ТПХКЛГРАД, СУСервис, смстсмгр…} WinRM Запуск автоматического удаленного управления Windows (WS-Management) {}
Использование параметра Wrap само по себе не сильно замедляет обработку. Однако, используя
AutoSize для форматирования рекурсивного списка файлов большой структуры каталогов может занять много времени
и использовать много памяти перед отображением первых элементов вывода.
Если вас не беспокоит нагрузка на систему, то AutoSize хорошо работает с параметром Wrap .
Первоначальные столбцы по-прежнему используют столько ширины, сколько необходимо для отображения элементов в одной строке, но окончательные
столбец оборачивается, если это необходимо.
Примечание
Некоторые столбцы могут не отображаться, если сначала указать самые широкие столбцы. Для лучших результатов,
сначала укажите наименьшие элементы данных.
В следующем примере сначала указываются самые широкие свойства.
Get-Process -Name iexplore | Format-Table -Wrap -AutoSize -Property FileVersion,Path,Name,Id
Даже с переносом последний столбец Id опущен:
FileVersion Path Name е ----------- ---- --- 11.00.18362.1 (WinBuild.160101.0800) C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE iex пло ре 11.00.18362.1 (WinBuild.160101.0800) C:\Program Files\Internet Explorer\iexplore.exe iex пло ре
Организация вывода таблицы (-GroupBy)
Другим полезным параметром для табличного управления выводом является GroupBy . Более длинные табличные списки в
конкретный может быть трудно сравнить. Параметр GroupBy группирует выходные данные на основе свойства
ценность. Например, мы можем сгруппировать службы по StartType для облегчения проверки, опуская
StartType значение из списка свойств:
Get-Service -Name win* | Объект сортировки StartType | Таблица форматов -GroupBy StartType
Тип запуска: автоматический Имя состояния Отображаемое имя ------ ---- ----------- Запуск антивирусной службы WinDefend Защитника Windows Запуск инструментария управления Windows Winmgmt Запуск WinRM Windows Remote Management (WS-Managem… Тип запуска: ручной Имя состояния Отображаемое имя ------ ---- ----------- Запуск WinHttpAutoProxyS… WinHTTP Web Proxy Auto-Discovery Serv…
Пользовательский формат (Microsoft.
PowerShell.Utility) — PowerShell | Майкрософт учиться
Обратная связь
Редактировать
Твиттер
Фейсбук
Эл. адрес
- Артикул
- Модуль:
- Microsoft.PowerShell.Утилита
Использует настраиваемое представление для форматирования вывода.
Синтаксис
Формат-Пользовательский [[-Свойство] <Объект[]>] [-Глубина] [-GroupBy <Объект>] [-Вид <Строка>] [-ShowError] [-DisplayError] [-Сила] [-Расширить <Строка>] [-InputObject ] [<Общие параметры>]
Описание
Командлет Format-Custom
форматирует выходные данные команды, как определено в альтернативном представлении.
Format-Custom
предназначен для отображения представлений, которые не являются просто таблицами или просто списками. Вы можете использовать
представления, определенные в PowerShell, или вы можете создать свои собственные представления в новом файле format.ps1xml
и использовать
командлет Update-FormatData
, чтобы добавить их в PowerShell.
Примеры
Пример 1: Форматирование вывода с помощью пользовательского представления
Get-Command Start-Transcript | Format-Custom -View MyView
Эта команда форматирует информацию о командлете Start-Transcript
в формате, определенном
Представление MyView, настраиваемое представление, созданное пользователем. Чтобы успешно выполнить эту команду, вы должны сначала
создайте новый файл PS1XML, определите представление MyView , а затем используйте команду Update-FormatData
.
чтобы добавить файл PS1XML в PowerShell.
Пример 2: Форматирование вывода с представлением по умолчанию
Получение процесса Winlogon | Format-Custom
Эта команда форматирует информацию о процессе Winlogon в альтернативном настроенном представлении.
Поскольку команда не использует параметр View , Format-Custom
использует пользовательский вид по умолчанию.
для форматирования данных.
Пример 3: Устранение ошибок формата
В следующих примерах показаны результаты добавления DisplayError или ShowError
параметры с выражением.
ПК /> Get-Date | Формат-Пользовательский DayOfWeek, {$_/$null} -DisplayError класс DateTime { День недели = пятница $_/$null = #ОШИБКА } ПК /> Получить дату | Формат-Custom DayOfWeek, {$_/$null} -ShowError класс DateTime { День недели = пятница $_/$нуль = } Не удалось оценить выражение "$_/$null". + CategoryInfo: InvalidArgument: (21/12/2018 8:01:04:PSObject) [], RuntimeException + FullyQualifiedErrorId: PSPropertyExpressionError
Параметры
-Depth
-DisplayError
-Expand
-Force
-GroupBy
-InputObject
-Property
-ShowError
-View
Inputs
PSObject
You can pipe any object до Формат-Пользовательский
.