PowerShell เลื่อนขึ้นลงไม่ได้ใช่ไหม? แก้ไขปัญหาการเลื่อนย้อนกลับ (Scrollback)

หาก PowerShell ไม่สามารถเลื่อนในแนวตั้งได้ ให้เปลี่ยนการตั้งค่าการเลื่อนย้อนหลังในแอปพลิเคชันที่เรียกใช้ PowerShell ในคอนโซล PowerShell ของ Windows แบบคลาสสิก ให้เพิ่มความสูงของบัฟเฟอร์หน้าจอ ใน Windows Terminal ให้เพิ่มขนาดประวัติของโปรไฟล์ การตั้งค่าเหล่านี้จะเก็บบรรทัดเอาต์พุตไว้ แต่ประวัติคำสั่งของ PowerShell จะไม่เก็บ หากบรรทัดเก่าๆ ถูกลบไปแล้ว ให้เรียกใช้คำสั่งอีกครั้ง หรือบันทึกคำสั่งก่อนที่จะเรียกใช้ใหม่อีกครั้ง

ขั้นแรก ให้ระบุว่าส่วนใดที่ไม่สามารถเลื่อนได้

PowerShell ส่งเอาต์พุตไปยังโฮสต์ เช่น Console Host แบบคลาสสิก, Windows Terminal, เทอร์มินัลในตัวของ Visual Studio Code หรือ PowerShell ISE โฮสต์จะควบคุมจำนวนแถวเอาต์พุตที่จะยังคงแสดงอยู่เหนือหน้าจอ หากคำสั่งพิมพ์บรรทัดน้อยกว่าจำนวนบรรทัดที่พอดีกับหน้าต่าง จะไม่มีอะไรให้เลื่อนดู

ทดสอบด้วยคำสั่งที่ไม่เป็นอันตรายซึ่งจะพิมพ์ข้อความออกมา 100 บรรทัด:

1..100 | ForEach-Object { "Line $_" }

หลังจากเสร็จสิ้น ให้คลิกในคอนโซล กด Esc เพื่อล้างการเลือกข้อความ และลองใช้ล้อเลื่อนของเมาส์หรือแถบเลื่อน หากคุณสามารถเลื่อนดูผลลัพธ์การทดสอบได้ แต่บรรทัดเก่าๆ หายไปอย่างรวดเร็ว ให้ขยายการตั้งค่าการเลื่อนย้อนหลังด้านล่าง หากล้อเลื่อนไม่ทำงาน ให้ตรวจสอบให้แน่ใจว่าบานหน้าต่างเทอร์มินัลที่ถูกต้องได้รับการโฟกัส และทำตามคำแนะนำสำหรับแอปที่คุณกำลังใช้งาน

แก้ไขปัญหาคอนโซล PowerShell แบบคลาสสิกของ Windows

ใช้ขั้นตอนเหล่านี้สำหรับหน้าต่าง Windows PowerShell ที่เปิดแยกต่างหาก แทนที่จะใช้แท็บ PowerShell ภายใน Windows Terminal:

  1. เปิด Windows PowerShell แล้วเรียกใช้คำสั่งทดสอบด้านบน
  2. คลิกขวาที่แถบชื่อเรื่องของหน้าต่าง แล้วเลือกคุณสมบัติ (Properties )
  3. เปิด แท็บ เค้าโครงแล้วค้นหาขนาดบัฟเฟอร์หน้าจอ
  4. เพิ่มความสูงตัวอย่างเช่น ลองเพิ่มเป็น3000แถว จากนั้นเลือกตกลง
  5. เรียกใช้การทดสอบอีกครั้งแล้วเลื่อนขึ้นไปดูผลลัพธ์
หน้าต่าง Properties ของ Windows PowerShell แบบคลาสสิก บนแท็บ Layout โดยตั้งค่า Screen Buffer Size Height เป็น 3000 แถว
การตั้งค่าความสูงของคอนโซลแบบคลาสสิกจะควบคุมจำนวนแถวที่เหลืออยู่เหนือหน้าต่างที่มองเห็นได้

ความสูงคือจำนวนแถวที่เก็บไว้ในบัฟเฟอร์ของคอนโซล ไม่ใช่ความสูงของหน้าต่างที่มองเห็นได้ ค่าที่มากขึ้นจะทำให้คุณมีเอาต์พุตให้กลับมาดูได้มากขึ้น เลือกค่าที่สูงขึ้นหากคำสั่งของคุณสร้างเอาต์พุตมากขึ้นและการตั้งค่าอนุญาต คอนโซลไม่สามารถเรียกคืนบรรทัดที่ถูกผลักออกจากบัฟเฟอร์ไปแล้วได้ Microsoft อธิบายวิธีการแสดงและการเลื่อนบัฟเฟอร์หน้าจอของหน้าต่างคอนโซลในเอกสารประกอบ Windows Console ของ ตน

เพิ่มระยะการเลื่อนใน Windows Terminal

ถ้า PowerShell กำลังทำงานอยู่ใน Windows Terminal การตั้งค่าในหน้าต่าง Properties ของคอนโซลแบบคลาสสิกจะไม่ใช่สิ่งที่คุณต้องการ เพราะ Terminal จะเก็บการเลื่อนดูย้อนหลังของตัวเองสำหรับแต่ละโปรไฟล์:

  1. เปิดการตั้งค่าเทอร์มิ นัลของ Windows
  2. เลือกโปรไฟล์ที่คุณใช้งานจริง เช่นWindows PowerShellจากนั้นเปิดการตั้งค่าขั้นสูง
  3. เพิ่มขนาดประวัติการใช้งานและบันทึกการตั้งค่า ลองตั้งค่าเป็น 20,000บรรทัด เอกสารของ Microsoft ระบุค่าเริ่มต้นไว้ที่9,001 บรรทัดและค่าสูงสุดที่32,767บรรทัด
การตั้งค่าขั้นสูงของ Windows Terminal สำหรับโปรไฟล์ Windows PowerShell โดยตั้งค่าขนาดประวัติไว้ที่ 20,000 บรรทัด
ขนาดประวัติการใช้งานเทอร์มินัลจะกำหนดจำนวนบรรทัดที่จะแสดงอยู่เหนือมุมมองปัจจุบัน

ค่านี้ควบคุมจำนวนบรรทัดที่ Terminal จะแสดงอยู่เหนือมุมมองปัจจุบัน ค่านี้เป็นของโปรไฟล์ที่เลือก ดังนั้นหากคุณสลับระหว่าง Windows PowerShell และ PowerShell 7 ให้เปลี่ยนโปรไฟล์อื่นด้วย ดูรายละเอียดคุณสมบัติปัจจุบันได้ที่การตั้งค่าโปรไฟล์ขั้นสูงของ Windows Terminal จาก Microsoft

อ่านข้อมูลยาวๆ ทีละหน้า

การแบ่งหน้ามีประโยชน์เมื่อคำสั่งส่งคืนผลลัพธ์จำนวนมาก และคุณต้องการอ่านผลลัพธ์เหล่านั้นตามลำดับที่ปรากฏ การแบ่งหน้าจะไม่เปลี่ยนแปลงขีดจำกัดการเลื่อนย้อนหลังOut-Host -Pagingตัวอย่างเช่น ให้ส่งคำสั่งไปยังฟังก์ชันอื่น:

Get-Process | Out-Host -Paging
PowerShell แสดงผลลัพธ์จากคำสั่ง Get-Process ผ่านทาง Out-Host -Paging โดยใช้ปุ่ม Space, Enter และ Q เป็นตัวควบคุม
ปุ่ม Spacebar ใช้สำหรับเลื่อนไปหนึ่งหน้า ปุ่ม Enter ใช้สำหรับเลื่อนไปหนึ่งบรรทัด และปุ่ม Q ใช้สำหรับออกจากหน้าต่างการแบ่งหน้า

กดSpacebarเพื่อไปยังหน้าถัดไปกด Enterเพื่อไปยังบรรทัดถัดไป หรือ กด Qเพื่อหยุดการเปลี่ยนหน้า-Pagingพารามิเตอร์นี้ไม่ได้รับการสนับสนุนโดยโฮสต์ PowerShell ISE เอกสารของ Microsoft เกี่ยวกับพฤติกรรมและปุ่มต่างๆ อยู่ในเอกสารอ้างอิง Windows PowerShell 5.1 Out- Host

บันทึกผลลัพธ์ลงในไฟล์ถอดเสียง

สคริปต์จะสร้างไฟล์ข้อความให้คุณตรวจสอบหลังจากคำสั่งที่ใช้เวลานานเสร็จสิ้น หรือหลังจากคอนโซลปิดลง เริ่มสร้างสคริปต์ก่อนเรียกใช้คำสั่ง:

Start-Transcript
ตัวอย่างข้อความธรรมดาจากบันทึกการทำงานของ PowerShell ที่แสดงผลลัพธ์จากคำสั่ง Start-Transcript, Get-Process และ Stop-Transcript
โปรแกรมจะบันทึกคำสั่งและผลลัพธ์จากคอนโซลจนกว่าจะมีการเรียกใช้คำสั่ง Stop-Transcript

บนระบบ Windows นั้น PowerShell จะบันทึกไฟล์ถอดเสียงลงในโฟลเดอร์เอกสารของคุณโดยอัตโนมัติ และจะแสดงเส้นทางไฟล์เมื่อเริ่มการบันทึก เมื่อบันทึกเสร็จแล้ว ให้เรียกใช้คำสั่งต่อไปนี้:

Stop-Transcript

ไฟล์บันทึกการทำงานประกอบด้วยคำสั่งที่พิมพ์และผลลัพธ์ที่แสดงในคอนโซล ดังนั้นโปรดถือว่าเป็นบันทึกข้อความธรรมดาที่อาจมีข้อมูลที่ละเอียดอ่อน โปรดตรวจสอบไฟล์ก่อนที่จะแชร์ Microsoft ได้จัดทำเอกสารเกี่ยวกับตำแหน่งเริ่มต้นและลักษณะการทำงานของไฟล์บันทึกการทำงานไว้ในเอกสารอ้างอิง Start-Transcriptและอธิบายวิธีการหยุดการบันทึกด้วยStop- Transcript

อย่าสับสนระหว่างการเลื่อนดูย้อนหลังกับประวัติคำสั่ง

การเปลี่ยน$MaximumHistoryCountค่านี้ไม่ได้ทำให้เอาต์พุตของ PowerShell เลื่อนไปไกลขึ้น ตัวแปรการตั้งค่านี้จำกัดจำนวนคำสั่งที่ประวัติการใช้งานในตัวเก็บไว้สำหรับการเรียกใช้ด้วยเครื่องมือประวัติการใช้งานเท่านั้น ไม่นับรวมบรรทัดเอาต์พุตที่แสดงในเทอร์มินัล PowerShell ยังมีประวัติการใช้งานแยกต่างหากที่จัดการโดย PSReadLine เอกสารอ้างอิง about_History ของ Microsoft อธิบายความแตกต่างนี้ไว้

ถ้ายังไม่สามารถเลื่อนหน้าจอได้ ให้ตรวจสอบว่าแอปใดเป็นแอปที่เรียกใช้เชลล์ จากนั้นใช้การตั้งค่าการเลื่อนย้อนหลังของแอปนั้น แล้วเรียกใช้คำสั่งอีกครั้งเพื่อให้ได้ผลลัพธ์ที่เพียงพอสำหรับการทดสอบ เพิ่มขนาดบัฟเฟอร์สำหรับบรรทัดถัดไป และใช้การถอดเสียงเมื่อต้องการบันทึกที่ถาวร

ฝากความเห็น

วิธีเปรียบเทียบไฟล์สองไฟล์ใน Notepad++ ด้วย ComparePlus

วิธีเปรียบเทียบไฟล์สองไฟล์ใน Notepad++ ด้วย ComparePlus

ติดตั้ง ComparePlus เพื่อเปรียบเทียบไฟล์ข้อความหรือโค้ดแบบเคียงข้างกัน ค้นหาความแตกต่าง และปรับตัวเลือกการจับคู่ใน Notepad++

การทดสอบประสิทธิภาพ DNS: วิธีทดสอบและเลือกเซิร์ฟเวอร์ DNS ที่เร็วที่สุด

การทดสอบประสิทธิภาพ DNS: วิธีทดสอบและเลือกเซิร์ฟเวอร์ DNS ที่เร็วที่สุด

เปรียบเทียบเซิร์ฟเวอร์ DNS บนเครือข่ายของคุณเอง อ่านผลลัพธ์ด้านความเร็วและความน่าเชื่อถือ ทดสอบ DNS ที่เข้ารหัส และเลือกตัวแก้ไข DNS ที่เหมาะสมกับการตั้งค่าของคุณ

คอมพิวเตอร์ของคุณมี RAM เท่าไหร่? ตรวจสอบขนาด ความเร็ว และประเภทของหน่วยความจำ

คอมพิวเตอร์ของคุณมี RAM เท่าไหร่? ตรวจสอบขนาด ความเร็ว และประเภทของหน่วยความจำ

ค้นหาข้อมูลความจุ ความเร็ว ประเภท DDR และรายละเอียดการอัปเกรด RAM ของคุณ พร้อมขั้นตอนที่ชัดเจนสำหรับ Windows 11 และ Mac

วิธีรีสตาร์ทเราเตอร์: 4 ขั้นตอนง่ายๆ และปลอดภัย

วิธีรีสตาร์ทเราเตอร์: 4 ขั้นตอนง่ายๆ และปลอดภัย

เรียนรู้วิธีการรีสตาร์ทเราเตอร์โดยไม่ลบการตั้งค่า เมื่อใดควรรีสตาร์ทโมเด็ม และควรตรวจสอบอะไรบ้างหาก Wi-Fi ยังคงออฟไลน์

วิธีการอัปเดต Discord บน Windows, Mac, Linux และมือถือ

วิธีการอัปเดต Discord บน Windows, Mac, Linux และมือถือ

อัปเดต Discord บนคอมพิวเตอร์หรือโทรศัพท์ของคุณด้วยขั้นตอนสำหรับ Windows, macOS, Linux, Android และ iPhone รวมถึงวิธีแก้ไขปัญหาการอัปเดตค้างที่ใช้งานได้จริง

ERR_CONNECTION_REFUSED: วิธีแก้ไขปัญหาและแก้ไขข้อผิดพลาดของเบราว์เซอร์

ERR_CONNECTION_REFUSED: วิธีแก้ไขปัญหาและแก้ไขข้อผิดพลาดของเบราว์เซอร์

เรียนรู้ความหมายของ ERR_CONNECTION_REFUSED ระบุว่าเว็บไซต์ อุปกรณ์ หรือเครือข่ายใดเป็นสาเหตุ และลองวิธีแก้ไขที่ปลอดภัยสำหรับ Chrome, พร็อกซี, เราเตอร์ และ Windows

รีวิวปากกา Epic Pen: การเขียนคำอธิบายประกอบบนหน้าจอใน Windows และสิ่งที่ผู้ใช้ Mac ควรรู้

รีวิวปากกา Epic Pen: การเขียนคำอธิบายประกอบบนหน้าจอใน Windows และสิ่งที่ผู้ใช้ Mac ควรรู้

ดูรายละเอียดเกี่ยวกับเครื่องมือการเขียนคำอธิบายประกอบแบบเรียลไทม์ของ Epic Pen คุณสมบัติเวอร์ชันฟรีและเวอร์ชันโปร ข้อจำกัดในการแชร์หน้าจอ และการรองรับ Windows ในปัจจุบันได้จากคู่มืออย่างเป็นทางการและคำถามที่พบบ่อย (FAQ)

CopyTrans Manager: ทางเลือกฟรีแทน iTunes สำหรับแอปเพลงบน iPhone และ iPod

CopyTrans Manager: ทางเลือกฟรีแทน iTunes สำหรับแอปเพลงบน iPhone และ iPod

ดูว่า CopyTrans Manager ทำอะไรได้บ้าง วิธีถ่ายโอนเพลงจากพีซี Windows ไปยัง iPhone หรือ iPod และสิ่งที่ควรตรวจสอบเกี่ยวกับความเข้ากันได้และเงื่อนไขการใช้งานฟรี

วิธีล้างแคชของ Microsoft Teams บน Windows และ Mac

วิธีล้างแคชของ Microsoft Teams บน Windows และ Mac

ล้างแคชของ Microsoft Teams ด้วยขั้นตอนที่ถูกต้องสำหรับ Teams เวอร์ชันใหม่, Teams เวอร์ชันคลาสสิก, Mac หรือเวอร์ชันเว็บ และเรียนรู้ว่าปัญหาแชทแบบใดที่ต้องการวิธีแก้ไขที่แตกต่างกัน

วิธีถ่ายภาพหน้าจอใน Windows: 6 วิธีง่ายๆ

วิธีถ่ายภาพหน้าจอใน Windows: 6 วิธีง่ายๆ

เรียนรู้วิธีการจับภาพหน้าจอใน Windows 10 หรือ 11 ด้วยทางลัดในตัวและเครื่องมือ Snipping Tool จากนั้นค้นหา แก้ไข หรือบันทึกภาพที่คุณจับภาพได้