พิมพ์วัตถุใน PowerShell [5 วิธี]
พิมพ์คุณสมบัติของวัตถุใน Powershell
ใน PowerShell วัตถุคือโครงสร้างข้อมูลที่ประกอบด้วยคุณสมบัติและวิธีการ วัตถุนั้นเป็นอินสแตนซ์ของคลาส .NET และสามารถสร้างได้โดยใช้ New-Object cmdlet ออบเจ็กต์ PowerShell ถูกใช้อย่างกว้างขวางในการเขียนสคริปต์ PowerShell
ตัวอย่างเช่น cmdlet จำนวนมากส่งคืนออบเจ็กต์เป็นเอาต์พุต ซึ่งสามารถใช้เป็นอินพุตสำหรับ cmdlet อื่นๆ หรือจัดการโดยใช้ฟีเจอร์เชิงวัตถุของ PowerShell
ออบเจ็กต์ PowerShell สามารถขยายและปรับแต่งได้อย่างง่ายดายโดยการเพิ่มคุณสมบัติและวิธีการใหม่ให้กับออบเจ็กต์ที่มีอยู่หรือสร้างออบเจ็กต์ใหม่ตามประเภทออบเจ็กต์ที่มีอยู่
มาสร้างวัตถุเพื่อพิมพ์คุณสมบัติดังต่อไปนี้:
สร้างวัตถุ Powershell:
$object = New-Object PSObject -Property @{
Name = "John"
Age = 35
City = "New York"
}ออบเจ็กต์ใหม่ $object ถูกกำหนดด้วยคุณสมบัติสามอย่าง ชื่อ, อายุ และ เมือง ตอนนี้เรามาดูคุณสมบัติและแสดงคุณสมบัติโดยใช้วิธีการต่างๆ กันดีกว่า
ใช้ รับสมาชิก Cmdlet
ใช้ Get-Member cmdlet เพื่อดูคุณสมบัติของออบเจ็กต์
ใช้ Get-Member Cmdlet:
$object | Get-Member -MemberType NotePropertyเอาท์พุต :
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Age NoteProperty int Age=35
City NoteProperty string City=New York
Name NoteProperty string Name=Johnเราใช้ Get-Member cmdlet กับประเภทสมาชิก NoteProperty เพื่อดูคุณสมบัติทั้งหมดของ $object หากคุณต้องการดูคุณสมบัติและวิธีการของ $object ให้ใช้ All แทน NoteProperty
Get-Membercmdlet สามารถยอมรับค่าต่างๆ สำหรับตัวเลือก-MemberTypeที่คุณสามารถหาได้ที่นี่ ในขณะที่Allเป็นค่าเริ่มต้น
ใช้ Select-Object Cmdlet
ใช้ Select-Object cmdlet เพื่อแสดงคุณสมบัติเฉพาะของวัตถุ
ใช้ Select-Object Cmdlet:
$object | Select-Object Name, Ageเอาท์พุต :
Name Age
---- ---
John 35
ที่นี่เราใช้ Select-Object cmdlet ซึ่งใช้ในการเลือกคุณสมบัติของวัตถุหรือวัตถุหรือชุดของวัตถุ
เรายังสามารถใช้เพื่อเลือกวัตถุในตำแหน่งที่กำหนดในอาร์เรย์ วัตถุเฉพาะ หรือวัตถุจำนวนหนึ่งโดยเฉพาะ นอกจากนี้เรายังสามารถใช้ Select-Object กับพารามิเตอร์ -ExpandProperty เพื่อแสดงค่าของคุณสมบัติที่ระบุ
ใช้พารามิเตอร์ -ExpandProperty:
$object | Select-Object -ExpandProperty Cityเอาท์พุต :
New York ใช้ Format-Table Cmdlet
ใช้ Format-Table cmdlet เพื่อแสดงคุณสมบัติของวัตถุในรูปแบบตาราง
ใช้ Format-Table Cmdlet:
$object | Format-Table -Property Name, Age, Cityเอาท์พุต :
Name Age City
---- --- ----
John 35 New York รูปแบบ-ตารางถูกใช้เพื่อแสดงคุณสมบัติที่เลือกในรูปแบบตาราง
ใช้สัญลักษณ์ Dot
ใช้สัญลักษณ์ Dot เพื่อเข้าถึงคุณสมบัติของออบเจ็กต์โดยตรง
ใช้เครื่องหมายจุด:
$object.Name
เอาท์พุต :
Johnสัญกรณ์ดอทจะมีประโยชน์หากคุณทราบชื่อคุณสมบัติและต้องการดึงข้อมูลค่าของมัน
จนถึงขณะนี้ เราได้เรียนรู้วิธีต่างๆ ในการแสดงคุณสมบัติของวัตถุหนึ่งๆ จะเป็นอย่างไรถ้าเราต้องแสดงคุณสมบัติเฉพาะหรือทั้งหมดของวัตถุหลายชิ้น? เรามาดูกันว่าเราจะทำเช่นนั้นได้อย่างไรด้านล่าง
ใช้ ForEach-Object Cmdlet
หากต้องการพิมพ์คุณสมบัติของวัตถุต่างๆ ใน PowerShell:
- สร้างวัตถุสองชิ้น
- สร้างอาร์เรย์ของออบเจ็กต์ที่สร้างขึ้นในขั้นตอนก่อนหน้า
- ใช้
ForEach-Objectเพื่อพิมพ์คุณสมบัติที่ระบุของวัตถุทั้งหมดในอาร์เรย์ที่สร้างขึ้นในขั้นตอนที่ 2
ใช้ ForEach-Object Cmdlet:
$object1 = New-Object PSObject -Property @{
Name = "John"
Age = 35
City = "New York"
}
$object2 = New-Object PSObject -Property @{
Name = "Jim"
Age = 40
City = "Washington"
}
$objects = @($object1, $object2)
$objects | ForEach-Object { $_.Name}เอาท์พุต :
John
Jimขั้นแรก เราสร้างวัตถุสองชิ้นชื่อ $object1 และ $object2; จะสร้างวัตถุได้อย่างไร? เราได้เรียนรู้แล้วตั้งแต่ต้นบทความ ต่อไป เราใช้ตัวดำเนินการอาร์เรย์ที่แสดงด้วย @() เพื่อสร้างอาร์เรย์ของวัตถุและเก็บไว้ในตัวแปร $objects ที่เราใช้กับ ForEach-Object cmdlet เพื่อวนซ้ำ เหนือวัตถุทั้งหมดในอาร์เรย์และพิมพ์คุณสมบัติ Name ของวัตถุเหล่านั้น ในที่นี้ $_ แสดงถึงวัตถุปัจจุบัน
แต่ละวิธีมีข้อดีและข้อจำกัด และวิธีที่ดีที่สุดขึ้นอยู่กับกรณีการใช้งานเฉพาะ หากคุณต้องการพิมพ์วัตถุทั้งหมด คุณเพียงแค่เขียนเป็น
$YourObjectNameและกด Enter
นั่นคือทั้งหมดที่เกี่ยวกับวิธีการพิมพ์วัตถุใน PowerShell
