Sử dụng Select-Object, nó sẽ tự động chuyển đổi DataRow / DataTable thành PSCustomObject trong Powershell. Đây là những gì tôi sẽ chạy để thực hiện chuyển đổi sang PSCustomObject và xử lý định dạng địa chỉ MAC trong một dòng. Điều này có thể được áp dụng cho một hàng tại chỉ mục cụ thể (như mã ví dụ) hoặc đối với toàn bộ DataTable để chuyển đổi thành một mảng PSObject.
Định dạng địa chỉ MAC loại bỏ bất kỳ ký tự không phải chữ và số nào trong bản gốc, chuyển thành chữ thường, sau đó chèn dấu gạch ngang vào các chỉ mục thích hợp.
$devices.table[10] | Select-Object name,ip,@{N="MAC-Address";E={((((($_.mac -replace '[^a-zA-Z0-9]','').ToLower().insert(2,"-")).insert(5,"-")).insert(8,"-")).insert(11,"-")).insert(14,"-")}},vendor