Yes, you can shock a green pool without draining.
But it’s not a one-and-done deal. You’ll need to add a heavy dose of pool shock (calcium hypochlorite granules work well), run the pump 24/7, and brush like crazy. The shock kills the algae, then your filter has to catch the dead stuff. That can take days, and you may need to backwash or clean the filter multiple times.
The tricky part: pool chemistry. High pH or low chlorine stabilizer will make the shock useless. Test your water first, adjust pH to 7.2–7.4, and make sure your cyanuric acid isn’t through the roof. If it is, you might be better off draining partially.
Draining is a hassle and risks liner damage or structural issues. Shock and scrub is almost always worth trying first. Just don’t expect overnight results.