Title says it all.
I’ve not done this. If you made your own particle emitter using object pooling and prefabs(a particle prefab, instantiated for as many as you need and stored in an array) then you can should be able to attach components to these(loop through you particle array) at run time if needed.
You can grab the particles from a particle system. Then you create a GameObject and set the transform position to match the particle position. You can have any components you want.
I’ve not tried this, so I can’t say how performant it will be.