Hi,
As your screenshot, $pool returns is an array set, we can try the following command:
Grant-SCIPAddress -GrantToObjectType "VirtualNetworkAdapter" -GrantToObjectID $vm.VirtualNetworkAdapters[0].ID -StaticIPAddressPool $pool **[0]**
>How can I delete a duplicate entry without deleting the entire pool?
Get-SCStaticIPAddressPool |?{$_.name -eq 'public2 pool'} | Remove-SCStaticIPAddressPool
Please try to delete the specific pool using the above command.