This paper focuses on the problem of scheduling outages to computer systems in complex distributed environments. The interconnected nature of these systems makes scheduling global change very difficult and time consuming, with a high degree of error. In addressing this problem, we describe the constraints on successful outage scheduling. Using these constraints, it describes a solution using Constraint Logic Programming, which is able to deliver rapid schedules for complex architectures. The developed approach is then applied and tested to several real world problems to ascertain its effectiveness and performance.