Cook sausage in a large skillet over medium until browned and crumbled; drain and set aside.
Heat oil in same skillet; cook potatoes and onion 8-10 minutes until potatoes begin softening but aren't fully cooked.
Whisk eggs, milk, salt, pepper, and garlic powder in a large bowl until combined.
Grease a 9x13 inch dish; spread sausage, potato mixture, and half the cheese evenly in bottom.
Pour egg mixture over everything; top with remaining cheese and green onions.
Cover tightly with plastic wrap; refrigerate overnight.
Remove from refrigerator 20 minutes before baking; preheat oven to 350°F.
Remove plastic wrap; cover with foil and bake 35 minutes. Uncover; bake another 15 minutes until eggs set and top is golden brown.
Stand 5 minutes before cutting squares and serving.