Enemy will not move

I have a basic enemy that is suppose to go towards the player but i cant get them to move at all, sometimes it will just move it down in the negative y but nothing else.
Here is my code.
using UnityEngine;
using System.Collections;

public class Enemy0 : MonoBehaviour {
    public int hp;
    public Transform Player;
    public float MoveSpeed;
    public float MaxDist;
    public float MinDist;
    private Rigidbody rb;
    // Use this for initialization
    void Start () {
        rb = GetComponent<Rigidbody>();
        Player = GetComponent<Transform>();
	}

    // Update is called once per frame
    void Update()
    {


        if (Vector3.Distance(transform.position, Player.position) >= MinDist)
        {

            // transform.position += transform.forward * MoveSpeed * Time.deltaTime;
            print(Vector3.Distance(transform.position, Player.position));
           rb.AddRelativeForce(transform.forward * MoveSpeed * Time.deltaTime);


            if (Vector3.Distance(transform.position, Player.position) <= MaxDist)
            {
            }
        }

    }
}

What am i doing wrong? now the rb or position i have tried both and none will work, does anyone have an idea?

I found the main problem, i have a script named rotator so it just rotates the object and looks like this.
using UnityEngine;
using System.Collections;

public class RotatorZ : MonoBehaviour {
    public float rotatespeed;

    // Use this for initialization
    void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
        transform.Rotate(new Vector3(0, 0, rotatespeed) * Time.deltaTime);
    }
}
so since its rotating it will move it but locally and not globally so it just looks really small so any ideas how to fix this?

Do you understand that transform.position is always same as Player.position?
I think you are supposed to link Player variable with player’s gameobject and remove 11 line.

If this operates like a typical ‘enemy’ unit with AI etc why not use
Vector3.MoveTowards(transform.position, Player.position, Time.deltaTime * EnemyBaseMoveSpeed);
The AddRelativeForce function is a physics deal so it would generally have more overhead than movetowards. Though I’ve never used it you may have to face your enemy towards the player before applaying force.