ค้นหาเว็บไซต์

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
 }

พาวเวอร์เชลล์ 5.1:

พาวเวอร์เชลล์ 7:

หน้าตาแตกต่างแน่นอน

การเปลี่ยนสไตล์

เราจะเปลี่ยนสไตล์ใน PowerShell 5.1 หรือ 7 ได้อย่างไร วิธีแก้ไขคือ $PSStyle

โปรดทราบว่าตัวแปรนั้นมีอยู่ใน PowerShell 7 เท่านั้น นี่คือการตั้งค่าเริ่มต้นใน PowerShell 7 และวิธีเปลี่ยนเป็นรูปแบบของ PowerShell 5.1

$PSStyle.Progress.View = 'Classic'

ตอนนี้แถบความคืบหน้ามีลักษณะเหมือนกับใน PowerShell 5.1 ทุกประการ