Глубокое копирование PSObject
У меня есть скрипт PowerShell, в котором я делаю следующее
$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;
}
}
Мне нужно сделать это, потому что я хочу сделать несколько отдельных копий данных в CSV, чтобы выполнить несколько различных манипуляций. В некотором смысле я выполняю «INNER JOIN» в результирующем массивеPSObject, Я могу легко перебрать$somePSObjectHashtables
сForEach-Object и позвонитьHashtable.Clone () на каждом члене массива. Я могу тогда использоватьNew-Object PSObject -Property $someHashTable[$i]
чтобы получить глубокую копию PSObject.
У меня вопрос, есть ли какой-нибудь более простой способ сделать глубокую копию без посредника Hashtable?