Поиск по сайту:

PowerShell 7: Изменение стиля индикатора выполнения с помощью $PSStyle


Если вы включите индикатор прогресса в PowerShell, вы заметите, что он выглядит по-разному в PowerShell 5 и PowerShell 7. Именно эту проблему мы будем решать в этом блоге, и я покажу, как использовать $PSStyle для настройки индикатора прогресса. Давайте начнем.

Начальная точка

Вот пример, чтобы показать вам проблему. Скрипт ниже будет сначала выполнен с PowerShell 5, а затем с PowerShell 7.

$numbers = 1..99
$count = $numbers.count
foreach ($n in $numbers) {
    "Computer0$n"
    Write-Progress -Activity 'Enumerate Computers' `
    -CurrentOperation Computer0$n `
    -Status "$(([math]::Round((($n)/$count * 100),0))) %"
    Start-Sleep -Seconds 1
 }

PowerShell 5.1:

PowerShell 7:

Взгляд определенно другой.

Изменение стиля

Как мы можем изменить стиль в PowerShell 5.1 или 7? Решение заключается в $PSStyle.

Обратите внимание, что переменная существует только в PowerShell 7. Вот настройки по умолчанию в PowerShell 7 и как изменить их на стиль PowerShell 5.1.

$PSStyle.Progress.View = 'Classic'

Теперь индикатор выполнения выглядит точно так же, как в PowerShell 5.1.