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

พิมพ์วัตถุใน 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-Member cmdlet สามารถยอมรับค่าต่างๆ สำหรับตัวเลือก -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

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