Med Select-Object bör den automatiskt konvertera en DataRow / DataTable till ett PSCustomObject i Powershell. Här är vad jag skulle köra för att göra konverteringen till PSCustomObject och hantera MAC-adressformateringen på en rad. Detta kan appliceras på en enda rad vid ett specifikt index (som exempelkoden) eller mot hela DataTable för att konvertera till en array av PSObjects.
MAC-adressformateringen tar bort alla icke-alfanumeriska tecken i originalet, castar till gemener och infogar sedan bindestreck vid lämpliga index.
$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