How to change control between scripts

I have five 3d models in my scene, all of them have the same script.
How can i enable the script in just one of them and then activate, in the code, the script only in the model i want?

Either do it in your Update logic or use MonoBehaviour.enabled

http://unity3d.com/learn/tutorials/modules/beginner/scripting/enabling-disabling-components

Be warned that any component that starts the game disabled is not created, so you need to start with them all enabled and then disable the ones you aren’t using in their Awake or Start call.

This is a generic programming question but let me help you anyway. Ideally there should be a Manager script which manages which instance is active at a time. This Manager script should be assigned to the camera. The Manager script should be singleton(google it) and should have the five gameObject to pass their ids and gameObject reference to the Manager script in Awake() method. Example code:

 ScriptA.cs
    
    void Awake(){
        ObjectManager.instance.addToMap(gameObject);
    }
    
    
    ObjectManager.cs:
    
    public static ObjectManager instance;
    
    Dictionary<int, GameObject> objectMap = new Dictionary<int, GameObject>();
    
        void Awake(){
            if(instance == null){
                instance = this;
            }
        }
    
        public void addToMap(GameObject object){
            objectMap[object.GetInstanceID()] = object;
        }
    
    }

You should manage the switching part in ObjectManager based on certain event which can occur. Also script order should be defined in edit->project settings->script execution order so that Awake of ObjectManager is called before ScriptA otherwise it will lead to a NullReferenceException. The code isn’t tested but it should work.