I switched to using Todd's version again from his site but got a different error, I discovered someone else had the same error and resolved it. It now works for me, here's the detail should anyone need it:-
PS C:\Users\TarasG> New-SPEnterpriseSearchAdminComponent -SearchTopology $clone
New-SPEnterpriseSearchAdminComponent : Cannot convert 'System.Object' to the
type 'Microsoft.Office.Server.Search.Cmdlet.SearchServi ceInstancePipeBind'
required by parameter 'SearchServiceInstance'. Specified method is not
I solve this error, by adding
"$searchServerName" variable to line 29 your script
$searchServiceInstance = Get-SPEnterpriseSearchServiceInstance $searchServerName