Website-Suche

PowerShell 7: Ändern des Stils der Fortschrittsanzeige mit $PSStyle


Wenn Sie eine Fortschrittsanzeige in PowerShell einfügen, werden Sie feststellen, dass sie in PowerShell 5 und PowerShell 7 unterschiedlich aussieht. Das ist genau das Problem, das wir in diesem Blogbeitrag angehen werden, und ich werde zeigen, wie man $PSStyle verwendet, um die Fortschrittsanzeige anzupassen. Lassen Sie uns anfangen.

Ausgangspunkt

Hier ist ein Beispiel, um Ihnen das Problem zu zeigen. Das folgende Skript wird zuerst mit PowerShell 5 und dann mit PowerShell 7 ausgeführt.

$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:

Der Look ist auf jeden Fall anders.

Den Stil ändern

Wie können wir den Stil in PowerShell 5.1 oder 7 ändern? Die Lösung ist $PSStyle.

Beachten Sie, dass die Variable nur in PowerShell 7 existiert. Hier ist die Standardeinstellung in PowerShell 7 und wie Sie sie auf den Stil von PowerShell 5.1 ändern können.

$PSStyle.Progress.View = 'Classic'

Jetzt sieht die Fortschrittsanzeige genau so aus wie in PowerShell 5.1.