Profundo copiando un PSObject

Tengo un script de PowerShell en el que hago lo siguiente

$somePSObjectHashtables = New-Object Hashtable[] $somePSObject.Length;
$somePSObjects = Import-CSV $csvPath
0..($somePSObject.Length - 1) | ForEach-Object {
    $i = $_;
    $somePSObjectHashtables[$i] = @{};
    $somePSObject[$_].PSObject.Properties | ForEach-Object {
        $somePSObjectHashtables[$i][$_.Name] = $_.Value;
    }
}

Necesito hacer esto porque quiero hacer varias copias distintas de los datos en el CSV para realizar varias manipulaciones distintas. En cierto sentido, estoy realizando un "INNER JOIN" en la matriz resultante de PSObject. Puedo iterar fácilmente a través de$somePSObjectHashtables con un ForEach-Object y llama Hashtable.Clone () en cada miembro de la matriz. Entonces puedo usarNew-Object PSObject -Property $someHashTable[$i] para obtener una copia profunda del PSObject.

Mi pregunta es, ¿hay alguna forma más fácil de hacer una copia profunda, sin un Hashtable intermedio?

Respuestas a la pregunta(2)

Su respuesta a la pregunta