This Paper proposes a two-step binary linear programming formulation for task scheduling of a constellation of low-Earth-orbit satellites and demonstrates its applicability and scalability to obtain high-quality solutions using a standard mixed-integer linear programming solver. In this instance, the goal of satellite constellation task scheduling is to allocate each task for the satellites and to determine the task starting times in order to maximize the overall mission performance metric. The scheduling problem is formulated to find the solution by first finding a set of candidate communication time intervals for each satellite/ground-station pair as one of the key constraints and time tabling the observation task to acquire the user-requested data, with the incorporation of key constraints for satellite constellation operation. Numerical experiments are designed for investigating the trends, sensitivity, and characteristics of scheduling outputs based on multiple representative instances. The performance of the scheduling solutions by the proposed two-step binary linear programming method exhibits significant improvement of up to 35% in the number of assignments and the sum of profits over the general greedy algorithm.