การค้นพบมุมมอง PowerShell แบบกำหนดเอง
วันก่อน ฉันได้แบ่งปันแนวคิดบางประการเกี่ยวกับสาเหตุและวิธีที่คุณอาจต้องการสร้างมุมมองรูปแบบแบบกำหนดเองใน PowerShell ดังที่ฉันได้กล่าวไว้ในบทความนั้น PowerShell มาพร้อมกับมุมมองที่กำหนดเองจำนวนหนึ่งสำหรับออบเจ็กต์ประเภทต่างๆ
Get-Process | Format-Table -view StartTimeฉันรู้ได้อย่างไรว่ามีมุมมองนั้นอยู่? มีมุมมองอื่นใดอีกที่ฉันไม่รู้ นี่เป็นคำถามที่ซับซ้อนในการตอบเสมอ หรือถ้าให้เจาะจงกว่านั้นคือเป็นคำถามที่มีคำตอบซับซ้อน
ในชั้นเรียน PowerShell ของฉัน ฉันบอกให้ผู้คนใช้แฮ็กที่รวดเร็วและสกปรก
บังคับให้ PowerShell ส่งข้อยกเว้น ข้อความแสดงข้อผิดพลาด (ของฉันเป็นสีเขียว) จะบอกชื่อมุมมองที่เป็นไปได้ คุณสามารถทำเคล็ดลับนี้ได้ด้วยคำสั่งรูปแบบอื่นๆ เช่น Format-List โปรดทราบว่าออบเจ็กต์บางประเภทอาจไม่มีมุมมองที่กำหนดไว้สำหรับ Format-List หรือ Format-Table
ฉันต้องการวิธีที่ดีกว่าและในที่สุดก็สร้างมันขึ้นมาได้
ในโมดูล PSScriptTools เวอร์ชันล่าสุด คุณจะพบคำสั่งชื่อ Get-FormatView คำสั่งนี้จะแสดงมุมมองที่โหลดสำหรับตัวควบคุมรูปแบบต่างๆ เช่น ตารางหรือรายการ หากคุณรันคำสั่ง ค่าเริ่มต้นคือการแสดงทุกอย่าง แต่คุณยังสามารถระบุชื่อประเภทของออบเจ็กต์ได้
หากคุณไปป์ Get-Process to Get-Member คุณจะเห็นชื่อประเภท นี่คือผลลัพธ์โดยใช้ Get-FormatView
หากคุณเห็นหลายรายการสำหรับรูปแบบที่กำหนด เช่น ตาราง รายการแรกควรเป็นค่าเริ่มต้น บ่อยครั้งคุณไม่จำเป็นต้องทำอะไรเลย เมื่อคุณรัน Get-Process เพียงอย่างเดียว ผลลัพธ์จะถูกจัดรูปแบบโดยอัตโนมัติด้วยมุมมองเริ่มต้น นั่นคือ กระบวนการ
ให้ฉันโหลดไฟล์รูปแบบที่กำหนดเองที่ฉันสร้างเมื่อวันก่อนและรันคำสั่งอีกครั้ง
และมีมุมมองใหม่ของฉันซึ่งฉันสามารถใช้ได้เหมือนกับที่ฉันแสดงให้เห็นในบทความก่อนหน้านี้
Get-Process | Where WS -ge 100MB | Format-Table -view WSตอนนี้คุณมีวิธีง่ายๆ ในการค้นหาตัวเลือกการจัดรูปแบบใหม่ๆ และฉันได้มอบเครื่องมือให้คุณสร้างตัวเลือกการจัดรูปแบบของคุณเองได้อย่างง่ายดาย


