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

การค้นพบมุมมอง 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

ตอนนี้คุณมีวิธีง่ายๆ ในการค้นหาตัวเลือกการจัดรูปแบบใหม่ๆ และฉันได้มอบเครื่องมือให้คุณสร้างตัวเลือกการจัดรูปแบบของคุณเองได้อย่างง่ายดาย

บทความที่เกี่ยวข้อง