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.


