I would suggest creating a game object that stores all the things you need to have deactivated. Parent the game object you need to deactivate to this object, then deactivate it.
When you need to reactivate it, do it from the object that you parented it too. You can then just have a set of states run on activate to ensure it is parented to the right thing.
If this is confusing, in short.
"You will have to activate the object through something else. Once it is deactivated, nothing inside those objects will work or run."