Getting Health Script from Collided Gameobject

So I have this one function I can’t figure out how to make it work.
This C# Script is attached to the projectile
I’m trying to pull the Health script from the gameObject the projectile hits so I can then effect only it.
The projectiles are very slow so I can’t use raycast and any advise on how to grab the health script from only the object this projectile collided with would be helpful.

void Shoot (){

		rb.AddForce (transform.forward * thrust);

		// Try and find an EnemyHealth script on the gameobject hit.
            //This is the part I can't figure out
		Health Health = OnCollisonEnter.gameObject.GetComponent <Health> ();
		
		// If the Health component exist...
		if(Health != null)
		{
			// ... the enemy should take damage.
			Health.TakeDamage (damagePerShot);
		}

	}

you can add this method to the projectile.

void OnCollisionEnter(Collider other) {
        //grab the script.
        Health hp = other.GetComponent<Health>();
        //apply damage.
        hp.TakeDamage(damagePerShot);
        //remove the projectile -- optional.
        Destroy(gameObject);
    }

Also remember you need a Collider component on both the enemy and projectile, and at least one of then must have a Ridgidbody as well.

Depending on the game it is also a good idea to add some kind of timeout or boundary for the projectiles, so they don’t fly off the screen and use up unnecessary memory.

You may also want to check the tag of whatever you hit and make sure it is a Enemy if there are other objects present.

if (other.tag == "Enemy"){
    //do stuff..
}

See Unity - Scripting API: Collider for info about colliders.