From what you've just described, it sounds like this will be an annual event. Since there is no plugin that exist that will download each individual students assignment submissions + acquire their grade for every course, have a suggestion ...
since you are moving from Linux to Windows, this would be the perfect time to test that migration. Once one gets a dev site migrated to the other platform, think you'll see that platform makes no difference ... student files are in the sea of files called 'filedir' and not stored by any humanly recognizable name. Someone will still have to query the DB to find the contenhashed file names and their humanly recognizable names and script a way to extract those files while one might also have to change the file names so that their are re-cognized as belonging to the student. You'll also have to query the DB for a grade. Once you have both, the files you can store again but what of the meta data ... the grade/assignment title, details to the assignment, the teacher involved, etc..
Even if one programmed all that, one ends up with a specialized mini-moodle site just for the purpose of archiving.
Seems like a lot time and expense there.
Might be easier to clone active site and archive it ... set it up so that it's internal to private network only, read only, no student access any longer, no teacher access any longer, only admins .... access when needed.
How many request for such information does your entity get in one year?
There's a college on the west coast that spins up a new moodle every academic year ... the previous year is still on line but in an 'archived' setup/state. Teachers and Students can still access for one year but cannot change anything. Site then restricted even more after that one year ... no teacher/student access ... only admins. Am guessing at the end of 10 years, they can finally delete.
And to throw a real monkey wrench into the mix .... got any students from the EU in there?
my 2 cents! ;)
'spirit of sharing', Ken